in functions/source/KubeManifest/lambda_function.py [0:0]
def handler_init(event):
logger.debug('Received event: %s' % json.dumps(event, default=json_serial))
physical_resource_id = None
manifest_file = None
create_kubeconfig(event['ResourceProperties']['ClusterName'])
if 'HttpProxy' in event['ResourceProperties'].keys() and event['RequestType'] != 'Delete':
enable_proxy(event['ResourceProperties']['HttpProxy'], event['ResourceProperties']['VpcId'])
if 'Manifest' in event['ResourceProperties'].keys():
manifest_file = '/tmp/manifest.json'
if "PhysicalResourceId" in event.keys():
physical_resource_id = event["PhysicalResourceId"]
if type(event['ResourceProperties']['Manifest']) == str:
manifest = generate_name(event, physical_resource_id)
else:
manifest = fix_types(generate_name(event, physical_resource_id))
write_manifest(manifest, manifest_file)
logger.debug("Applying manifest: %s" % json.dumps(manifest, default=json_serial))
elif 'Url' in event['ResourceProperties'].keys():
manifest_file = '/tmp/manifest.json'
url = event['ResourceProperties']["Url"]
if re.match(s3_scheme, url):
response = s3_get(url)
else:
response = http_get(url)
manifest = yaml.safe_load(response)
write_manifest(manifest, manifest_file)
return physical_resource_id, manifest_file