def synth()

in aws_codeseeder/_cfn_seedkit.py [0:0]


def synth(seedkit_name: str, deploy_id: Optional[str] = None, managed_policy_arns: Optional[List[str]] = None) -> str:
    out_dir = create_output_dir("seedkit")
    output_filename = os.path.join(out_dir, FILENAME)

    LOGGER.debug("Reading %s", RESOURCES_FILENAME)
    with open(RESOURCES_FILENAME, "r") as file:
        input_template = load_yaml(file)

    if managed_policy_arns:
        input_template["Resources"]["CodeBuildRole"]["Properties"]["ManagedPolicyArns"] += managed_policy_arns

    output_template = Template(yaml.dump(input_template, Dumper=yaml_dumper.get_dumper()))

    LOGGER.debug("Writing %s", output_filename)
    os.makedirs(out_dir, exist_ok=True)
    with open(output_filename, "w") as file:
        file.write(
            output_template.safe_substitute(
                seedkit_name=seedkit_name,
                account_id=get_account_id(),
                region=get_region(),
                deploy_id=deploy_id if deploy_id else "".join(random.choice(string.ascii_lowercase) for i in range(6)),
                role_prefix="/",
            )
        )

    return output_filename