Source code for betterboto.codebuild

import types
import logging
import time


logger = logging.getLogger(__file__)


[docs]def start_build_and_wait_for_completion(self, **kwargs): """ This will start a build of an AWS CodeBuild Project and wait for it to complete. It will return the result of the build. :param self: codebuild client :param kwargs: these are passed onto the start_build method call :return: codebuild_client.batch_get_builds.response[0] """ build = self.start_build( **kwargs ).get('build') build_id = build.get('id') while build.get('buildStatus') == 'IN_PROGRESS': response = self.batch_get_builds(ids=[build_id]) build = response.get('builds')[0] time.sleep(5) logger.info("Current status: {}".format(build.get('buildStatus'))) return build
def make_better(client): client.start_build_and_wait_for_completion = types.MethodType(start_build_and_wait_for_completion, client) return client