in apply/src/awsqs_kubernetes_resource/utils.py [0:0]
def handler_init(model, session, stack_name, token):
LOG.debug(
"Received model: %s" % json.dumps(model._serialize(), default=json_serial)
)
physical_resource_id = None
manifest_file = "/tmp/manifest.yaml"
if not proxy_needed(model.ClusterName, session):
create_kubeconfig(model.ClusterName, session)
s3_client = session.client("s3")
if (not model.Manifest and not model.Url) or (model.Manifest and model.Url):
raise Exception("Either Manifest or Url must be specified.")
if model.SelfLink:
physical_resource_id = model.SelfLink
if model.Manifest:
manifest_str = model.Manifest
else:
if re.match(s3_scheme, model.Url):
manifest_str = s3_get(model.Url, s3_client)
else:
manifest_str = http_get(model.Url)
manifests = []
input_yaml = list(yaml.safe_load_all(manifest_str))
for manifest in input_yaml:
if len(input_yaml) == 1:
generate_name(manifest, physical_resource_id, stack_name)
add_idempotency_token(manifest, token)
manifests.append(manifest)
write_manifest(manifests, manifest_file)
return physical_resource_id, manifest_file, manifests