in lca-ai-stack/source/lambda_functions/start_codebuild/lambda_start_codebuild.py [0:0]
def poll_create_or_update(event, _):
"""Create or Update Poller"""
resource_type = event["ResourceType"]
helper_data = event["CrHelperData"]
if resource_type == "Custom::CodeBuildRun":
try:
build_id = helper_data["build_id"]
response = CLIENT.batch_get_builds(ids=[build_id])
LOGGER.info(response)
builds = response["builds"]
if not builds:
raise RuntimeError("could not find build")
build = builds[0]
build_status = build["buildStatus"]
LOGGER.info("build status: [%s]", build_status)
if build_status == "SUCCEEDED":
LOGGER.info("returning True")
return True
if build_status == "IN_PROGRESS":
LOGGER.info("returning None")
return None
raise RuntimeError(f"build did not complete - status: [{build_status}]")
except Exception as exception: # pylint: disable=broad-except
LOGGER.error("build poller - exception: %s", exception)
raise
raise RuntimeError(f"Invalid resource type: {resource_type}")