def handler_init()

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