Copy disabled (too large)
Download .txt
Showing preview only (36,412K chars total). Download the full file to get everything.
Repository: awslabs/aws-service-catalog-products
Branch: main
Commit: 69b295f88758
Files: 17327
Total size: 29.8 MB
Directory structure:
gitextract_6v0r_5sn/
├── .github/
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── foundational/
│ ├── README.md
│ ├── account-vending/
│ │ ├── README.md
│ │ ├── example-manifest.yaml
│ │ ├── portfolios/
│ │ │ ├── account-vending-with-aws-control-tower/
│ │ │ │ └── v1/
│ │ │ │ ├── product.template.yaml
│ │ │ │ └── template.drawio
│ │ │ ├── account-vending-with-aws-organizations/
│ │ │ │ └── v1/
│ │ │ │ ├── product.template.yaml
│ │ │ │ └── template.drawio
│ │ │ └── account-vending.yaml
│ │ └── stacks/
│ │ ├── account-vending.yaml
│ │ ├── prereqs-controltower-account/
│ │ │ └── v1/
│ │ │ ├── stack.template.yaml
│ │ │ └── template.drawio
│ │ ├── prereqs-orgs-account/
│ │ │ └── v1/
│ │ │ ├── stack.template.yaml
│ │ │ └── template.drawio
│ │ ├── prereqs-puppet-account/
│ │ │ └── v1/
│ │ │ ├── requirements.txt
│ │ │ ├── src/
│ │ │ │ └── AccountCreationCustomResourceBacker/
│ │ │ │ └── handler.py
│ │ │ ├── stack.template.yaml
│ │ │ └── template.drawio
│ │ └── prereqs-puppet-account-optional/
│ │ └── v1/
│ │ ├── stack.template.yaml
│ │ └── template.drawio
│ ├── amazon-guardduty-multi-account/
│ │ ├── README.md
│ │ ├── example-manifest.yaml
│ │ └── stacks/
│ │ ├── amazon-guardduty-multi-account.yaml
│ │ ├── enabler-and-creator/
│ │ │ ├── enabler-and-creator.drawio
│ │ │ └── v1/
│ │ │ └── stack.template.yaml
│ │ ├── prereqs-orgs-account/
│ │ │ ├── prereqs-orgs-account.drawio
│ │ │ └── v1/
│ │ │ └── stack.template.yaml
│ │ └── prereqs-securitytooling-account/
│ │ ├── prereqs-securitytooling-account.drawio
│ │ └── v1/
│ │ └── stack.template.yaml
│ ├── aws-securityhub-multi-account/
│ │ ├── README.md
│ │ └── stacks/
│ │ ├── aws-securityhub-multi-account.yaml
│ │ ├── enabler-and-creator/
│ │ │ └── v1/
│ │ │ └── stack.template.yaml
│ │ ├── prereqs-orgs-account/
│ │ │ └── v1/
│ │ │ └── stack.template.yaml
│ │ └── prereqs-securitytooling-account/
│ │ └── v1/
│ │ └── stack.template.yaml
│ └── delete-default-networking/
│ ├── example-manifest.yaml
│ └── stacks/
│ ├── delete-default-networking.yaml
│ └── function/
│ └── v1/
│ ├── README.md
│ └── stack.template.yaml
├── operations/
│ ├── codebuild-sns-notifier/
│ │ ├── README.md
│ │ ├── example-manifest.yaml
│ │ └── stacks/
│ │ ├── codebuild-sns-notifier/
│ │ │ └── v1/
│ │ │ └── stack.template.yaml
│ │ └── codebuild-sns-notifier.yaml
│ ├── codecommit-backups/
│ │ ├── README.md
│ │ ├── example-manifest.yaml
│ │ └── stacks/
│ │ ├── codecommit-backups/
│ │ │ └── v1/
│ │ │ └── stack.template.yaml
│ │ └── codecommit-backups.yaml
│ └── service-catalog-puppet-pipeline-logs-exporter/
│ ├── README.md
│ ├── example-manifest.yaml
│ └── stacks/
│ ├── service-catalog-puppet-pipeline-logs-exporter/
│ │ ├── service-catalog-puppet-pipeline-logs-exporter.drawio
│ │ └── v1/
│ │ └── stack.template.yaml
│ └── service-catalog-puppet-pipeline-logs-exporter.yaml
├── reference/
│ ├── aws-cloudformation-resources-all-fields/
│ │ ├── AWS-ACMPCA-Certificate/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ACMPCA-CertificateAuthority/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ACMPCA-CertificateAuthorityActivation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AccessAnalyzer-Analyzer/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AmazonMQ-Broker/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AmazonMQ-Configuration/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AmazonMQ-ConfigurationAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Amplify-App/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Amplify-Branch/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Amplify-Domain/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Account/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-ApiKey/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Authorizer/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-BasePathMapping/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-ClientCertificate/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Deployment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-DocumentationPart/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-DocumentationVersion/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-DomainName/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-GatewayResponse/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Method/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Model/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-RequestValidator/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Resource/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-RestApi/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-Stage/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-UsagePlan/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-UsagePlanKey/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGateway-VpcLink/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Api/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-ApiMapping/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Authorizer/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Deployment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-DomainName/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Integration/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-IntegrationResponse/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Model/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Route/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-RouteResponse/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApiGatewayV2-Stage/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppConfig-Application/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppConfig-ConfigurationProfile/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppConfig-Deployment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppConfig-DeploymentStrategy/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppConfig-Environment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppConfig-HostedConfigurationVersion/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppMesh-Mesh/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppMesh-Route/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppMesh-VirtualNode/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppMesh-VirtualRouter/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppMesh-VirtualService/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-DirectoryConfig/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-Fleet/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-ImageBuilder/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-Stack/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-StackFleetAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-StackUserAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppStream-User/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-ApiCache/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-ApiKey/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-DataSource/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-FunctionConfiguration/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-GraphQLApi/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-GraphQLSchema/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AppSync-Resolver/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApplicationAutoScaling-ScalableTarget/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-ApplicationAutoScaling-ScalingPolicy/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Athena-DataCatalog/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Athena-NamedQuery/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Athena-WorkGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AutoScaling-AutoScalingGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AutoScaling-LaunchConfiguration/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AutoScaling-LifecycleHook/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AutoScaling-ScalingPolicy/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AutoScaling-ScheduledAction/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-AutoScalingPlans-ScalingPlan/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Backup-BackupPlan/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Backup-BackupSelection/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Backup-BackupVault/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Batch-ComputeEnvironment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Batch-JobDefinition/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Batch-JobQueue/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Budgets-Budget/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CE-CostCategory/
│ │ │ └── 16.1.0/
│ │ │ └── product.template-us-east-1.yaml
│ │ ├── AWS-Cassandra-Keyspace/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cassandra-Table/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CertificateManager-Certificate/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Chatbot-SlackChannelConfiguration/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cloud9-EnvironmentEC2/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFormation-CustomResource/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFormation-Macro/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFormation-Stack/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFormation-WaitCondition/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFormation-WaitConditionHandle/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFront-CloudFrontOriginAccessIdentity/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFront-Distribution/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudFront-StreamingDistribution/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudTrail-Trail/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudWatch-Alarm/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudWatch-AnomalyDetector/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudWatch-CompositeAlarm/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudWatch-Dashboard/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CloudWatch-InsightRule/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeBuild-Project/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeBuild-ReportGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeBuild-SourceCredential/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeCommit-Repository/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeDeploy-Application/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeDeploy-DeploymentConfig/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeDeploy-DeploymentGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeGuruProfiler-ProfilingGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodePipeline-CustomActionType/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodePipeline-Pipeline/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodePipeline-Webhook/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeStar-GitHubRepository/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeStarConnections-Connection/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-CodeStarNotifications-NotificationRule/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-IdentityPool/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-IdentityPoolRoleAttachment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPool/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolClient/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolDomain/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolIdentityProvider/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolResourceServer/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolRiskConfigurationAttachment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolUICustomizationAttachment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolUser/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Cognito-UserPoolUserToGroupAttachment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-AggregationAuthorization/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-ConfigRule/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-ConfigurationAggregator/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-ConfigurationRecorder/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-ConformancePack/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-DeliveryChannel/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-OrganizationConfigRule/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-OrganizationConformancePack/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Config-RemediationConfiguration/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DAX-Cluster/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DAX-ParameterGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DAX-SubnetGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DLM-LifecyclePolicy/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DMS-Certificate/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DMS-Endpoint/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DMS-EventSubscription/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DMS-ReplicationInstance/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DMS-ReplicationSubnetGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DMS-ReplicationTask/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DataPipeline-Pipeline/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Detective-Graph/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-Detective-MemberInvitation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DirectoryService-MicrosoftAD/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DirectoryService-SimpleAD/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DocDB-DBCluster/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DocDB-DBClusterParameterGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DocDB-DBInstance/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DocDB-DBSubnetGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-DynamoDB-Table/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-CapacityReservation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-ClientVpnAuthorizationRule/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-ClientVpnEndpoint/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-ClientVpnRoute/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-ClientVpnTargetNetworkAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-CustomerGateway/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-DHCPOptions/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-EC2Fleet/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-EIP/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-EIPAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-EgressOnlyInternetGateway/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-FlowLog/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-GatewayRouteTableAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-Host/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-Instance/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-InternetGateway/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-LaunchTemplate/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-LocalGatewayRoute/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-LocalGatewayRouteTableVPCAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-NatGateway/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-NetworkAcl/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-NetworkAclEntry/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-NetworkInterface/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-NetworkInterfaceAttachment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-NetworkInterfacePermission/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-PlacementGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-PrefixList/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-Route/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-RouteTable/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SecurityGroup/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SecurityGroupEgress/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SecurityGroupIngress/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SpotFleet/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-Subnet/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SubnetCidrBlock/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SubnetNetworkAclAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-SubnetRouteTableAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TrafficMirrorFilter/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TrafficMirrorFilterRule/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TrafficMirrorSession/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TrafficMirrorTarget/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TransitGateway/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TransitGatewayAttachment/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TransitGatewayRoute/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TransitGatewayRouteTable/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TransitGatewayRouteTableAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-TransitGatewayRouteTablePropagation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-VPC/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-VPCCidrBlock/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-VPCDHCPOptionsAssociation/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-VPCEndpoint/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-af-south-1.yaml
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-south-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-west-1.yaml
│ │ │ └── product.template-us-west-2.yaml
│ │ ├── AWS-EC2-VPCEndpointConnectionNotification/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ └── product.template-us-east-1.yaml
│ │ ├── AWS-EC2-VPCEndpointService/
│ │ │ └── 16.1.0/
│ │ │ ├── product.template-ap-east-1.yaml
│ │ │ ├── product.template-ap-northeast-1.yaml
│ │ │ ├── product.template-ap-northeast-2.yaml
│ │ │ ├── product.template-ap-northeast-3.yaml
│ │ │ ├── product.template-ap-south-1.yaml
│ │ │ ├── product.template-ap-southeast-1.yaml
│ │ │ ├── product.template-ap-southeast-2.yaml
│ │ │ ├── product.template-ca-central-1.yaml
│ │ │ ├── product.template-eu-central-1.yaml
│ │ │ ├── product.template-eu-north-1.yaml
│ │ │ ├── product.template-eu-west-1.yaml
│ │ │ ├── product.template-eu-west-2.yaml
│ │ │ ├── product.template-eu-west-3.yaml
│ │ │ ├── product.template-me-south-1.yaml
│ │ │ ├── product.template-sa-east-1.yaml
│ │ │ ├── product.template-us-east-1.yaml
│ │ │ ├── product.template-us-east-2.yaml
│ │ │ ├── product.template-us-w
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
*Issue #, if available:*
*Description of changes:*
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
================================================
FILE: .gitignore
================================================
.idea
*.iml
node_modules/
dist/
ignored
.DS_Store
================================================
FILE: CODE_OF_CONDUCT.md
================================================
## Code of Conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
opensource-codeofconduct@amazon.com with any additional questions or comments.
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing Guidelines
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
documentation, we greatly value feedback and contributions from our community.
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
information to effectively respond to your bug report or contribution.
## Reporting Bugs/Feature Requests
We welcome you to use the GitHub issue tracker to report bugs or suggest features.
When filing an issue, please check [existing open](https://github.com/awslabs/aws-service-catalog-products/issues), or [recently closed](https://github.com/awslabs/aws-service-catalog-products/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
* A reproducible test case or series of steps
* The version of our code being used
* Any modifications you've made relevant to the bug
* Anything unusual about your environment or deployment
## Contributing via Pull Requests
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
To send us a pull request, please:
1. Fork the repository.
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
3. Ensure local tests pass.
4. Commit to your fork using clear commit messages.
5. Send us a pull request, answering any default questions in the pull request interface.
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/awslabs/aws-service-catalog-products/labels/help%20wanted) issues is a great place to start.
## Code of Conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
opensource-codeofconduct@amazon.com with any additional questions or comments.
## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
## Licensing
See the [LICENSE](https://github.com/awslabs/aws-service-catalog-products/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
================================================
FILE: LICENSE
================================================
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: README.md
================================================
## AWS Service Catalog Products
This repository contains a number of solutions that can be easily deployed by the Service Catalog Tools
([aws-service-catalog-factory](https://github.com/awslabs/aws-service-catalog-factory) and
[aws-service-catalog-puppet](https://github.com/awslabs/aws-service-catalog-puppet)). The solutions are grouped by
functional area:
- foundational - these are the solutions we recommend you use when building a foundation in AWS
- operations - these are the solutions we recommend to help you with operations
- reference - these are sample templates useful when you are learning how to write AWS Cloudformation templates
- unsorted - these are solutions that have been tested but not yet classified or standardised
## Getting started
Within the functional area directories you will see a list of solutions:
```bash
ls -la foundational
drwxr-xr-x 8 user group 256 18 Nov 21:49 .
drwxr-xr-x 15 user group 480 29 Nov 09:55 ..
drwxr-xr-x 7 user group 224 19 Nov 14:39 amazon-guardduty-multi-account
drwxr-xr-x 6 user group 192 19 Nov 14:44 aws-securityhub-multi-account
drwxr-xr-x 6 user group 192 19 Nov 12:58 delete-default-networking
```
Each solution should be deployable independently and each solution should be deployable with all other solutions in this
repository without issue.
Each solution has the same consistent folder structure:
```bash
ls -la foundational/amazon-guardduty-multi-account
drwxr-xr-x 7 user group 224 19 Nov 14:39 .
drwxr-xr-x 8 user group 256 18 Nov 21:49 ..
-rw-r--r-- 1 user group 0 18 Nov 21:43 README.md
drwxr-xr-x 6 user group 192 19 Nov 14:07 stacks
drwxr-xr-x 6 user group 192 19 Nov 14:07 portfolios
drwxr-xr-x 6 user group 192 19 Nov 14:07 apps
drwxr-xr-x 6 user group 192 19 Nov 14:07 workspaces
-rw-r--r-- 1 user group 2602 19 Nov 14:39 example-manifest.yaml
```
- The README.md explains what the solution does.
- The stacks directory is the source code for the parts of the solution that should be created as stacks
- The portfolios directory is the source code for the parts of the solution that should be created as products
- The apps directory is the source code for the parts of the solution that should be created as CDK apps
- The workspaces directory is the source code for the parts of the solution that should be created as Terraform workspaces
- The example-manifest.yaml is a valid YAML file providing an example of how to deploy the solution
Within each of the directorys stacks, portfolios, apps, workspaces you will find a file named
amazon-guardduty-multi-account.yaml. Each of the amazon-guardduty-multi-account.yaml files is a valid factory YAML file
that can be used to configure your install to build the parts of the solution that are needed.
### Importing a solution
To import a solution you should copy each of the YAML files from its stacks, apps, workspaces and portfolios directories
into the matching directory in your ServiceCatalogFactory repo. If you are not going to be using AWS CodeCommit for the
source directory you will need to change that configuration. Once you are ready commit the changes and run the factory
pipeline. The new pipelines will be created and you are now ready to copy over the source code for the different parts.
### Deploying a solution
To deploy a solution you should copy the contents of the example-manifest.yaml into your ServiceCatalogPuppet repo into
the path manifests/<functional_area>.yaml. If there is a file in that path already you should merge the contents.
Ensure you are happy with the parameters specified and the tags used before committing and pushing the change.
### Contributing
If you have a solution you would like to contribute please
[raise an issue](https://github.com/awslabs/aws-service-catalog-products/issues/new) to see verify if a similar solution
existing already or is in active development.
Once you are ready to get started please fork the repository and complete the following TODOs:
1. choose which or create a new functional area your solution should be added to (see above for descriptions)
2. choose a unique and descriptive name - eg amazon-guardduty-multi-account
3. create a foundational/amazon-guardduty-multi-account/README.md
4. read over the programming standards section below
5. build out your solution in the directories foundational/amazon-guardduty-multi-account/stacks, foundational/amazon-guardduty-multi-account/apps, foundational/amazon-guardduty-multi-account/workspaces, foundational/amazon-guardduty-multi-account/portfolios
6. create each factory YAML file in each directory - eg. foundational/amazon-guardduty-multi-account/stacks/amazon-guardduty-multi-account.yaml
7. create an foundational/amazon-guardduty-multi-account/example-manifest.yaml file containing each part of the solution and each of the parameters you have created for each part.
8. raise a PR
## Programming Standards
Please read the following standards and follow them when implementing solutions for this repo
### General and Structure
1. You should not make changes to previously shared parts of your solution - you should create a new version of that part.
2. For each part of your solution that will be provisioned by the Service Catalog Tools you should use stacks, apps or workspaces - portfolios should be reserved for self service use cases.
3. When building your solution you should favour mono repos over poly repos - with the exception of when you are using portfolios.
4. When building solutions where parts need to be provisioned into different accounts try to limit the number of parts needed for each account to 1. This will reduce the complexity for users wishing to deploy your solution.
5. Each solution should be configured to use AWS CodeCommit as a git source to ensure a consistent experience when users import.
### Common parameters and tags
When writing your solution ensure you are using the autogenerated / provided parameters:
- SCTAccountId - puppet and factory account id
- SCTManifestAccounts - JSON encoded list of all accounts included in the manifest (including accounts in OUs specified) comprising of account_id and email attributes
- SCTManifestSpokes - same as SCTManifestAccounts but without including the SCT account.
- SCTConfigRegions - JSON encoded list of regions specified in the config
You should also use the following tags in your example-manifest.yaml:
- role:sct - the account containing the Service Catalog Tools
- role:org_management - the AWS Organizations management account
- role:securitytooling - the account designated for security tooling
- role:spoke - spoke accounts
### AWS CloudFormation
1. All AWS CloudFormation parameter and output names should be prefixed with the solution name to avoid parameter clashes.
2. All AWS CloudFormation templates should pass a CFN Nag check
3. Each AWS CloudFormation template should have a description
4. Each AWS CloudFormation template parameter should have a description
5. Each AWS CloudFormation template output should have a description
### AWS IAM Resources
1. When creating IAM resources you should allow others to configure the path and role name via parameters.
2. There should be default values for IAM path and role name values
3. IAM path default values should be the same value across all parts of the solution and should contain the solution category and an indication of the solution name in it.
4. IAM roles should follow least privilege or users should be able to specify an IAM boundary.
### AWS Lambda
1. AWS Lambda function dependencies should be pinned to specific versions.
2. AWS Lambda functions should allow the configuration of log level via an environmental variable.
## Where is the old content
The previous master branch is still available as the branch archive
## License Summary
This sample code is made available under the MIT-0 license. See the LICENSE file.
================================================
FILE: foundational/README.md
================================================
## Global Parameters
SecurityToolingAccountId
FinanceAccountId
================================================
FILE: foundational/account-vending/README.md
================================================
# Account Vending
This solution is to be deployed using the service catalog tools. Once deployed it will allow you to create new AWS
accounts using the AWS Organizations API or via the AWS Control Tower Account Factory (using AWS Service Catalog).
## Setting up
Before you can create accounts you will need to provision stacks in the stacks directory. To create accounts you will
need to provision the products in the portfolios directory.
### Setting up the stacks
Before provisioning the stacks you will need to create pipelines for them. To do this copy the
stacks/account-vending.yaml file into the stacks directory of your ServiceCatalogFactory git repo. It should look like
this:
```
tree ServiceCatalogFactory
ServiceCatalogFactory
└── stacks
└── account-vending.yaml
```
You will most likely have other files in the repository - this is okay.
Once you have copied the file edit it to declare where your source code will be. The account-vending.yaml file uses
paths for the source code. You do not have to do so and are free to change it. You can read more about
paths / monorepos here: https://service-catalog-tools-workshop.com/every-day-use/using-a-mono-repo.html
Once you have done that you should upload/create the source code for the four stacks where ever you decided.
Once you have done that you can commit and push your ServiceCatalogFactory changes and the solution will execute. Once
completed you will have four new pipelines that will run creating artefacts for the four stacks:
- prereqs-puppet-account
- prereqs-controltower-account
- prereqs-orgs-account
- prereqs-puppet-account-optional
### Creating the Service Catalog Products
This is very similar to the creating of the stacks. You will need to copy the portfolios/account-vending.yaml file
into the portfolios directory of your ServiceCatalogFactory repository. Within the portfolios/account-vending.yaml file
you will need to update the source details to declare where your source code will be. This works the same as stacks.
You will need to upload/create the source code for the two products where ever you decided.
Once you have done that you can commit and push your ServiceCatalogFactory changes and the solution will execute. Once
completed you will have four new pipelines that will run creating artefacts for the two products:
account-vending-with-aws-organizations
account-vending-with-aws-control-tower
You can verify this by checking Service Catalog to see the products are there.
## Provisioning the stacks
When accounts are created using AWS Service Catalog or AWS Control Tower this solution will ensure we wait for the
account to be created, then bootstrap it and then run the single account pipeline for it. This will ensure it is ready
for use by the end user.
To do all of this there is a step function and some helper lambda functions. To ensure they are provisioned you will
need to provision the stacks we created in the earlier step. To provision the stacks you will need to add the following
to your manifest file:
```yaml
parameters:
AccountVendingIAMRolesPath:
default: /foundational/account-vending/
stacks:
account-vending-prereqs-controltower-account:
name: account-vending-prereqs-controltower-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
parameters:
AccountVendingControlTowerRoleName:
default: AccountVendingOrgsRole
deploy_to:
tags:
- tag: 'role:controltower_management'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingAccountVendingControlTowerRoleArn"
stack_output: AccountVendingAccountVendingControlTowerRoleArn
account-vending-prereqs-orgs-account:
name: account-vending-prereqs-orgs-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
parameters:
AccountVendingOrgsRoleName:
default: AccountVendingOrgsRoleName
AWSOrganizationsCrossAccountRoleName:
default: OrganizationAccountAccessRole
deploy_to:
tags:
- tag: 'role:orgs_management'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingOrgsRoleArn"
stack_output: AccountVendingOrgsRoleArn
account-vending-prereqs-puppet-account-optional:
name: account-vending-prereqs-puppet-account-optional
version: v1
execution: hub
parameters:
AccountVendingAccountNotificationCreatedTopicName:
default: AccountVendingAccountNotificationCreatedTopic
deploy_to:
tags:
- tag: 'role:sct'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingAccountNotificationCreatedTopicArn"
stack_output: AccountVendingAccountNotificationCreatedTopicArn
account-vending-prereqs-puppet-account:
name: account-vending-prereqs-puppet-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
- CAPABILITY_AUTO_EXPAND
depends_on:
- name: account-vending-prereqs-controltower-account
affinity: stack
type: stack
- name: account-vending-prereqs-orgs-account
affinity: stack
type: stack
- name: account-vending-prereqs-puppet-account-optional
affinity: stack
type: stack
parameters:
AccountVendingIAMRolesPath:
default: /foundational/account-vending/
AccountVendingAccountOrganizationsRoleArn:
ssm:
name: "/foundational/account-vending/AccountVendingOrgsRoleArn"
AccountVendingControlTowerRoleArn:
ssm:
name: "/foundational/account-vending/AccountVendingAccountVendingControlTowerRoleArn"
AccountVendingAccountCreationCustomResourceBackerFunctionName:
default: AccountCreationCustomResourceBacker
AccountCreationCustomResourceBackerRoleName:
default: AccountCreationCustomResourceBackerRole
AccountVendingAccountCreationSNSTopicArn:
ssm:
name: "/foundational/account-vending/AccountVendingAccountNotificationCreatedTopicArn"
AccountVendingStateMachineName:
default: account-vending-state-machine
AccountVendingStateMachineRoleName:
default: StateMachineRole
AccountVendingInputValidatorFunctionName:
default: InputValidator
AccountVendingInputValidatorRoleName:
default: InputValidatorRole
AccountVendingOrganizationsAccountCreatorFunctionName:
default: OrganizationsAccountCreator
AccountVendingOrganizationsAccountCreatorRoleName:
default: OrganizationsAccountCreatorRole
AccountVendingOrganizationsAccountWaiterFunctionName:
default: OrganizationsAccountWaiter
AccountVendingOrganizationsAccountWaiterRoleName:
default: OrganizationsAccountWaiterRole
AccountVendingControlTowerAccountCreatorFunctionName:
default: ControlTowerAccountCreator
AccountVendingControlTowerAccountCreatorRoleName:
default: ControlTowerAccountCreatorRole
AccountVendingControlTowerAccountWaiterFunctionName:
default: ControlTowerAccountWaiter
AccountVendingControlTowerAccountWaiterRoleName:
default: ControlTowerAccountWaiterRole
AccountVendingSubscriptionWaiterFunctionName:
default: SubscriptionWaiter
AccountVendingSubscriptionWaiterRoleName:
default: SubscriptionWaiterRole
deploy_to:
tags:
- tag: 'role:sct'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingAccountCreationCustomResourceBackerArn"
stack_output: AccountVendingAccountCreationCustomResourceBackerArn
```
We recommend you create a new file named ServiceCatalogPuppet/manifests/account-vending.yaml so the resources needed for
account vending are kept together. Please note you will to verify the deploy_to statements in the snippet to make sure
you have matches for your Organization / Control Tower management account and your SCT account. You may need to add
tags to these accounts or you may wish to update the tags in the snippet.
Once you have added this file you can commit and push your ServiceCatalogPuppet repository changes. When the solution
runs the needed stacks will be created and you are ready to create an account!
### Creating an account using AWS Control Tower
To create an account using AWS Control Tower you will need to provision the Service Catalog product named
account-vending-account-with-aws-control-tower. This product has parameters that you would expect for account creation
and it has a parameter named AccountVendingAccountCreationCustomResourceBackerArn. If you followed the instructions
above the value of parameter will be in AWS Systems Manager in the parameter store as a parameter with the name
/foundational/account-vending/AccountVendingAccountCreationCustomResourceBackerArn. When you provision the product the
account will be created. If you provide account details for an already created account the solution will resume the
account creation process.
### Creating an account using AWS Organizations
To create an account using AWS Organizations you will need to provision the Service Catalog product named
account-vending-account-with-aws-organizations. This product has parameters that you would expect for account creation
and it has a parameter named AccountVendingAccountCreationCustomResourceBackerArn. If you followed the instructions
above the value of parameter will be in AWS Systems Manager in the parameter store as a parameter with the name
/foundational/account-vending/AccountVendingAccountCreationCustomResourceBackerArn. When you provision the product the
account will be created. If you provide account details for an already created account the solution will resume the
account creation process.
================================================
FILE: foundational/account-vending/example-manifest.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
parameters:
AccountVendingIAMRolesPath:
default: /foundational/account-vending/
stacks:
account-vending-prereqs-controltower-account:
name: account-vending-prereqs-controltower-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
parameters:
AccountVendingControlTowerRoleName:
default: AccountVendingOrgsRole
deploy_to:
tags:
- tag: 'role:controltower_management'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingAccountVendingControlTowerRoleArn"
stack_output: AccountVendingAccountVendingControlTowerRoleArn
account-vending-prereqs-orgs-account:
name: account-vending-prereqs-orgs-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
parameters:
AccountVendingOrgsRoleName:
default: AccountVendingOrgsRoleName
AWSOrganizationsCrossAccountRoleName:
default: OrganizationAccountAccessRole
deploy_to:
tags:
- tag: 'role:orgs_management'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingOrgsRoleArn"
stack_output: AccountVendingOrgsRoleArn
account-vending-prereqs-puppet-account-optional:
name: account-vending-prereqs-puppet-account-optional
version: v1
execution: hub
parameters:
AccountVendingAccountNotificationCreatedTopicName:
default: AccountVendingAccountNotificationCreatedTopic
deploy_to:
tags:
- tag: 'role:sct'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingAccountNotificationCreatedTopicArn"
stack_output: AccountVendingAccountNotificationCreatedTopicArn
account-vending-prereqs-puppet-account:
name: account-vending-prereqs-puppet-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
- CAPABILITY_AUTO_EXPAND
depends_on:
- name: account-vending-prereqs-controltower-account
affinity: stack
type: stack
- name: account-vending-prereqs-orgs-account
affinity: stack
type: stack
- name: account-vending-prereqs-puppet-account-optional
affinity: stack
type: stack
parameters:
AccountVendingIAMRolesPath:
default: /foundational/account-vending/
AccountVendingAccountOrganizationsRoleArn:
ssm:
name: "/foundational/account-vending/AccountVendingOrgsRoleArn"
AccountVendingControlTowerRoleArn:
ssm:
name: "/foundational/account-vending/AccountVendingAccountVendingControlTowerRoleArn"
AccountVendingAccountCreationCustomResourceBackerFunctionName:
default: AccountCreationCustomResourceBacker
AccountCreationCustomResourceBackerRoleName:
default: AccountCreationCustomResourceBackerRole
AccountVendingAccountCreationSNSTopicArn:
ssm:
name: "/foundational/account-vending/AccountVendingAccountNotificationCreatedTopicArn"
AccountVendingStateMachineName:
default: account-vending-state-machine
AccountVendingStateMachineRoleName:
default: StateMachineRole
AccountVendingInputValidatorFunctionName:
default: InputValidator
AccountVendingInputValidatorRoleName:
default: InputValidatorRole
AccountVendingOrganizationsAccountCreatorFunctionName:
default: OrganizationsAccountCreator
AccountVendingOrganizationsAccountCreatorRoleName:
default: OrganizationsAccountCreatorRole
AccountVendingOrganizationsAccountWaiterFunctionName:
default: OrganizationsAccountWaiter
AccountVendingOrganizationsAccountWaiterRoleName:
default: OrganizationsAccountWaiterRole
AccountVendingControlTowerAccountCreatorFunctionName:
default: ControlTowerAccountCreator
AccountVendingControlTowerAccountCreatorRoleName:
default: ControlTowerAccountCreatorRole
AccountVendingControlTowerAccountWaiterFunctionName:
default: ControlTowerAccountWaiter
AccountVendingControlTowerAccountWaiterRoleName:
default: ControlTowerAccountWaiterRole
AccountVendingSubscriptionWaiterFunctionName:
default: SubscriptionWaiter
AccountVendingSubscriptionWaiterRoleName:
default: SubscriptionWaiterRole
deploy_to:
tags:
- tag: 'role:sct'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/account-vending/AccountVendingAccountCreationCustomResourceBackerArn"
stack_output: AccountVendingAccountCreationCustomResourceBackerArn
================================================
FILE: foundational/account-vending/portfolios/account-vending-with-aws-control-tower/v1/product.template.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Transform: AWS::Serverless-2016-10-31
AWSTemplateFormatVersion: "2010-09-09"
Description: |
{"framework": "servicecatalog-products", "role": "product", "product-set": "account-vending", "product": "account-vending-with-aws-control-tower", "version": "v1"}
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: "Account Details"
Parameters:
- AccountName
- AccountEmail
- SSOUserFirstName
- SSOUserLastName
- SSOUserEmail
- ManagedOrganizationalUnit
- Label:
default: "Settings"
Parameters:
- ShouldWaitForAccountSubscriptionCreateComplete
- ShouldBootstrapAccount
- ShouldRunSingleAccountPipeline
- ShouldNotifiyOnCompletion
- AccountVendingAccountCreationCustomResourceBackerArn
Parameters:
AccountName:
Type: String
AccountEmail:
Type: String
SSOUserFirstName:
Type: String
SSOUserLastName:
Type: String
SSOUserEmail:
Type: String
ManagedOrganizationalUnit:
Type: String
ShouldWaitForAccountSubscriptionCreateComplete:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
ShouldBootstrapAccount:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
ShouldRunSingleAccountPipeline:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
ShouldNotifiyOnCompletion:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
AccountVendingAccountCreationCustomResourceBackerArn:
Type: String
Resources:
Account:
Type: Custom::Account
Properties:
ServiceToken: !Ref AccountVendingAccountCreationCustomResourceBackerArn
AccountName: !Ref AccountName
AccountEmail: !Ref AccountEmail
SSOUserFirstName: !Ref SSOUserFirstName
SSOUserLastName: !Ref SSOUserLastName
SSOUserEmail: !Ref SSOUserEmail
ManagedOrganizationalUnit: !Ref ManagedOrganizationalUnit
ShouldWaitForAccountSubscriptionCreateComplete: !Ref ShouldWaitForAccountSubscriptionCreateComplete
ShouldBootstrapAccount: !Ref ShouldBootstrapAccount
ShouldRunSingleAccountPipeline: !Ref ShouldRunSingleAccountPipeline
ShouldNotifiyOnCompletion: !Ref ShouldNotifiyOnCompletion
AccountCreationMethod: "AWSControlTower"
Outputs:
AccountId:
Value: !Ref Account
================================================
FILE: foundational/account-vending/portfolios/account-vending-with-aws-control-tower/v1/template.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="Account" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.account;" vertex="1" parent="1"><mxGeometry width="50" height="50" as="geometry"/></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/account-vending/portfolios/account-vending-with-aws-organizations/v1/product.template.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
AWSTemplateFormatVersion: "2010-09-09"
Description: |
{"framework": "servicecatalog-products", "role": "product", "product-set": "account-vending", "product": "account-vending-with-aws-organizations", "version": "v1"}
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: "Account Details"
Parameters:
- Email
- AccountName
- RoleName
- IamUserAccessToBilling
- TargetOrganizationalUnitId
- Label:
default: "Settings"
Parameters:
- ShouldWaitForAccountSubscriptionCreateComplete
- ShouldBootstrapAccount
- ShouldRunSingleAccountPipeline
- ShouldNotifiyOnCompletion
- AccountCreationCustomResourceBackerArn
Parameters:
Email:
Type: String
AccountName:
Type: String
RoleName:
Type: String
IamUserAccessToBilling:
Type: String
AllowedValues:
- 'ALLOW'
- 'DENY'
TargetOrganizationalUnitId:
Type: String
ShouldWaitForAccountSubscriptionCreateComplete:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
ShouldBootstrapAccount:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
ShouldRunSingleAccountPipeline:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
ShouldNotifiyOnCompletion:
Type: String
Default: 'true'
AllowedValues:
- 'true'
- 'false'
AccountCreationCustomResourceBackerArn:
Type: String
Resources:
Account:
Type: Custom::Account
Properties:
ServiceToken: !Ref AccountCreationCustomResourceBackerArn
Email: !Ref Email
AccountName: !Ref AccountName
RoleName: !Ref RoleName
IamUserAccessToBilling: !Ref IamUserAccessToBilling
TargetOrganizationalUnitId: !Ref TargetOrganizationalUnitId
ShouldWaitForAccountSubscriptionCreateComplete: !Ref ShouldWaitForAccountSubscriptionCreateComplete
ShouldBootstrapAccount: !Ref ShouldBootstrapAccount
ShouldRunSingleAccountPipeline: !Ref ShouldRunSingleAccountPipeline
ShouldNotifiyOnCompletion: !Ref ShouldNotifiyOnCompletion
AccountCreationMethod: "AWSOrganizations"
Outputs:
AccountId:
Value: !Ref Account
================================================
FILE: foundational/account-vending/portfolios/account-vending-with-aws-organizations/v1/template.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="Account" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.account;" vertex="1" parent="1"><mxGeometry width="50" height="50" as="geometry"/></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/account-vending/portfolios/account-vending.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Schema: factory-2019-04-01
Portfolios:
- DisplayName: account-vending
Description: account creation products
ProviderName: central-it-team
Products:
- Name: account-vending-account-with-aws-control-tower
Owner: central-it@customer.com
Description: Create an account using AWS Control Tower
Distributor: central-it-team
SupportDescription: Contact us on Chime for help
SupportEmail: central-it-team@example.com
SupportUrl: https://wiki.customer.com/central-it-team/self-service/account-iam
Tags:
- Key: product-set
Value: account-vending
Versions:
- Name: v1
Description: Create an account using AWS Control Tower
Active: True
Source:
Provider: CodeCommit
Path: portfolios/account-vending-with-aws-control-tower/v1
Configuration:
RepositoryName: account-vending
BranchName: main
Portfolios:
- account-vending
- Name: account-vending-account-with-aws-organizations
Owner: central-it@customer.com
Description: Create an account using AWS Organizations
Distributor: central-it-team
SupportDescription: Contact us on Chime for help
SupportEmail: central-it-team@example.com
SupportUrl: https://wiki.customer.com/central-it-team/self-service/account-iam
Options:
ShouldCFNNag: True
Tags:
- Key: product-set
Value: account-vending
Versions:
- Name: v1
Description: Create an account using AWS Organizations
Active: True
Source:
Provider: CodeCommit
Path: portfolios/account-vending-with-aws-organizations/v1
Configuration:
RepositoryName: account-vending
BranchName: main
Portfolios:
- account-vending
================================================
FILE: foundational/account-vending/stacks/account-vending.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Schema: factory-2019-04-01
Stacks:
- Name: account-vending-prereqs-controltower-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-controltower-account/v1
Configuration:
RepositoryName: account-vending
BranchName: main
- Name: account-vending-prereqs-orgs-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-orgs-account/v1
Configuration:
RepositoryName: account-vending
BranchName: main
- Name: account-vending-prereqs-puppet-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-puppet-account/v1
Configuration:
RepositoryName: account-vending
BranchName: main
Stages:
Package:
BuildSpec: |
version: 0.2
phases:
install:
runtime-versions:
python: 3.x
build:
commands:
- cd $SOURCE_PATH
- pip install -r requirements.txt -t src/AccountCreationCustomResourceBacker
{% for region in ALL_REGIONS %}
- aws cloudformation package --template $(pwd)/stack.template.yaml --s3-bucket sc-factory-artifacts-${ACCOUNT_ID}-{{ region }} --s3-prefix ${STACK_NAME} --output-template-file stack.template-{{ region }}.yaml
{% endfor %}
artifacts:
files:
- '*'
- '**/*'
- Name: account-vending-prereqs-puppet-account-optional
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-puppet-account-optional/v1
Configuration:
RepositoryName: account-vending
BranchName: main
================================================
FILE: foundational/account-vending/stacks/prereqs-controltower-account/v1/stack.template.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
AWSTemplateFormatVersion: "2010-09-09"
Description: |
{"framework": "servicecatalog-products", "role": "product", "product-set": "account-vending", "product": "prereqs-controltower-account", "version": "v1"}
Parameters:
SCTAccountId:
Type: String
AccountVendingControlTowerRoleName:
Type: String
Default: AccountVendingOrgsRole
AccountVendingIAMRolesPath:
Type: String
Default: /foundational/account-vending/
Resources:
AccountVendingControlTowerRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingControlTowerRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
AWS: !Sub "arn:aws:iam::${SCTAccountId}:root"
Action:
- "sts:AssumeRole"
Policies:
- PolicyName: PermissionsNeededForServiceCatalog
PolicyDocument:
Statement:
- Effect: Allow
Action:
- servicecatalog:SearchProducts
- servicecatalog:DescribeProduct
Resource: "*"
- PolicyName: PermissionsNeededForSpokeExecution
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: "arn:aws:iam::*:role/AWSControlTowerExecution"
- PolicyName: PermissionsNeededForControlTower
PolicyDocument:
Statement:
- Effect: Allow
Action:
- servicecatalog:DescribeProvisionedProduct
- servicecatalog:GetProvisionedProductOutputs
- servicecatalog:ProvisionProduct
- sso:GetProfile
- sso:CreateProfile
- sso:UpdateProfile
- sso:AssociateProfile
- sso:CreateApplicationInstance
- sso:GetSSOStatus
- sso:GetTrust
- sso:CreateTrust
- sso:UpdateTrust
- sso:GetPeregrineStatus
- sso:GetApplicationInstance
- sso:ListDirectoryAssociations
- sso:ListPermissionSets
- sso:GetPermissionSet
- sso:ProvisionApplicationInstanceForAWSAccount
- sso:ProvisionApplicationProfileForAWSAccountInstance
- sso:ProvisionSAMLProvider
- sso:ListProfileAssociations
- sso-directory:ListMembersInGroup
- sso-directory:AddMemberToGroup
- sso-directory:SearchGroups
- sso-directory:SearchGroupsWithGroupName
- sso-directory:SearchUsers
- sso-directory:CreateUser
- sso-directory:DescribeGroups
- sso-directory:DescribeDirectory
- sso-directory:GetUserPoolInfo
- controltower:CreateManagedAccount
- controltower:DescribeManagedAccount
- controltower:DeregisterManagedAccount
- organizations:describeOrganization
- sso:DescribeRegisteredRegions
Resource: "*"
- Effect: "Allow"
Action: s3:GetObject
Resource:
- !Sub "arn:${AWS::Partition}:s3:::cf-templates-*"
- !Sub "arn:${AWS::Partition}:s3:::cf-templates-*/*"
Outputs:
AccountVendingAccountVendingControlTowerRoleArn:
Description: Arn of the AccountVendingControlTowerRole
Value: !GetAtt AccountVendingControlTowerRole.Arn
================================================
FILE: foundational/account-vending/stacks/prereqs-controltower-account/v1/template.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="AccountVendingControlTowerRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry y="100" width="50" height="50" as="geometry"/></mxCell><mxCell id="3" value="iam ${sctaccountid}
root" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;" vertex="1" parent="1"><mxGeometry x="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="4" value="s3 
cf-templates-*" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" vertex="1" parent="1"><mxGeometry x="250" y="100" width="50" height="50" as="geometry"/></mxCell><mxCell id="5" value="s3 
cf-templates-*/*" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" vertex="1" parent="1"><mxGeometry x="250" y="200" width="50" height="50" as="geometry"/></mxCell><mxCell id="iam ${sctaccountid}
root|AccountVendingControlTowerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="111.66666666666667"/><mxPoint x="238" y="25"/></Array></mxGeometry></mxCell><mxCell id="s3 
cf-templates-*|AccountVendingControlTowerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="4"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="64" y="125"/><mxPoint x="238" y="125"/></Array></mxGeometry></mxCell><mxCell id="s3 
cf-templates-*/*|AccountVendingControlTowerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="5"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="138.33333333333334"/><mxPoint x="238" y="225"/></Array></mxGeometry></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/account-vending/stacks/prereqs-orgs-account/v1/stack.template.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
AWSTemplateFormatVersion: "2010-09-09"
Description: |
{"framework": "servicecatalog-products", "role": "product", "product-set": "account-vending", "product": "prereqs-orgs-account", "version": "v1"}
Parameters:
SCTAccountId:
Type: String
AccountVendingOrgsRoleName:
Type: String
Default: AccountVendingOrgsRole
AccountVendingIAMRolesPath:
Type: String
Default: /foundational/account-vending/
AWSOrganizationsCrossAccountRoleName:
Type: String
Resources:
AccountVendingOrgsRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingOrgsRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
AWS: !Sub "arn:aws:iam::${SCTAccountId}:root"
Action:
- "sts:AssumeRole"
Policies:
- PolicyName: PermissionsNeededForOrgs
PolicyDocument:
Statement:
- Effect: Allow
Action:
- organizations:CreateAccount
- organizations:DescribeCreateAccountStatus
- organizations:ListAccounts
- organizations:ListAccountsForParent
- organizations:MoveAccount
- organizations:ListParents
Resource: "*"
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Sub "arn:aws:iam::*:role/${AWSOrganizationsCrossAccountRoleName}"
Outputs:
AccountVendingOrgsRoleArn:
Description: Arn of the AccountVendingOrgsRole
Value: !GetAtt AccountVendingOrgsRole.Arn
================================================
FILE: foundational/account-vending/stacks/prereqs-orgs-account/v1/template.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="AccountVendingOrgsRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry y="50" width="50" height="50" as="geometry"/></mxCell><mxCell id="3" value="iam ${sctaccountid}
root" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;" vertex="1" parent="1"><mxGeometry x="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="4" value="iam *
role/${awsorganizationscrossaccountrolename}" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;" vertex="1" parent="1"><mxGeometry x="250" y="100" width="50" height="50" as="geometry"/></mxCell><mxCell id="iam ${sctaccountid}
root|AccountVendingOrgsRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="65"/><mxPoint x="238" y="25"/></Array></mxGeometry></mxCell><mxCell id="iam *
role/${awsorganizationscrossaccountrolename}|AccountVendingOrgsRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="4"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="85"/><mxPoint x="238" y="125"/></Array></mxGeometry></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/account-vending/stacks/prereqs-puppet-account/v1/requirements.txt
================================================
crhelper==2.0.10
================================================
FILE: foundational/account-vending/stacks/prereqs-puppet-account/v1/src/AccountCreationCustomResourceBacker/handler.py
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
import logging
import json
import os
from crhelper import CfnResource
import boto3
logger = logging.getLogger(__name__)
helper = CfnResource(json_logging=False, log_level='DEBUG', boto_level='CRITICAL', sleep_on_delete=120, ssl_verify=None)
@helper.create
@helper.update
def create(event, context):
properties = event.get("ResourceProperties")
input = dict(
AccountCreationMethod=properties.get("AccountCreationMethod"),
ShouldWaitForAccountSubscriptionCreateComplete=properties.get("ShouldWaitForAccountSubscriptionCreateComplete") == 'true',
ShouldBootstrapAccount=properties.get("ShouldBootstrapAccount") == 'true',
ShouldRunSingleAccountPipeline=properties.get("ShouldRunSingleAccountPipeline") == 'true',
ShouldNotifiyOnCompletion=properties.get("ShouldNotifiyOnCompletion") == 'true',
)
if properties.get("AccountCreationMethod") == "AWSOrganizations":
input.update(dict(
Email=properties.get("Email"),
AccountName=properties.get("AccountName"),
RoleName=properties.get("RoleName"),
IamUserAccessToBilling=properties.get("IamUserAccessToBilling"),
TargetOrganizationalUnitId=properties.get("TargetOrganizationalUnitId"),
))
elif properties.get("AccountCreationMethod") == "AWSControlTower":
input.update(dict(
AccountName=properties.get("AccountName"),
AccountEmail=properties.get("AccountEmail"),
SSOUserFirstName=properties.get("SSOUserFirstName"),
SSOUserLastName=properties.get("SSOUserLastName"),
SSOUserEmail=properties.get("SSOUserEmail"),
ManagedOrganizationalUnit=properties.get("ManagedOrganizationalUnit"),
))
state_machine_arn = os.environ.get("STATE_MACHINE_ARN")
client = boto3.client('stepfunctions')
response = client.start_execution(
stateMachineArn=state_machine_arn,
name=event.get("RequestId"),
input=json.dumps(input),
)
execution_arn = response.get("executionArn")
helper.Data['execution_arn'] = execution_arn
return execution_arn
@helper.poll_create
@helper.poll_update
def poll_create(event, context):
execution_arn = helper.Data['execution_arn']
client = boto3.client('stepfunctions')
response = client.describe_execution(executionArn=execution_arn)
if response.get("status") == "RUNNING":
return None
elif response.get("status") in ['FAILED', 'TIMED_OUT', 'ABORTED']:
raise ValueError(f'Execution {response.get("name")} has finished with status: {response.get("status")}')
elif response.get("status") == "SUCCEEDED":
execution_output = json.loads(response.get("output"))
created_account_id = execution_output.get("CheckAccountOutput").get("account_id")
return created_account_id
else:
raise ValueError(f'Execution {response.get("name")} has finished with unknown status: {response.get("status")}')
def handle(event, context):
helper(event, context)
================================================
FILE: foundational/account-vending/stacks/prereqs-puppet-account/v1/stack.template.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Transform: AWS::Serverless-2016-10-31
AWSTemplateFormatVersion: "2010-09-09"
Description: |
{"framework": "servicecatalog-products", "role": "product", "product-set": "account-vending", "product": "prereqs-puppet-account", "version": "v1"}
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
- Label:
default: "Shared Settings"
Parameters:
- AccountVendingStateMachineName
- AccountVendingStateMachineRoleName
- AccountVendingIAMRolesPath
- AccountVendingInputValidatorFunctionName
- AccountVendingInputValidatorRoleName
- AccountVendingSubscriptionWaiterFunctionName
- AccountVendingSubscriptionWaiterRoleName
- AccountVendingAccountCreationSNSTopicArn
- AccountVendingAccountCreationCustomResourceBackerFunctionName
- Label:
default: "AWS Organizations Settings"
Parameters:
- AccountVendingAccountOrganizationsRoleArn
- AccountVendingOrganizationsAccountCreatorFunctionName
- AccountVendingOrganizationsAccountCreatorRoleName
- AccountVendingOrganizationsAccountWaiterFunctionName
- AccountVendingOrganizationsAccountWaiterRoleName
- Label:
default: "AWS Control Tower Settings"
Parameters:
- AccountVendingControlTowerRoleArn
- AccountVendingControlTowerAccountCreatorFunctionName
- AccountVendingControlTowerAccountCreatorRoleName
- AccountVendingControlTowerAccountWaiterFunctionName
- AccountVendingControlTowerAccountWaiterRoleName
Parameters:
AccountVendingIAMRolesPath:
Type: String
Default: /foundational/account-vending/
AccountVendingAccountOrganizationsRoleArn:
Type: String
Description: Arn of an IAM Role that can create accounts using the AWS Orgs API
Default: arn:aws:iam::156551640785:role/servicecatalog-puppet/PuppetRole
AccountVendingControlTowerRoleArn:
Type: String
Description: Arn of an IAM Role that can create accounts using AWS Control Tower
Default: arn:aws:iam::182157867954:role/Admin
AccountVendingAccountCreationCustomResourceBackerFunctionName:
Type: String
Default: AccountCreationCustomResourceBacker
AccountCreationCustomResourceBackerRoleName:
Type: String
Default: AccountCreationCustomResourceBackerRole
AccountVendingAccountCreationSNSTopicArn:
Type: String
Description: Arn of the SNS Topic account creations are published to
Default: arn:aws:sns:eu-west-1:000000000000:dev-null
AccountVendingStateMachineName:
Type: String
Default: account-vending-state-machine
AccountVendingStateMachineRoleName:
Type: String
Description: Name of the IAM Role used by the State machine
Default: StateMachineRole
AccountVendingInputValidatorFunctionName:
Type: String
Default: InputValidator
AccountVendingInputValidatorRoleName:
Type: String
Default: InputValidatorRole
AccountVendingOrganizationsAccountCreatorFunctionName:
Type: String
Default: OrganizationsAccountCreator
AccountVendingOrganizationsAccountCreatorRoleName:
Type: String
Default: OrganizationsAccountCreatorRole
AccountVendingOrganizationsAccountWaiterFunctionName:
Type: String
Default: OrganizationsAccountWaiter
AccountVendingOrganizationsAccountWaiterRoleName:
Type: String
Default: OrganizationsAccountWaiterRole
AccountVendingControlTowerAccountCreatorFunctionName:
Type: String
Default: ControlTowerAccountCreator
AccountVendingControlTowerAccountCreatorRoleName:
Type: String
Default: ControlTowerAccountCreatorRole
AccountVendingControlTowerAccountWaiterFunctionName:
Type: String
Default: ControlTowerAccountWaiter
AccountVendingControlTowerAccountWaiterRoleName:
Type: String
Default: ControlTowerAccountWaiterRole
AccountVendingSubscriptionWaiterFunctionName:
Type: String
Default: SubscriptionWaiter
AccountVendingSubscriptionWaiterRoleName:
Type: String
Default: SubscriptionWaiterRole
Resources:
InputValidatorFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref AccountVendingInputValidatorFunctionName
Code:
ZipFile: |
import json
def handle(event, context):
required_values = ["AccountCreationMethod", "ShouldWaitForAccountSubscriptionCreateComplete", "ShouldBootstrapAccount", "ShouldRunSingleAccountPipeline", "ShouldNotifiyOnCompletion", ]
allowed_values = dict(
AccountCreationMethod=["AWSOrganizations", "AWSControlTower"],
ShouldWaitForAccountSubscriptionCreateComplete=[True, False],
ShouldBootstrapAccount=[True, False],
ShouldRunSingleAccountPipeline=[True, False],
ShouldNotifiyOnCompletion=[True, False],
)
if event.get("AccountCreationMethod") == "AWSOrganizations":
required_values += ["Email", "AccountName", "RoleName", "IamUserAccessToBilling", "TargetOrganizationalUnitId", ]
if event.get("AccountCreationMethod") == "AWSControlTower":
required_values += ["AccountName", "AccountEmail", "SSOUserFirstName", "SSOUserLastName", "SSOUserEmail", "ManagedOrganizationalUnit", ]
for thing_to_check in required_values:
if event.get(thing_to_check) is None:
raise Exception(f"{thing_to_check} is a required field")
for thing_to_check in ["AccountCreationMethod"]:
if event.get(thing_to_check) not in allowed_values.get(thing_to_check):
raise Exception(f"{thing_to_check} must be in {allowed_values.get(thing_to_check)}")
return True
Handler: index.handle
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt InputValidatortRole.Arn
Timeout: 30
InputValidatortRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingInputValidatorRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
AccountCreatorFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref AccountVendingOrganizationsAccountCreatorFunctionName
Code:
ZipFile: |
from boto3.session import Session
import os
import json
def handle(event, context):
sts = Session().client('sts')
assumable_cross_account_role_arn = os.environ.get("ORGANIZATIONS_ROLE_ARN")
assumed_role_object = sts.assume_role(
RoleArn=assumable_cross_account_role_arn,
RoleSessionName="sts_session",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
client = Session().client(service_name="organizations", **kwargs)
create_args = dict(
Email=event.get("Email"),
AccountName=event.get("AccountName"),
RoleName=event.get("RoleName"),
IamUserAccessToBilling=event.get("IamUserAccessToBilling"),
)
create_account_request_id = client.create_account(**create_args)["CreateAccountStatus"]["Id"]
return {
'create_account_request_id': create_account_request_id
}
Handler: index.handle
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt AccountCreatorRole.Arn
Timeout: 30
Environment:
Variables:
ORGANIZATIONS_ROLE_ARN: !Ref AccountVendingAccountOrganizationsRoleArn
AccountCreatorRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingOrganizationsAccountCreatorRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
Policies:
- PolicyName: OrgRoleAssumption
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref AccountVendingAccountOrganizationsRoleArn
AccountWaiterFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref AccountVendingOrganizationsAccountWaiterFunctionName
Code:
ZipFile: |
import json
import logging
import os
from boto3.session import Session
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def handle(event, context):
sts = Session().client('sts')
assumable_cross_account_role_arn = os.environ.get("ORGANIZATIONS_ROLE_ARN")
assumed_role_object = sts.assume_role(
RoleArn=assumable_cross_account_role_arn,
RoleSessionName="sts_session",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
client = Session().client(service_name="organizations", **kwargs)
create_account_request_id = event.get("CreateAccountUsingAWSOrganizationsOutput").get("create_account_request_id")
create_account_status = client.describe_create_account_status(CreateAccountRequestId=create_account_request_id).get("CreateAccountStatus")
del create_account_status["RequestedTimestamp"]
del create_account_status["CompletedTimestamp"]
if create_account_status.get("State") == "FAILED" and create_account_status.get("FailureReason") == "EMAIL_ALREADY_EXISTS":
if create_account_status.get("AccountName") == event.get("AccountName"):
logger.info(f"account {event.get('AccountName')} was already created using the email {event.get('Email')}")
create_account_status["State"] = "SUCCEEDED"
del create_account_status["FailureReason"]
if create_account_status.get("AccountId") is None:
logger.info("Having to get account id")
paginator = client.get_paginator('list_accounts')
for page in paginator.paginate():
for account in page.get("Accounts", []):
if account.get("Name") == event.get('AccountName'):
create_account_status["AccountId"] = account.get("Id")
account_id = create_account_status['AccountId']
parents = client.list_parents(
ChildId=account_id,
).get("Parents", [])
if len(parents) != 1:
raise Exception(f"account: {account_id} does not have one parent")
if parents[0].get("Id") != event.get("TargetOrganizationalUnitId"):
client.move_account(
AccountId=account_id,
SourceParentId=parents[0].get("Id"),
DestinationParentId=event.get("TargetOrganizationalUnitId"),
)
create_account_status["assumable_role_in_spoke"] = f"arn:{os.environ.get('AWS_PARTITION')}:iam::{account_id}:role/{event.get('RoleName')}"
create_account_status["assumable_role_in_hub"] = os.environ.get("ORGANIZATIONS_ROLE_ARN")
return create_account_status
Handler: index.handle
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt AccountWaiterRole.Arn
Timeout: 30
Environment:
Variables:
ORGANIZATIONS_ROLE_ARN: !Ref AccountVendingAccountOrganizationsRoleArn
AWS_PARTITION: !Sub "${AWS::Partition}"
AccountWaiterRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingOrganizationsAccountWaiterRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
Policies:
- PolicyName: OrgRoleAssumption
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref AccountVendingAccountOrganizationsRoleArn
ControlTowerAccountCreatorFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref AccountVendingControlTowerAccountCreatorFunctionName
Code:
ZipFile: |
from boto3.session import Session
import os
import json
def handle(event, context):
sts = Session().client('sts')
assumable_cross_account_role_arn = os.environ.get("CONTROL_TOWER_ROLE_ARN")
assumed_role_object = sts.assume_role(
RoleArn=assumable_cross_account_role_arn,
RoleSessionName="sts_session",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
client = Session().client(service_name="servicecatalog", **kwargs)
try:
pp_id = client.describe_provisioned_product(Name=event.get("AccountName")).get("ProvisionedProductDetail", {}).get("Id")
if pp_id is not None:
return {
'create_account_request_id': pp_id
}
except client.exceptions.ResourceNotFoundException:
pass
product_id = None
product_view_summaries = client.search_products(Filters=dict(FullTextSearch=["AWS Control Tower Account Factory"])).get("ProductViewSummaries", [])
for product_view_summary in product_view_summaries:
if product_view_summary.get("Name") == "AWS Control Tower Account Factory":
product_id = product_view_summary.get("ProductId")
break
if product_id is None:
raise Execption("Could not find AWS Control Tower Account Factory product")
provisioning_artifacts = client.describe_product(Id=product_id).get("ProvisioningArtifacts", [])
for provisioning_artifact in provisioning_artifacts:
if provisioning_artifact.get("Name") == "AWS Control Tower Account Factory":
pa_id = provisioning_artifact.get("Id")
if pa_id is None:
raise Execption("Could not find AWS Control Tower Account Factory provisioning artifact")
print(f"Using pa_id: {pa_id} of: {product_id} to provision")
create_args = dict(
ProductId=product_id,
ProvisioningArtifactId=pa_id,
ProvisionedProductName=event.get("AccountName"),
ProvisioningParameters=[
{
'Key': 'AccountName',
'Value': event.get("AccountName")
},
{
'Key': 'AccountEmail',
'Value': event.get("AccountEmail")
},
{
'Key': 'SSOUserFirstName',
'Value': event.get("SSOUserFirstName")
},
{
'Key': 'SSOUserLastName',
'Value': event.get("SSOUserLastName")
},
{
'Key': 'SSOUserEmail',
'Value': event.get("SSOUserEmail")
},
{
'Key': 'ManagedOrganizationalUnit',
'Value': event.get("ManagedOrganizationalUnit")
},
]
)
create_account_request_id = client.provision_product(**create_args).get("RecordDetail").get("ProvisionedProductId")
return {
'create_account_request_id': create_account_request_id
}
Handler: index.handle
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt ControlTowerAccountCreatorRole.Arn
Timeout: 30
Environment:
Variables:
CONTROL_TOWER_ROLE_ARN: !Ref AccountVendingControlTowerRoleArn
ControlTowerAccountCreatorRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingControlTowerAccountCreatorRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
Policies:
- PolicyName: OrgRoleAssumption
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref AccountVendingControlTowerRoleArn
ControlTowerAccountWaiterFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref AccountVendingControlTowerAccountWaiterFunctionName
Code:
ZipFile: |
import json
import logging
import os
from boto3.session import Session
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def handle(event, context):
sts = Session().client('sts')
assumable_cross_account_role_arn = os.environ.get("CONTROL_TOWER_ROLE_ARN")
assumed_role_object = sts.assume_role(
RoleArn=assumable_cross_account_role_arn,
RoleSessionName="sts_session",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
client = Session().client(service_name="servicecatalog", **kwargs)
create_account_request_id = event.get("CreateAccountUsingAWSOrganizationsOutput").get("create_account_request_id")
provisioned_product_detail = client.describe_provisioned_product(Id=create_account_request_id).get("ProvisionedProductDetail")
account_id = "unknown"
if provisioned_product_detail.get("Status") == "AVAILABLE":
account_id = client.get_provisioned_product_outputs(ProvisionedProductId=create_account_request_id,OutputKeys=["AccountId"]).get("Outputs")[0].get("OutputValue")
state = provisioned_product_detail.get("Status")
if state in ["ERROR", "TAINTED"]:
raise Exception(f"Control Tower account factory product provision status of: {state}")
response = dict(
account_id=account_id,
state=state,
assumable_role_in_spoke=f"arn:{os.environ.get('AWS_PARTITION')}:iam::{account_id}:role/AWSControlTowerExecution",
assumable_role_in_hub=os.environ.get("CONTROL_TOWER_ROLE_ARN")
)
return response
Handler: index.handle
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt ControlTowerAccountWaiterRole.Arn
Timeout: 30
Environment:
Variables:
CONTROL_TOWER_ROLE_ARN: !Ref AccountVendingControlTowerRoleArn
AWS_PARTITION: !Sub "${AWS::Partition}"
ControlTowerAccountWaiterRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingControlTowerAccountWaiterRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
Policies:
- PolicyName: OrgRoleAssumption
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref AccountVendingControlTowerRoleArn
SubscriptionWaiterFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref AccountVendingSubscriptionWaiterFunctionName
Code:
ZipFile: |
from boto3.session import Session
def handle(event, context):
sts = Session().client('sts')
assumable_cross_account_role_arn = event.get("CheckAccountOutput").get("assumable_role_in_hub")
assumed_role_object = sts.assume_role(
RoleArn=assumable_cross_account_role_arn,
RoleSessionName="sts_session",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
assumable_cross_account_client = Session().client(service_name="sts", **kwargs)
spoke_role_arn = event.get("CheckAccountOutput").get("assumable_role_in_spoke")
assumed_role_object = assumable_cross_account_client.assume_role(
RoleArn=spoke_role_arn,
RoleSessionName="spoke_role_sts",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
codebuild = Session().client(service_name="codebuild", **kwargs)
codebuild.list_projects()
cloudformation = Session().client(service_name="cloudformation", **kwargs)
cloudformation.list_stacks()
return {
"state": "READY",
}
Handler: index.handle
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt SubscriptionWaiterRole.Arn
Timeout: 90
SubscriptionWaiterRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingSubscriptionWaiterRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
Policies:
- PolicyName: OrgRoleAssumption
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref AccountVendingAccountOrganizationsRoleArn
- PolicyName: ControlTowerRoleAssumption
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref AccountVendingControlTowerRoleArn
StateMachine:
Type: AWS::StepFunctions::StateMachine
Properties:
StateMachineName: !Ref AccountVendingStateMachineName
RoleArn: !GetAtt StateMachineRole.Arn
DefinitionSubstitutions:
AWS_PARTITION: !Sub "${AWS::Partition}"
INPUT_VALIDATOR_ARN: !GetAtt InputValidatorFunction.Arn
ACCOUNT_CREATOR_ARN: !GetAtt AccountCreatorFunction.Arn
ACCOUNT_WAITER_ARN: !GetAtt AccountWaiterFunction.Arn
CONTROL_TOWER_ACCOUNT_CREATOR_ARN: !GetAtt ControlTowerAccountCreatorFunction.Arn
CONTROL_TOWER_ACCOUNT_WAITER_ARN: !GetAtt ControlTowerAccountWaiterFunction.Arn
SUBSCRIPTION_WAITER_ARN: !GetAtt SubscriptionWaiterFunction.Arn
ACCOUNT_CREATION_SNS_TOPIC_ARN: !Ref AccountVendingAccountCreationSNSTopicArn
DefinitionString: |
{
"Comment": "Account vending solution supporting both AWS Organizations and AWS Control Tower",
"StartAt": "ValidateInput",
"States": {
"ValidateInput": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::lambda:invoke",
"Parameters": {
"Payload.$": "$",
"FunctionName": "${INPUT_VALIDATOR_ARN}"
},
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
}
],
"Next": "IsUsingAWSControlTower",
"ResultPath": null
},
"IsUsingAWSControlTower": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.AccountCreationMethod",
"StringMatches": "AWSControlTower",
"Next": "CreateAccountUsingAWSControlTower"
}
],
"Default": "CreateAccountUsingAWSOrganizations"
},
"CreateAccountUsingAWSControlTower": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::lambda:invoke",
"Parameters": {
"Payload.$": "$",
"FunctionName": "${CONTROL_TOWER_ACCOUNT_CREATOR_ARN}"
},
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
}
],
"Next": "WaitForAccountCreateCompleteUsingAWSControlTower",
"ResultSelector": {
"create_account_request_id.$": "$.Payload.create_account_request_id"
},
"ResultPath": "$.CreateAccountUsingAWSOrganizationsOutput"
},
"WaitForAccountCreateCompleteUsingAWSControlTower": {
"Type": "Wait",
"Seconds": 30,
"Next": "CheckAccountCreateCompleteUsingAWSControlTower"
},
"CheckAccountCreateCompleteUsingAWSControlTower": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::lambda:invoke",
"Parameters": {
"Payload.$": "$",
"FunctionName": "${CONTROL_TOWER_ACCOUNT_WAITER_ARN}"
},
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
}
],
"Next": "IsAccountCreateCompleteUsingAWSControlTower",
"ResultSelector": {
"account_id.$": "$.Payload.account_id",
"state.$": "$.Payload.state",
"assumable_role_in_spoke.$": "$.Payload.assumable_role_in_spoke",
"assumable_role_in_hub.$": "$.Payload.assumable_role_in_hub"
},
"ResultPath": "$.CheckAccountOutput"
},
"IsAccountCreateCompleteUsingAWSControlTower": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.CheckAccountOutput.state",
"StringEquals": "AVAILABLE",
"Next": "ShouldWaitForAccountSubscriptionCreateComplete"
}
],
"Default": "WaitForAccountCreateCompleteUsingAWSControlTower"
},
"CreateAccountUsingAWSOrganizations": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::lambda:invoke",
"Parameters": {
"Payload.$": "$",
"FunctionName": "${ACCOUNT_CREATOR_ARN}"
},
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
}
],
"Next": "WaitForAccountCreateCompleteUsingAWSOrganizations",
"ResultPath": "$.CreateAccountUsingAWSOrganizationsOutput",
"ResultSelector": {
"create_account_request_id.$": "$.Payload.create_account_request_id"
}
},
"WaitForAccountCreateCompleteUsingAWSOrganizations": {
"Type": "Wait",
"Seconds": 5,
"Next": "CheckAccountCreateCompleteUsingAWSOrganizations"
},
"CheckAccountCreateCompleteUsingAWSOrganizations": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::lambda:invoke",
"Parameters": {
"Payload.$": "$",
"FunctionName": "${ACCOUNT_WAITER_ARN}"
},
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
}
],
"Next": "IsAccountCreateCompleteUsingAWSOrganizationsComplete",
"ResultPath": "$.CheckAccountOutput",
"ResultSelector": {
"account_id.$": "$.Payload.AccountId",
"state.$": "$.Payload.State",
"assumable_role_in_spoke.$": "$.Payload.assumable_role_in_spoke",
"assumable_role_in_hub.$": "$.Payload.assumable_role_in_hub"
}
},
"IsAccountCreateCompleteUsingAWSOrganizationsComplete": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.CheckAccountOutput.state",
"StringEquals": "SUCCEEDED",
"Next": "ShouldWaitForAccountSubscriptionCreateComplete"
}
],
"Default": "WaitForAccountCreateCompleteUsingAWSOrganizations"
},
"ShouldWaitForAccountSubscriptionCreateComplete": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.ShouldWaitForAccountSubscriptionCreateComplete",
"BooleanEquals": true,
"Next": "WaitForAccountSubscriptionCreateComplete"
}
],
"Default": "ShouldBootstrap"
},
"WaitForAccountSubscriptionCreateComplete": {
"Type": "Wait",
"Seconds": 5,
"Next": "CheckWaitForAccountSubscription"
},
"CheckWaitForAccountSubscription": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::lambda:invoke",
"Parameters": {
"Payload.$": "$",
"FunctionName": "${SUBSCRIPTION_WAITER_ARN}"
},
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2,
"Comment": "L"
},
{
"ErrorEquals": [
"States.TaskFailed"
],
"BackoffRate": 2,
"IntervalSeconds": 4,
"MaxAttempts": 15,
"Comment": "InvalidInputException"
}
],
"Next": "IsWaitForAccountSubscriptionComplete",
"ResultPath": "$.CheckWaitForAccountSubscriptionOutput",
"ResultSelector": {
"state.$": "$.Payload.state"
},
"TimeoutSeconds": 90
},
"IsWaitForAccountSubscriptionComplete": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.CheckWaitForAccountSubscriptionOutput.state",
"StringEquals": "READY",
"Next": "ShouldBootstrap"
}
],
"Default": "WaitForAccountSubscriptionCreateComplete"
},
"ShouldBootstrap": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.ShouldBootstrapAccount",
"BooleanEquals": true,
"Next": "BootstrapSpoke"
}
],
"Default": "BootstrapCompleted"
},
"BootstrapSpoke": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::codebuild:startBuild.sync",
"Parameters": {
"ProjectName": "servicecatalog-puppet-bootstrap-spoke",
"EnvironmentVariablesOverride": [
{
"Name": "ASSUMABLE_ROLE_IN_ROOT_ACCOUNT",
"Value.$": "$.CheckAccountOutput.assumable_role_in_hub"
},
{
"Name": "ORGANIZATION_ACCOUNT_ACCESS_ROLE_ARN",
"Value.$": "$.CheckAccountOutput.assumable_role_in_spoke"
},
{
"Name": "OPTIONS",
"Value": ""
}
]
},
"Next": "BootstrapCompleted",
"ResultSelector": {
"status.$": "$.Build.BuildStatus",
"id.$": "$.Build.Id"
},
"ResultPath": "$.BootstrapSpokeOutput"
},
"BootstrapCompleted": {
"Type": "Pass",
"Next": "ShouldRunPipeline"
},
"ShouldRunPipeline": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.ShouldRunSingleAccountPipeline",
"BooleanEquals": true,
"Next": "SingleAccountRun"
}
],
"Default": "PipelineCompleted"
},
"SingleAccountRun": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::codebuild:startBuild.sync",
"Parameters": {
"ProjectName": "servicecatalog-puppet-single-account-run",
"EnvironmentVariablesOverride": [
{
"Name": "SINGLE_ACCOUNT_ID",
"Value.$": "$.CheckAccountOutput.account_id"
}
]
},
"Next": "PipelineCompleted",
"ResultPath": "$.SingleAccountRunOutput",
"ResultSelector": {
"status.$": "$.Build.BuildStatus",
"id.$": "$.Build.Id"
}
},
"PipelineCompleted": {
"Type": "Pass",
"Next": "ShouldNotifyOnCompletion"
},
"ShouldNotifyOnCompletion": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.ShouldNotifiyOnCompletion",
"BooleanEquals": true,
"Next": "NotifyOnCompletion"
}
],
"Default": "Completion"
},
"NotifyOnCompletion": {
"Type": "Task",
"Resource": "arn:${AWS_PARTITION}:states:::sns:publish",
"Parameters": {
"Message.$": "$",
"TopicArn": "${ACCOUNT_CREATION_SNS_TOPIC_ARN}"
},
"Next": "Completion",
"ResultPath": null
},
"Completion": {
"Type": "Pass",
"End": true,
"ResultPath": null
}
}
}
StateMachineRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountVendingStateMachineRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service:
- !Sub states.${AWS::Region}.amazonaws.com
Action: sts:AssumeRole
Policies:
- PolicyName: StatesExecutionPolicy
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- "lambda:InvokeFunction"
Resource:
- !GetAtt InputValidatorFunction.Arn
- !Sub "${InputValidatorFunction.Arn}:*"
- !GetAtt AccountCreatorFunction.Arn
- !Sub "${AccountCreatorFunction.Arn}:*"
- !GetAtt AccountWaiterFunction.Arn
- !Sub "${AccountWaiterFunction.Arn}:*"
- !GetAtt ControlTowerAccountCreatorFunction.Arn
- !Sub "${ControlTowerAccountCreatorFunction.Arn}:*"
- !GetAtt ControlTowerAccountWaiterFunction.Arn
- !Sub "${ControlTowerAccountWaiterFunction.Arn}:*"
- !GetAtt SubscriptionWaiterFunction.Arn
- !Sub "${SubscriptionWaiterFunction.Arn}:*"
- Effect: Allow
Action:
- codebuild:StartBuild
- codebuild:StopBuild
- codebuild:BatchGetBuilds
Resource:
- !Sub "arn:${AWS::Partition}:codebuild:${AWS::Region}:${AWS::AccountId}:project/servicecatalog-puppet-bootstrap-spoke"
- !Sub "arn:${AWS::Partition}:codebuild:${AWS::Region}:${AWS::AccountId}:project/servicecatalog-puppet-single-account-run"
- Effect: Allow
Action:
- sns:Publish
Resource:
- !Ref AccountVendingAccountCreationSNSTopicArn
- PolicyName: ParentStepFunctionExecutionPolicy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- states:DescribeExecution
- states:StopExecution
Resource: "*"
- Effect: Allow
Action:
- events:PutTargets
- events:PutRule
- events:DescribeRule
Resource: !Sub arn:${AWS::Partition}:events:${AWS::Region}:${AWS::AccountId}:rule/StepFunctionsGetEventForCodeBuildStartBuildRule
AccountCreationCustomResourceBackerRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref AccountCreationCustomResourceBackerRoleName
Path: !Ref AccountVendingIAMRolesPath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
Policies:
- PolicyName: startmachine
PolicyDocument:
Statement:
- Effect: Allow
Action:
- states:StartExecution
Resource: !GetAtt StateMachine.Arn
- Effect: Allow
Action:
- states:DescribeExecution
Resource: !Sub "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:${AccountVendingStateMachineName}:*"
- PolicyName: crhelper
PolicyDocument:
Statement:
- Effect: Allow
Action:
- lambda:AddPermission
- lambda:RemovePermission
Resource:
- !Sub "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:${AccountVendingAccountCreationCustomResourceBackerFunctionName}"
- !Sub "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:${AccountVendingAccountCreationCustomResourceBackerFunctionName}:*"
- Effect: Allow
Action:
- events:PutRule
- events:DeleteRule
- events:PutTargets
- events:RemoveTargets
Resource: "*"
AccountCreationCustomResourceBacker:
Type: AWS::Serverless::Function
Properties:
FunctionName: !Ref AccountVendingAccountCreationCustomResourceBackerFunctionName
CodeUri: src/AccountCreationCustomResourceBacker
Handler: handler.handle
Environment:
Variables:
STATE_MACHINE_ARN: !GetAtt StateMachine.Arn
Architectures:
- arm64
MemorySize: 128
Runtime: python3.9
Role: !GetAtt AccountCreationCustomResourceBackerRole.Arn
Timeout: 30
Outputs:
AccountVendingAccountCreationCustomResourceBackerArn:
Value: !GetAtt AccountCreationCustomResourceBacker.Arn
================================================
FILE: foundational/account-vending/stacks/prereqs-puppet-account/v1/template.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="InputValidatorFunction" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="1000" width="50" height="50" as="geometry"/></mxCell><mxCell id="3" value="InputValidatortRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="1250" y="150" width="50" height="50" as="geometry"/></mxCell><mxCell id="4" value="AccountCreatorFunction" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="1000" y="400" width="50" height="50" as="geometry"/></mxCell><mxCell id="5" value="AccountCreatorRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="1250" y="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="6" value="AccountWaiterFunction" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="1000" y="500" width="50" height="50" as="geometry"/></mxCell><mxCell id="7" value="AccountWaiterRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="1250" y="350" width="50" height="50" as="geometry"/></mxCell><mxCell id="8" value="ControlTowerAccountCreatorFunction" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="1000" y="600" width="50" height="50" as="geometry"/></mxCell><mxCell id="9" value="ControlTowerAccountCreatorRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="1250" y="450" width="50" height="50" as="geometry"/></mxCell><mxCell id="10" value="ControlTowerAccountWaiterFunction" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="1000" y="700" width="50" height="50" as="geometry"/></mxCell><mxCell id="11" value="ControlTowerAccountWaiterRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="1250" y="550" width="50" height="50" as="geometry"/></mxCell><mxCell id="12" value="SubscriptionWaiterFunction" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="1000" y="800" width="50" height="50" as="geometry"/></mxCell><mxCell id="13" value="SubscriptionWaiterRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="1250" y="650" width="50" height="50" as="geometry"/></mxCell><mxCell id="14" value="StateMachine" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.step_functions;" vertex="1" parent="1"><mxGeometry x="500" y="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="15" value="StateMachineRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="750" y="300" width="50" height="50" as="geometry"/></mxCell><mxCell id="16" value="AccountCreationCustomResourceBackerRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="250" y="391.2037037037037" width="50" height="50" as="geometry"/></mxCell><mxCell id="17" value="AccountCreationCustomResourceBacker" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry y="344.9074074074074" width="50" height="50" as="geometry"/></mxCell><mxCell id="18" value="iam aws
policy/service-role/awslambdabasicexecutionrole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;" vertex="1" parent="1"><mxGeometry x="1500" y="450" width="50" height="50" as="geometry"/></mxCell><mxCell id="19" value="codebuild 
project/servicecatalog-puppet-bootstrap-spoke" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codebuild;" vertex="1" parent="1"><mxGeometry x="1000" y="100" width="50" height="50" as="geometry"/></mxCell><mxCell id="20" value="codebuild 
project/servicecatalog-puppet-single-account-run" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.codebuild;" vertex="1" parent="1"><mxGeometry x="1000" y="200" width="50" height="50" as="geometry"/></mxCell><mxCell id="21" value="events 
rule/stepfunctionsgeteventforcodebuildstartbuildrule" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.eventbridge;" vertex="1" parent="1"><mxGeometry x="1000" y="300" width="50" height="50" as="geometry"/></mxCell><mxCell id="22" value="states 
*" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.states;" vertex="1" parent="1"><mxGeometry x="500" y="400" width="50" height="50" as="geometry"/></mxCell><mxCell id="InputValidatortRole|InputValidatorFunction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1062" y="25"/><mxPoint x="1238" y="175"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|InputValidatortRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="3" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1312" y="175"/><mxPoint x="1488" y="453.57142857142856"/></Array></mxGeometry></mxCell><mxCell id="AccountCreatorRole|AccountCreatorFunction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="4" target="5"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1062" y="425"/><mxPoint x="1238" y="275"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|AccountCreatorRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="5" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1312" y="275"/><mxPoint x="1486" y="460.7142857142857"/></Array></mxGeometry></mxCell><mxCell id="AccountWaiterRole|AccountWaiterFunction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="6" target="7"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1062" y="525"/><mxPoint x="1238" y="375"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|AccountWaiterRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="7" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1312" y="375"/><mxPoint x="1484" y="467.8571428571429"/></Array></mxGeometry></mxCell><mxCell id="ControlTowerAccountCreatorRole|ControlTowerAccountCreatorFunction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="8" target="9"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1062" y="625"/><mxPoint x="1238" y="475"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|ControlTowerAccountCreatorRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="9" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1312" y="475"/><mxPoint x="1482" y="475.00000000000006"/></Array></mxGeometry></mxCell><mxCell id="ControlTowerAccountWaiterRole|ControlTowerAccountWaiterFunction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="10" target="11"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1062" y="725"/><mxPoint x="1238" y="575"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|ControlTowerAccountWaiterRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="11" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1312" y="575"/><mxPoint x="1484" y="482.1428571428572"/></Array></mxGeometry></mxCell><mxCell id="SubscriptionWaiterRole|SubscriptionWaiterFunction" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="12" target="13"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1062" y="825"/><mxPoint x="1238" y="675"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|SubscriptionWaiterRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="13" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1312" y="675"/><mxPoint x="1486" y="489.2857142857144"/></Array></mxGeometry></mxCell><mxCell id="StateMachineRole|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="15"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="564" y="260.7142857142857"/><mxPoint x="738" y="325"/></Array></mxGeometry></mxCell><mxCell id="InputValidatorFunction|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="2"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="562" y="253.57142857142858"/><mxPoint x="650" y="150"/><mxPoint x="900" y="150"/><mxPoint x="988" y="15"/></Array></mxGeometry></mxCell><mxCell id="AccountCreatorFunction|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="4"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="566" y="267.8571428571429"/><mxPoint x="650" y="400"/><mxPoint x="900" y="400"/><mxPoint x="988" y="435"/></Array></mxGeometry></mxCell><mxCell id="AccountWaiterFunction|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="6"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="568" y="275.00000000000006"/><mxPoint x="650" y="450"/><mxPoint x="900" y="450"/><mxPoint x="988" y="535"/></Array></mxGeometry></mxCell><mxCell id="ControlTowerAccountCreatorFunction|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="8"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="566" y="282.1428571428572"/><mxPoint x="650" y="500"/><mxPoint x="900" y="500"/><mxPoint x="988" y="635"/></Array></mxGeometry></mxCell><mxCell id="ControlTowerAccountWaiterFunction|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="10"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="564" y="289.2857142857144"/><mxPoint x="650" y="550"/><mxPoint x="900" y="550"/><mxPoint x="988" y="735"/></Array></mxGeometry></mxCell><mxCell id="SubscriptionWaiterFunction|StateMachine" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="14" target="12"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="562" y="296.42857142857156"/><mxPoint x="650" y="600"/><mxPoint x="900" y="600"/><mxPoint x="988" y="835"/></Array></mxGeometry></mxCell><mxCell id="codebuild 
project/servicecatalog-puppet-bootstrap-spoke|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="19"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="814" y="308.3333333333333"/><mxPoint x="988" y="125"/></Array></mxGeometry></mxCell><mxCell id="codebuild 
project/servicecatalog-puppet-single-account-run|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="20"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="816" y="313.88888888888886"/><mxPoint x="988" y="225"/></Array></mxGeometry></mxCell><mxCell id="events 
rule/stepfunctionsgeteventforcodebuildstartbuildrule|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="21"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="818" y="319.4444444444444"/><mxPoint x="988" y="325"/></Array></mxGeometry></mxCell><mxCell id="InputValidatorFunction|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="2"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="812" y="302.77777777777777"/><mxPoint x="988" y="35"/></Array></mxGeometry></mxCell><mxCell id="AccountCreatorFunction|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="4"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="820" y="324.99999999999994"/><mxPoint x="988" y="415"/></Array></mxGeometry></mxCell><mxCell id="AccountWaiterFunction|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="6"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="818" y="330.5555555555555"/><mxPoint x="988" y="515"/></Array></mxGeometry></mxCell><mxCell id="ControlTowerAccountCreatorFunction|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="8"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="816" y="336.11111111111103"/><mxPoint x="988" y="615"/></Array></mxGeometry></mxCell><mxCell id="ControlTowerAccountWaiterFunction|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="10"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="814" y="341.6666666666666"/><mxPoint x="988" y="715"/></Array></mxGeometry></mxCell><mxCell id="SubscriptionWaiterFunction|StateMachineRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="15" target="12"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="812" y="347.2222222222221"/><mxPoint x="988" y="815"/></Array></mxGeometry></mxCell><mxCell id="iam aws
policy/service-role/awslambdabasicexecutionrole|AccountCreationCustomResourceBackerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="16" target="18"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="314" y="408.2037037037037"/><mxPoint x="400" y="350"/><mxPoint x="650" y="350"/><mxPoint x="650" y="900"/><mxPoint x="900" y="900"/><mxPoint x="900" y="900"/><mxPoint x="1150" y="900"/><mxPoint x="1150" y="900"/><mxPoint x="1400" y="900"/><mxPoint x="1488" y="496.42857142857156"/></Array></mxGeometry></mxCell><mxCell id="states 
*|AccountCreationCustomResourceBackerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="16" target="22"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="316" y="416.2037037037037"/><mxPoint x="488" y="425"/></Array></mxGeometry></mxCell><mxCell id="StateMachine|AccountCreationCustomResourceBackerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="16" target="14"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="312" y="400.2037037037037"/><mxPoint x="488" y="285"/></Array></mxGeometry></mxCell><mxCell id="StateMachine|AccountCreationCustomResourceBacker" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="17" target="14"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="359.9074074074074"/><mxPoint x="150" y="322.4537037037037"/><mxPoint x="400" y="322.4537037037037"/><mxPoint x="488" y="265"/></Array></mxGeometry></mxCell><mxCell id="AccountCreationCustomResourceBackerRole|AccountCreationCustomResourceBacker" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="17" target="16"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="379.9074074074074"/><mxPoint x="238" y="416.2037037037037"/></Array></mxGeometry></mxCell><mxCell id="25" value="lambda 
${accountvendingaccountcreationcustomresourcebackerfunctionname}" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="500" y="500" width="50" height="50" as="geometry"/></mxCell><mxCell id="26" value="lambda 
*" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry x="500" y="600" width="50" height="50" as="geometry"/></mxCell><mxCell id="lambda 
${accountvendingaccountcreationcustomresourcebackerfunctionname}|AccountCreationCustomResourceBackerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="16" target="25"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="314" y="424.2037037037037"/><mxPoint x="488" y="525"/></Array></mxGeometry></mxCell><mxCell id="lambda 
*|AccountCreationCustomResourceBackerRole" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="16" target="26"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="312" y="432.2037037037037"/><mxPoint x="488" y="625"/></Array></mxGeometry></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/account-vending/stacks/prereqs-puppet-account-optional/v1/stack.template.yaml
================================================
# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
AWSTemplateFormatVersion: "2010-09-09"
Description: |
{"framework": "servicecatalog-products", "role": "product", "product-set": "account-vending", "product": "prereqs-puppet-account-optional", "version": "v1"}
Parameters:
AccountVendingAccountNotificationCreatedTopicName:
Type: String
Default: AccountVendingAccountNotificationCreatedTopic
Resources:
AccountNotificationCreatedTopicArn:
Type: AWS::SNS::Topic
Properties:
TopicName: !Ref AccountVendingAccountNotificationCreatedTopicName
Outputs:
AccountVendingAccountNotificationCreatedTopicArn:
Description: The Arn of the topic created
Value: !Ref AccountNotificationCreatedTopicArn
================================================
FILE: foundational/account-vending/stacks/prereqs-puppet-account-optional/v1/template.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="AccountNotificationCreatedTopicArn" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F34482;gradientDirection=north;fillColor=#BC1356;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sns;" vertex="1" parent="1"><mxGeometry width="50" height="50" as="geometry"/></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/amazon-guardduty-multi-account/README.md
================================================
================================================
FILE: foundational/amazon-guardduty-multi-account/example-manifest.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
parameters:
SCTAccountId:
default: &SCTAccountId "${AWS::PuppetAccountId}"
SecurityToolingAccountId:
default: &SecurityToolingAccountId "338024302548"
GuardDutyMultiAccountFunctionName:
default: &GuardDutyMultiAccountFunctionName GuardDutyMultiAccountFunction
stacks:
amazon-guardduty-multi-account-prereqs-orgs-account:
name: amazon-guardduty-multi-account-prereqs-orgs-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
deploy_to:
tags:
- tag: 'role:org_management'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/GuardDutyMultiAccount/GuardDutyMultiAccountDelegateAdminRoleArn"
stack_output: GuardDutyMultiAccountDelegateAdminRoleArn
amazon-guardduty-multi-account-prereqs-securitytooling-account:
name: amazon-guardduty-multi-account-prereqs-securitytooling-account
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
deploy_to:
tags:
- tag: 'role:securitytooling'
regions: default_region
outputs:
ssm:
- param_name: "/foundational/GuardDutyMultiAccount/GuardDutyMultiAccountGuardDutyRoleArn"
stack_output: GuardDutyMultiAccountGuardDutyRoleArn
amazon-guardduty-multi-account-enabler-and-creator:
name: amazon-guardduty-multi-account-enabler-and-creator
version: v1
execution: hub
capabilities:
- CAPABILITY_NAMED_IAM
parameters:
GuardDutyMultiAccountDelegateAdminRoleArn:
ssm:
name: "/foundational/GuardDutyMultiAccount/GuardDutyMultiAccountDelegateAdminRoleArn"
GuardDutyMultiAccountGuardDutyRoleArn:
ssm:
name: "/foundational/GuardDutyMultiAccount/GuardDutyMultiAccountGuardDutyRoleArn"
depends_on:
- name: amazon-guardduty-multi-account-prereqs-orgs-account
affinity: stack
type: stack
deploy_to:
tags:
- tag: 'role:sct'
regions: default_region
lambda-invocations:
amazon-guardduty-multi-account:
function_name: *GuardDutyMultiAccountFunctionName
qualifier: $LATEST
invocation_type: RequestResponse
parameters:
accounts_to_ensure:
default: ${AWS::ManifestAccountsSpokes}
depends_on:
- name: amazon-guardduty-multi-account-enabler-and-creator
affinity: stack
type: stack
invoke_for:
tags:
- regions: "default_region"
tag: "role:securitytooling"
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/amazon-guardduty-multi-account.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Schema: factory-2019-04-01
Stacks:
- Name: amazon-guardduty-multi-account-enabler-and-creator
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/enabler-and-creator/v1
Configuration:
RepositoryName: amazon-guardduty-multi-account
BranchName: main
- Name: amazon-guardduty-multi-account-prereqs-orgs-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-orgs-account/v1
Configuration:
RepositoryName: amazon-guardduty-multi-account
BranchName: main
- Name: amazon-guardduty-multi-account-prereqs-securitytooling-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-securitytooling-account/v1
Configuration:
RepositoryName: amazon-guardduty-multi-account
BranchName: main
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/enabler-and-creator/enabler-and-creator.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="Function" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F78E04;gradientDirection=north;fillColor=#D05C17;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1"><mxGeometry width="50" height="50" as="geometry"/></mxCell><mxCell id="3" value="ExecutionRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry x="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="ExecutionRole|Function" value="Role" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="25"/><mxPoint x="238" y="25"/></Array></mxGeometry></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/enabler-and-creator/v1/stack.template.yaml
================================================
Parameters:
GuardDutyMultiAccountDelegateAdminRoleArn:
Type: String
GuardDutyMultiAccountGuardDutyRoleArn:
Type: String
GuardDutyMultiAccountExecutionRoleName:
Type: String
Default: "GuardDutyMultiAccountExecutionRole"
GuardDutyMultiAccountRolePath:
Type: String
Default: "/foundational/GuardDutyMultiAccount/"
GuardDutyMultiAccountFunctionName:
Type: String
Default: "GuardDutyMultiAccountFunction"
SecurityToolingAccountId:
Type: String
Resources:
Function:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref GuardDutyMultiAccountFunctionName
Code:
ZipFile: |
import logging
import boto3
import os
import json
boto_level = os.environ.get("BOTO_LOG_LEVEL", logging.CRITICAL)
logging.getLogger("boto").setLevel(boto_level)
logging.getLogger("boto3").setLevel(boto_level)
logging.getLogger("botocore").setLevel(boto_level)
logging.getLogger("urllib3").setLevel(boto_level)
log_level = os.environ.get("LOG_LEVEL", logging.WARNING)
logger = logging.getLogger(__name__)
logging.basicConfig(
format="%(levelname)s %(threadName)s %(message)s", level=logging.INFO
)
logger.setLevel(log_level)
def get_detector_id(client):
paginator = client.get_paginator('list_detectors')
for page in paginator.paginate():
for detector_id in page.get("DetectorIds", []):
logger.debug(f"Looking at {detector_id}")
detector = client.get_detector(
DetectorId=detector_id
)
logger.debug(f"Checking detector: {detector.get('Status')}")
if detector.get("Status") == "ENABLED":
return detector_id
logger.info("Did not find an enabled detector")
return None
def create_detector(client):
response = client.create_detector(
Enable=True,
ClientToken='foundational-aws-guardduty-multi-account',
FindingPublishingFrequency='FIFTEEN_MINUTES',
DataSources={
'S3Logs': {
'Enable': True
}
},
)
logger.info("created a detector")
return response.get("DetectorId")
def update_organization_configuration(client, detector_id):
if client.describe_organization_configuration(DetectorId=detector_id).get("AutoEnable", False) is not True:
logger.info("AutoEnabled was not enabled")
client.update_organization_configuration(
DetectorId=detector_id,
AutoEnable=True,
DataSources={
'S3Logs': {
'AutoEnable': True
}
}
)
logger.info("AutoEnabled set to true")
def enable_organization_admin_account(client, admin_account_id):
client.enable_organization_admin_account(
AdminAccountId=admin_account_id
)
def is_an_organization_admin_accounts(client, account_id):
paginator = client.get_paginator('list_organization_admin_accounts')
for page in paginator.paginate():
for admin_accounts in page.get("AdminAccounts", []):
if admin_accounts.get("AdminAccountId") == account_id:
return admin_accounts.get("AdminStatus") == "ENABLED"
return False
def make_an_organization_admin_accounts(client, account_id):
client.enable_organization_admin_account(
AdminAccountId=account_id
)
logger.info(f"made {account_id} an org admin account")
def get_org_client():
guard_duty_multi_account_delegate_admin_role_arn = os.environ.get(
"GUARD_DUTY_MULTI_ACCOUNT_DELEGATE_ADMIN_ROLE_ARN")
sts = boto3.client('sts')
assumed_role_object = sts.assume_role(
RoleArn=guard_duty_multi_account_delegate_admin_role_arn,
RoleSessionName='guard_duty_multi_account_delegate_admin_role_arn',
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
return boto3.client('guardduty', **kwargs)
def create_client(region):
guard_duty_multi_account_guard_duty_role_arn = os.environ.get(
"GUARD_DUTY_MULTI_ACCOUNT_GUARD_DUTY_ROLE_ARN")
sts = boto3.client('sts')
assumed_role_object = sts.assume_role(
RoleArn=guard_duty_multi_account_guard_duty_role_arn,
RoleSessionName='guard_duty_multi_account_guard_duty_role_arn',
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
return boto3.client('guardduty', region_name=region, **kwargs)
def ensure_all_are_members(client, detector_id, accounts_to_ensure):
accounts_to_add = [{
'AccountId': account_to_ensure.get("account_id"),
'Email': account_to_ensure.get("email")
} for account_to_ensure in accounts_to_ensure]
client.create_members(
DetectorId=detector_id,
AccountDetails=accounts_to_add
)
logger.info(f"created members: {accounts_to_add}")
def handle(event, context):
logger.info("starting")
logger.debug(json.dumps(event, default=str))
parameters = event.get("parameters")
security_tooling_account_id = parameters.get("SecurityToolingAccountId")
accounts_to_ensure = json.loads(parameters.get("SCTManifestSpokes"))
regions_to_ensure = json.loads(parameters.get("SCTConfigRegions"))
org_client = get_org_client()
if not is_an_organization_admin_accounts(org_client, security_tooling_account_id):
logger.info(f"{security_tooling_account_id} is not an org admin account")
make_an_organization_admin_accounts(org_client, security_tooling_account_id)
logger.info(f"Finished with org setup/config")
paginator = org_client.get_paginator('list_detectors')
detectors = []
for page in paginator.paginate():
detectors += page.get("DetectorIds", [])
if len(detectors) != 1:
raise Exception(f"There was not 1 detector in the home region of the gd org account. Detectors: {detectors}")
detector_id = detectors[0]
update_organization_configuration(org_client, detector_id)
for region in regions_to_ensure:
guardduty = create_client(region)
detector_id = get_detector_id(guardduty)
if detector_id is None:
detector_id = create_detector(guardduty)
ensure_all_are_members(guardduty, detector_id, accounts_to_ensure)
logger.info(f"Finished with region: {region}")
logger.info(f"Finished with regional setup/config")
logger.info("created")
Handler: index.handle
MemorySize: 128
Runtime: python3.8
Role: !GetAtt ExecutionRole.Arn
Timeout: 30
Environment:
Variables:
GUARD_DUTY_MULTI_ACCOUNT_DELEGATE_ADMIN_ROLE_ARN: !Ref GuardDutyMultiAccountDelegateAdminRoleArn
GUARD_DUTY_MULTI_ACCOUNT_GUARD_DUTY_ROLE_ARN: !Ref GuardDutyMultiAccountGuardDutyRoleArn
BOTO_LOG_LEVEL: CRITICAL
LOG_LEVEL: INFO
ExecutionRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref GuardDutyMultiAccountExecutionRoleName
Path: !Ref GuardDutyMultiAccountRolePath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
Policies:
- PolicyName: OrgsPerms
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref GuardDutyMultiAccountDelegateAdminRoleArn
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref GuardDutyMultiAccountGuardDutyRoleArn
- PolicyName: Logging
PolicyDocument:
Statement:
- Effect: Allow
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Resource: "*"
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/prereqs-orgs-account/prereqs-orgs-account.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="GuardDutyMultiAccountDelegateAdminRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry width="50" height="50" as="geometry"/></mxCell><mxCell id="3" value="iam ${sctaccountid}
root" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;" vertex="1" parent="1"><mxGeometry x="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="iam ${sctaccountid}
root|GuardDutyMultiAccountDelegateAdminRole" value="AWS" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="25"/><mxPoint x="238" y="25"/></Array></mxGeometry></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/prereqs-orgs-account/v1/stack.template.yaml
================================================
Parameters:
GuardDutyMultiAccountDelegateAdminRoleName:
Type: String
Default: "GuardDutyMultiAccountDelegateAdminRole"
GuardDutyMultiAccountRolePath:
Type: String
Default: "/foundational/GuardDutyMultiAccount/"
SCTAccountId:
Type: String
Resources:
GuardDutyMultiAccountDelegateAdminRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref GuardDutyMultiAccountDelegateAdminRoleName
Path: !Ref GuardDutyMultiAccountRolePath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
AWS: !Sub "arn:aws:iam::${SCTAccountId}:root"
Action:
- "sts:AssumeRole"
Policies:
- PolicyName: PermissionsForGuardDutyAdmin
PolicyDocument:
Statement:
- Effect: Allow
Action:
- "organizations:EnableAWSServiceAccess"
- "organizations:RegisterDelegatedAdministrator"
- "organizations:ListDelegatedAdministrators"
- "organizations:ListAWSServiceAccessForOrganization"
- "organizations:DescribeOrganizationalUnit"
- "organizations:DescribeAccount"
- "organizations:DescribeOrganization"
- "guardduty:ListOrganizationAdminAccounts"
- "guardduty:EnableOrganizationAdminAccount"
- "guardduty:ListDetectors"
- "guardduty:DescribeOrganizationConfiguration"
Resource: "*"
Outputs:
GuardDutyMultiAccountDelegateAdminRoleArn:
Description: Arn of the GuardDutyMultiAccountDelegateAdminRole
Value: !GetAtt GuardDutyMultiAccountDelegateAdminRole.Arn
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/prereqs-securitytooling-account/prereqs-securitytooling-account.drawio
================================================
<mxfile host="" modified="2020-05-24T15:21:41.060Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.45.0 Chrome/78.0.3904.130 Electron/7.2.4 Safari/537.36" version="13.1.3" etag="lrwgP8mNOWNbAz78NI_h" pages="2">
<diagram id="diagramid" name="Diagram">
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="GuardDutyMultiAccountGuardDutyRole" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#F54749;gradientDirection=north;fillColor=#C7131F;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.role;" vertex="1" parent="1"><mxGeometry width="50" height="50" as="geometry"/></mxCell><mxCell id="3" value="iam ${sctaccountid}
root" style="outlineConnect=0;fontColor=#B3B3B3;gradientColor=#aaaaaa;gradientDirection=north;fillColor=#aaaaaa;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;" vertex="1" parent="1"><mxGeometry x="250" width="50" height="50" as="geometry"/></mxCell><mxCell id="iam ${sctaccountid}
root|GuardDutyMultiAccountGuardDutyRole" value="AWS" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;fontColor=#EA6B66;noEdgeStyle=1;orthogonal=1;" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="62" y="25"/><mxPoint x="238" y="25"/></Array></mxGeometry></mxCell></root></mxGraphModel>
</diagram>
</mxfile>
================================================
FILE: foundational/amazon-guardduty-multi-account/stacks/prereqs-securitytooling-account/v1/stack.template.yaml
================================================
Parameters:
GuardDutyMultiAccountGuardDutyRoleName:
Type: String
Default: "GuardDutyMultiAccountGuardDutyRole"
GuardDutyMultiAccountRolePath:
Type: String
Default: "/foundational/GuardDutyMultiAccount/"
SCTAccountId:
Type: String
Resources:
GuardDutyMultiAccountGuardDutyRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref GuardDutyMultiAccountGuardDutyRoleName
Path: !Ref GuardDutyMultiAccountRolePath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
AWS: !Sub "arn:aws:iam::${SCTAccountId}:root"
Action:
- "sts:AssumeRole"
Policies:
- PolicyName: GDPerms
PolicyDocument:
Statement:
- Effect: Allow
Action:
- guardduty:ListDetectors
- guardduty:GetDetector
- guardduty:CreateDetector
- guardduty:DescribeOrganizationConfiguration
- guardduty:UpdateOrganizationConfiguration
- guardduty:CreateMembers
- iam:CreateServiceLinkedRole
Resource: "*"
Outputs:
GuardDutyMultiAccountGuardDutyRoleArn:
Description: Arn of the GuardDutyMultiAccountGuardDutyRole
Value: !GetAtt GuardDutyMultiAccountGuardDutyRole.Arn
================================================
FILE: foundational/aws-securityhub-multi-account/README.md
================================================
## What to deploy
Deploy prereqs orgs account to orgs management account
deploy prereqs to security tooling account global to home region of security tooling account
deploy prereqs to security tooling account regional to enabled regions of security tooling account
## What it does
creates deletegated administrator perms for security tooling account
creates iam role for use in regional bits
regional bits create a detector, invites all members and sets auto enable to on
================================================
FILE: foundational/aws-securityhub-multi-account/stacks/aws-securityhub-multi-account.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Schema: factory-2019-04-01
Stacks:
- Name: aws-securityhub-multi-account-enabler-and-creator
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/enabler-and-creator/v1
Configuration:
RepositoryName: aws-securityhub-multi-account
BranchName: main
- Name: aws-securityhub-multi-account-prereqs-orgs-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-orgs-account/v1
Configuration:
RepositoryName: aws-securityhub-multi-account
BranchName: main
- Name: aws-securityhub-multi-account-prereqs-securitytooling-account
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: governance
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/prereqs-securitytooling-account/v1
Configuration:
RepositoryName: aws-securityhub-multi-account
BranchName: main
================================================
FILE: foundational/aws-securityhub-multi-account/stacks/enabler-and-creator/v1/stack.template.yaml
================================================
Parameters:
SecurityHubMultiAccountDelegateAdminRoleArn:
Type: String
SecurityHubMultiAccountSecurityHubRoleArn:
Type: String
SecurityHubMultiAccountExecutionRoleName:
Type: String
Default: "SecurityHubMultiAccountExecutionRole"
SecurityHubMultiAccountRolePath:
Type: String
Default: "/foundational/SecurityHubMultiAccount/"
Resources:
Function:
Type: AWS::Lambda::Function
Properties:
Code:
ZipFile: |
import logging
import boto3
import os
import json
boto_level = os.environ.get("BOTO_LOG_LEVEL", logging.CRITICAL)
logging.getLogger("boto").setLevel(boto_level)
logging.getLogger("boto3").setLevel(boto_level)
logging.getLogger("botocore").setLevel(boto_level)
logging.getLogger("urllib3").setLevel(boto_level)
log_level = os.environ.get("LOG_LEVEL", logging.WARNING)
logger = logging.getLogger(__name__)
logging.basicConfig(
format="%(levelname)s %(threadName)s %(message)s", level=logging.INFO
)
logger.setLevel(log_level)
def update_organization_configuration(client):
describe_organization_configuration_response = client.describe_organization_configuration()
if describe_organization_configuration_response.get("MemberAccountLimitReached", False) is True:
raise Exception("Member account limit reached")
if describe_organization_configuration_response.get("AutoEnable", False) is not True:
logger.info("AutoEnabled was not enabled")
client.update_organization_configuration(
AutoEnable=True,
)
logger.info("AutoEnabled set to true")
def enable_organization_admin_account(client, admin_account_id):
client.enable_organization_admin_account(
AdminAccountId=admin_account_id
)
def is_an_organization_admin_accounts(client, account_id):
paginator = client.get_paginator('list_organization_admin_accounts')
for page in paginator.paginate():
for admin_accounts in page.get("AdminAccounts", []):
if admin_accounts.get("AdminAccountId") == account_id:
return admin_accounts.get("AdminStatus") == "ENABLED"
return False
def make_an_organization_admin_accounts(client, account_id):
client.enable_organization_admin_account(
AdminAccountId=account_id
)
logger.info(f"made {account_id} an org admin account")
def get_org_client(region):
security_hub_multi_account_delegate_admin_role_arn = os.environ.get(
"SECURITY_HUB_MULTI_ACCOUNT_DELEGATE_ADMIN_ROLE_ARN")
sts = boto3.client('sts')
assumed_role_object = sts.assume_role(
RoleArn=security_hub_multi_account_delegate_admin_role_arn,
RoleSessionName='security_hub_multi_account_delegate_admin_role_arn',
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
return boto3.client('securityhub', region_name=region, **kwargs)
def create_client(region):
security_hub_multi_account_security_hub_role_arn = os.environ.get(
"SECURITY_HUB_MULTI_ACCOUNT_SECURITY_HUB_ROLE_ARN")
sts = boto3.client('sts')
assumed_role_object = sts.assume_role(
RoleArn=security_hub_multi_account_security_hub_role_arn,
RoleSessionName='security_hub_multi_account_security_hub_role_arn',
)
credentials = assumed_role_object['Credentials']
kwargs = {
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
return boto3.client('securityhub', region_name=region, **kwargs)
def ensure_all_are_members(client, accounts_to_ensure):
create_members_response = client.create_members(
AccountDetails=[{
'AccountId': account_to_ensure.get("account_id"),
'Email': account_to_ensure.get("email")
} for account_to_ensure in accounts_to_ensure]
)
if len(create_members_response.get("UnprocessedAccounts", [])) > 0:
raise Exception(f"There were unprocessed accounts: {create_members_response.get('UnprocessedAccounts')}")
logger.info(f"created members")
def handle(event, context):
logger.info("starting")
logger.debug(json.dumps(event, default=str))
parameters = event.get("parameters")
security_tooling_account_id = parameters.get("SecurityToolingAccountId")
accounts_to_ensure = parameters.get("SCTManifestSpokes")
regions_to_ensure = parameters.get("SCTConfigRegions").split(",")
for region in regions_to_ensure:
org_client = get_org_client(region)
if not is_an_organization_admin_accounts(org_client, security_tooling_account_id):
logger.info(f"{security_tooling_account_id} is not an org admin account")
make_an_organization_admin_accounts(org_client, security_tooling_account_id)
securityhub = create_client(region)
update_organization_configuration(securityhub)
ensure_all_are_members(securityhub, json.loads(accounts_to_ensure))
logger.info("created")
Handler: index.handle
MemorySize: 128
Runtime: python3.8
Role: !GetAtt ExecutionRole.Arn
Timeout: 30
Environment:
Variables:
SECURITY_HUB_MULTI_ACCOUNT_DELEGATE_ADMIN_ROLE_ARN: !Ref SecurityHubMultiAccountDelegateAdminRoleArn
SECURITY_HUB_MULTI_ACCOUNT_SECURITY_HUB_ROLE_ARN: !Ref SecurityHubMultiAccountSecurityHubRoleArn
BOTO_LOG_LEVEL: CRITICAL
LOG_LEVEL: INFO
ExecutionRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref SecurityHubMultiAccountExecutionRoleName
Path: !Ref SecurityHubMultiAccountRolePath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
Policies:
- PolicyName: OrgsPerms
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref SecurityHubMultiAccountDelegateAdminRoleArn
- PolicyName: GDPerms
PolicyDocument:
Statement:
- Effect: Allow
Action:
- sts:AssumeRole
Resource: !Ref SecurityHubMultiAccountSecurityHubRoleArn
- PolicyName: Logging
PolicyDocument:
Statement:
- Effect: Allow
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Resource: "*"
================================================
FILE: foundational/aws-securityhub-multi-account/stacks/prereqs-orgs-account/v1/stack.template.yaml
================================================
Parameters:
SecurityHubMultiAccountDelegateAdminRoleName:
Type: String
Default: "SecurityHubMultiAccountDelegateAdminRole"
SecurityHubMultiAccountRolePath:
Type: String
Default: "/foundational/SecurityHubMultiAccount/"
SCTAccountId:
Type: String
Resources:
SecurityHubMultiAccountDelegateAdminRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref SecurityHubMultiAccountDelegateAdminRoleName
Path: !Ref SecurityHubMultiAccountRolePath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
AWS: !Sub "arn:aws:iam::${SCTAccountId}:root"
Action:
- "sts:AssumeRole"
Policies:
- PolicyName: PermissionsForSecurityHubAdmin
PolicyDocument:
Statement:
- Effect: Allow
Action:
- "organizations:EnableAWSServiceAccess"
- "organizations:RegisterDelegatedAdministrator"
- "organizations:ListDelegatedAdministrators"
- "organizations:ListAWSServiceAccessForOrganization"
- "organizations:DescribeOrganizationalUnit"
- "organizations:DescribeAccount"
- "organizations:DescribeOrganization"
- "securityhub:ListOrganizationAdminAccounts"
- "securityhub:EnableOrganizationAdminAccount"
Resource: "*"
Outputs:
SecurityHubMultiAccountDelegateAdminRoleArn:
Description: Arn of the SecurityHubMultiAccountDelegateAdminRole
Value: !GetAtt SecurityHubMultiAccountDelegateAdminRole.Arn
================================================
FILE: foundational/aws-securityhub-multi-account/stacks/prereqs-securitytooling-account/v1/stack.template.yaml
================================================
Parameters:
SecurityHubMultiAccountSecutityHubRoleName:
Type: String
Default: "SecurityHubMultiAccountSecutityHubRole"
SecurityHubMultiAccountRolePath:
Type: String
Default: "/foundational/SecurityHubMultiAccount/"
Resources:
SecurityHubMultiAccountSecutityHubRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref SecurityHubMultiAccountSecutityHubRoleName
Path: !Ref SecurityHubMultiAccountRolePath
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
Policies:
- PolicyName: GDPerms
PolicyDocument:
Statement:
- Effect: Allow
Action:
- securityhub:DescribeOrganizationConfiguration
- securityhub:UpdateOrganizationConfiguration
Resource: "*"
Outputs:
SecurityHubMultiAccountSecutityHubRoleArn:
Description: Arn of the SecurityHubMultiAccountSecutityHubRole
Value: !GetAtt SecurityHubMultiAccountSecutityHubRole.Arn
================================================
FILE: foundational/delete-default-networking/example-manifest.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
schema: puppet-2019-04-01
stacks:
delete-default-networking-function:
name: delete-default-networking-function
version: v1
parameters:
DeleteDefaultNetworkingRoleNameToAssume:
default: servicecatalog-puppet/PuppetRole
DeleteDefaultVPCLambdaExecutionIAMRoleName:
default: DeleteDefaultVPCLambdaExecution
DeleteDefaultVPCLambdaExecutionIAMRolePath:
default: /foundational/DeleteDefaultVPCLambdaExecution/
DeleteDefaultNetworkingLambdaFunctionName:
default: &DeleteDefaultNetworking DeleteDefaultNetworking
deploy_to:
tags:
- regions: default_region
tag: role:sct
lambda-invocations:
delete-default-networking:
function_name: *DeleteDefaultNetworking
qualifier: $LATEST
invocation_type: Event
invoke_for:
tags:
- regions: enabled_regions
tag: "role:spoke"
================================================
FILE: foundational/delete-default-networking/stacks/delete-default-networking.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Schema: factory-2019-04-01
Stacks:
- Name: delete-default-networking-function
Tags:
- Key: category
Value: foundational
- Key: product-type
Value: networking
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/function/v1
Configuration:
RepositoryName: delete-default-networking
BranchName: main
================================================
FILE: foundational/delete-default-networking/stacks/function/v1/README.md
================================================
# product.template
# Description
Deletes the following default networking components from AWS Accounts:
1) Deletes the internet gateway
2) Deletes the subnets
4) Deletes the network access lists
5) Deletes the security groups
6) Deletes the default VPC
{"framework": "servicecatalog-products", "role": "product", "product-set": "delete-default-vpc", "product": "delete-default-vpc", "version": "v1"}
## Parameters
The list of parameters for this template:
### RegionsToDeleteFrom
Type: String
Description: Comma separated list of AWS Regions to delete the default VPC from
## Resources
The list of resources this template creates:
### DefaultVpcDeletionRole
Type: AWS::IAM::Role
### CustomDefaultVpcDeletionPolicy
Type: AWS::IAM::Policy
### DefaultVpcDeletionLambda
Type: AWS::Lambda::Function
## Outputs
The list of outputs this template exposes:
================================================
FILE: foundational/delete-default-networking/stacks/function/v1/stack.template.yaml
================================================
AWSTemplateFormatVersion: "2010-09-09"
Description: |
Deletes the following default networking components from AWS Accounts:
1) Deletes the internet gateway
2) Deletes the subnets
4) Deletes the network access lists
5) Deletes the security groups
6) Deletes the default VPC
{"framework": "servicecatalog-products", "role": "product", "product-set": "delete-default-vpc", "product": "delete-default-vpc", "version": "v1"}
Parameters:
DeleteDefaultNetworkingRoleNameToAssume:
Description: "Name of the IAM Role that will be assumed in the spoke account to remove networking"
Type: String
Default: "servicecatalog-puppet/PuppetRole"
DeleteDefaultVPCLambdaExecutionIAMRoleName:
Description: "Name of the IAM Role that will be created to execute the lambda function"
Type: String
Default: "DeleteDefaultVPCLambdaExecution"
DeleteDefaultVPCLambdaExecutionIAMRolePath:
Description: "The path for the IAM Role that will be created to execute the lambda function"
Type: String
Default: "/foundational/DeleteDefaultVPCLambdaExecution/"
DeleteDefaultNetworkingLambdaFunctionName:
Description: "The name to give the function that deletes the default networking resources"
Type: String
Default: "DeleteDefaultNetworking"
Resources:
DefaultVpcDeletionRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref DeleteDefaultVPCLambdaExecutionIAMRoleName
Path: !Ref DeleteDefaultVPCLambdaExecutionIAMRolePath
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action: sts:AssumeRole
Principal:
Service: lambda.amazonaws.com
Policies:
- PolicyName: Organizations
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- "sts:AssumeRole"
Resource: !Sub 'arn:${AWS::Partition}:iam::*:role/${DeleteDefaultNetworkingRoleNameToAssume}'
- Effect: Allow
Action:
- "ec2:DescribeInternetGateways"
- "ec2:DetachInternetGateway"
- "ec2:DeleteInternetGateway"
- "ec2:DescribeSubnets"
- "ec2:DeleteSubnet"
- "ec2:DescribeRouteTables"
- "ec2:DeleteRouteTable"
- "ec2:DescribeNetworkAcls"
- "ec2:DeleteNetworkAcl"
- "ec2:DeleteSecurityGroup"
- "ec2:DeleteVpc"
- "ec2:DescribeRegions"
- "ec2:DescribeAccountAttributes"
- "ec2:DescribeNetworkInterfaces"
- "ec2:DescribeSecurityGroups"
- "ec2:DeleteSecurityGroup"
- "logs:CreateLogGroup"
- "logs:CreateLogStream"
- "logs:PutLogEvents"
Resource: '*'
Function:
Type: AWS::Lambda::Function
Properties:
FunctionName: !Ref DeleteDefaultNetworkingLambdaFunctionName
Handler: index.lambda_handler
Runtime: python3.7
Timeout: 600
Role: !GetAtt DefaultVpcDeletionRole.Arn
Environment:
Variables:
DeleteDefaultNetworkingRoleNameToAssume: !Ref DeleteDefaultNetworkingRoleNameToAssume
Partition: !Sub '${AWS::Partition}'
Code:
ZipFile: |
import boto3, logging, traceback, os
from boto3 import Session
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logging.basicConfig(
format='%(levelname)s %(threadName)s [%(filename)s:%(lineno)d] %(message)s',
datefmt='%Y-%m-%d:%H:%M:%S',
level=logging.INFO
)
def delete_igw(client, vpc_id):
fltr = [{'Name': 'attachment.vpc-id', 'Values': [vpc_id]}]
try:
igw = client.describe_internet_gateways(Filters=fltr)['InternetGateways']
if igw:
igw_id = igw[0]['InternetGatewayId']
client.detach_internet_gateway(InternetGatewayId=igw_id, VpcId=vpc_id)
client.delete_internet_gateway(InternetGatewayId=igw_id)
return
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
raise
def delete_subnets(client):
try:
subs = client.describe_subnets()['Subnets']
if subs:
for sub in subs:
sub_id = sub['SubnetId']
client.delete_subnet(SubnetId=sub_id)
return
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
raise
def delete_rtbs(client):
try:
rtbs = client.describe_route_tables()['RouteTables']
if rtbs:
for rtb in rtbs:
main = False
for assoc in rtb['Associations']:
main = assoc['Main']
if main:
continue
rtb_id = rtb['RouteTableId']
client.delete_route_table(RouteTableId=rtb_id)
return
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
raise
def delete_acls(client):
try:
acls = client.describe_network_acls()['NetworkAcls']
if acls:
for acl in acls:
default = acl['IsDefault']
if default:
continue
acl_id = acl['NetworkAclId']
client.delete_network_acl(NetworkAclId=acl_id)
return
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
raise
def delete_sgps(client):
try:
sgps = client.describe_security_groups()['SecurityGroups']
if sgps:
for sgp in sgps:
default = sgp['GroupName']
if default == 'default':
continue
sg_id = sgp['GroupId']
client.delete_security_group(GroupId=sg_id)
return
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
raise
def delete_vpc(client, vpc_id, region):
try:
client.delete_vpc(VpcId=vpc_id)
logger.info('VPC {} has been deleted from the {} region.'.format(vpc_id, region))
return
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
raise
def lambda_handler(e, c):
account_id=e.get("account_id")
region=e.get("region")
role_arn = f"arn:{os.getenv('Partition')}:iam::{account_id}:role/{os.getenv('DeleteDefaultNetworkingRoleNameToAssume')}"
sts = Session().client('sts')
assumed_role_object = sts.assume_role(
RoleArn=role_arn,
RoleSessionName="spoke",
)
credentials = assumed_role_object['Credentials']
kwargs = {
"service_name": "ec2",
"aws_access_key_id": credentials['AccessKeyId'],
"aws_secret_access_key": credentials['SecretAccessKey'],
"aws_session_token": credentials['SessionToken'],
}
ec2 = Session().client(**kwargs, region_name=region)
try:
attribs = ec2.describe_account_attributes(AttributeNames=['default-vpc'])['AccountAttributes']
vpc_id = attribs[0]['AttributeValues'][0]['AttributeValue']
if vpc_id == 'none':
logger.info('Default VPC not found in {}'.format(region))
return
# Since most resources are attached an ENI, this checks for additional resources
f = [{'Name': 'vpc-id', 'Values': [vpc_id]}]
eni = ec2.describe_network_interfaces(Filters=f)['NetworkInterfaces']
if eni:
logger.error('VPC {} has existing resources in the {} region.'.format(vpc_id, region))
return
delete_igw(ec2, vpc_id)
delete_subnets(ec2)
delete_rtbs(ec2)
delete_acls(ec2)
delete_sgps(ec2)
delete_vpc(ec2, vpc_id, region)
except Exception as ex:
logger.error(ex)
traceback.print_tb(ex.__traceback__)
================================================
FILE: operations/codebuild-sns-notifier/README.md
================================================
# CodeBuild SNS Notifier
This solution creates an SNS notification for CodeBuild Jobs in the event that a build fails or is stopped.
## Description
* Deploys a single product in the tooling account that will trigger Cloudwatch events rule if a commit is made to a designated branch of all repositories in the designated AWS account
* Product consists of CloudWatch Event rule that is triggered for a CodeBuild Build job in the event that a build fails or is stopped
* SNS Topic and subscripton is created and Notification sent via E-mail when event occurs
================================================
FILE: operations/codebuild-sns-notifier/example-manifest.yaml
================================================
schema: puppet-2019-04-01
stacks:
code-commitbackups:
name: code-commit-backups
version: v1
parameters:
pServiceCatalogCodeCommitSnsNotifyEmail:
default: 'itops@company.com'
deploy_to:
tags:
- tag: role:sct
regions: default_region
================================================
FILE: operations/codebuild-sns-notifier/stacks/codebuild-sns-notifier/v1/stack.template.yaml
================================================
# Copyright 2021 Amazon.com Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
AWSTemplateFormatVersion: '2010-09-09'
Description: |
Product that sends an SNS notification when a CodeBuild Build job succeeeds or fails.
{"framework": "servicecatalog-products", "role": "product", "product-category": "operations", "product-set": "codebuild-sns-notifier", "product": "codebuild-sns-notifier", "version": "v1"}
Parameters:
CodeBuildSnsNotifyEmail:
Type: String
Description: Target E-mail address for SNS Notifications to be sent to
Resources:
# sns topic for notifications
rSnsTopic:
Type: AWS::SNS::Topic
Properties:
DisplayName: codebuild-notify
TopicName: codebuild-notify
# sns subscription for notifications
rSnsSubscription:
Type: AWS::SNS::Subscription
Properties:
Endpoint:
Ref: CodeBuildSnsNotifyEmail
Protocol: email
TopicArn:
Ref: rSnsTopic
# policy to allow cloudwatch to publish to sns
rEventTopicPolicy:
Type: 'AWS::SNS::TopicPolicy'
Properties:
PolicyDocument:
Statement:
- Effect: Allow
Principal:
Service: events.amazonaws.com
Action: 'sns:Publish'
Resource: !Ref rSnsTopic
Topics:
- !Ref rSnsTopic
# SNS notification Cloudwatch rule
rCloudwatchNotifyRule:
Type: AWS::Events::Rule
Properties:
Description: Cloudwatch rule that watches for codebuild events
Name: codebuild-build-notify
EventPattern:
source:
- aws.codebuild
detail-type:
- CodeBuild Build State Change
detail:
build-status:
- FAILED
- STOPPED
Targets:
- Arn: !Ref rSnsTopic
Id: codebuild-trigger-notify
InputTransformer:
InputPathsMap: {"build-id":"$.detail.build-id","project-name":"$.detail.project-name","build-status":"$.detail.build-status","account-id":"$.account","region":"$.region","stream-id":"$.detail.additional-information.logs.stream-name","cloudwatchlogs-url":"$.detail.additional-information.logs.deep-link"} #uses jsonpath to pull logstream
InputTemplate: |
{"Build '<build-id>' for build project '<project-name>' has reached the build status of": <build-status>,
"BuildUrl": "https://console.aws.amazon.com/codesuite/codebuild/<account-id>/projects/<project-name>/build/<project-name>%3A<stream-id>/log?region=<region>",
"CloudWatchLogsUrl": <cloudwatchlogs-url>,
"AccountId": <account-id>,
"Region": <region>
}
Outputs:
oSnsTopic:
Description: SNS Topic Arn
Value: !Ref rSnsTopic
oSnsSubscription:
Description: SNS Subscription Arn
Value: !Ref rSnsSubscription
================================================
FILE: operations/codebuild-sns-notifier/stacks/codebuild-sns-notifier.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
Schema: factory-2019-04-01
Stacks:
- Name: codebuild-sns-notifier
Tags:
- Key: category
Value: operations
Versions:
- Name: v1
Active: True
Source:
Provider: CodeCommit
Path: stacks/codebuild-sns-notifier/v1
Configuration:
RepositoryName: codebuild-sns-notifier
BranchName: main
================================================
FILE: operations/codecommit-backups/README.md
================================================
# CodeCommit backups
This solution backs up CodeCommit repositories to an S3 bucket in the event of a commit to the main/Main or master/Master branch of a codecommit repo. If setting parameter pScheduleBackups to 'true' will also create a schedule for backups (daily at 12PM by default, via a Cloudwatch Rule with schedule and a Lambda function)
## Description
* Deploys a single product in the tooling account that will trigger Cloudwatch events rule if a commit is made to a designated branch of all repositories in the designated AWS account
* Triggers a Codebuild project
* Clones the repo and exports to an S3 bucket
================================================
FILE: operations/codecommit-backups/example-manifest.yaml
================================================
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
schema: puppet-2019-04-01
stacks:
codecommit-backups:
name: codecommit-backups
version: v1
parameters:
pServiceCatalogCodeCommitBackupsScheduleBackups:
default: 'true'
deploy_to:
tags:
- tag: role:sct
regions: default_region
================================================
FILE: operations/codecommit-backups/stacks/codecommit-backups/v1/stack.template.yaml
================================================
# Copyright 2021 Amazon.com Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: |
Product that zips up code commit repo when a cloudwatch commit event occurs the zip is added to an s3 bucket.
{"framework": "servicecatalog-products", "role": "product", "product-category": "operations", "product-set": "codecommit-backups", "product": "codecommit-backups", "version": "v1"}
Parameters:
pServiceCatalogCodeCommitBackupsScheduleBackups:
Type: String
Description: Option whether to enable scheduled backups for the repo's in the account
AllowedValues:
- 'Yes'
- 'No'
pServiceCatalogCodeCommitBackupsCloudwatchEventsRoleName:
Type: String
Default: scpuppet-codecommit-backup-cloudwatchrole
pServiceCatalogCodeCommitBackupsCodebuildRoleName:
Type: String
Default: scpuppet-codecommit-backup-codebuildrole
pServiceCatalogCodeCommitBackupsLambdaRoleName:
Type: String
Default: scpuppet-codecommit-backup-lambdarole
pServiceCatalogCodeCommitBackupRolePath:
Type: String
Default: /operations/service-catalog-code-commit-backups/
pServiceCatalogCodeCommitBackupdEnvVersion:
Type: String
Description: Version of Codebuild Environment Version
Default: '5.0'
pServiceCatalogCodeCommitBackupschedule:
Type: String
Description: Expression for how frequently the backup is created. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html for syntax.
Default: 'cron(0 12 * * ? *)'
pServiceCatalogCodeCommitBackupsGitExtraArgs:
Type: String
Description: Extra arguments to pass to git clone operation, for example --depth or --recurse-submodules
Default: ''
pServiceCatalogCodeCommitBackupGrcVersion:
Type: String
Description: Version of Git remote codecommit to be installed
Default: '1.16'
Conditions:
ScheduleBackups: !Not [!Equals ['Yes', !Ref pServiceCatalogCodeCommitBackupsScheduleBackups]]
Resources:
# S3 Bucket to store backup files
rS3Bucket:
Type: AWS::S3::Bucket
DeletionPolicy: Retain
Properties:
BucketName: !Sub codecommit-backups-${AWS::AccountId}-${AWS::Region}
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
VersioningConfiguration:
Status: Enabled
# LogGroup for storing Codebuild logs
rCodeBuildLogs:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: /aws/codebuild/codecommit-backup-pipeline-logs
RetentionInDays: 7
# Service role for Codebuild
rCodeBuildRole:
Type: AWS::IAM::Role
DependsOn: rCodeBuildLogs
Properties:
RoleName: !Ref pServiceCatalogCodeCommitBackupsCodebuildRoleName
Path: !Ref pServiceCatalogCodeCommitBackupRolePath
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: codebuild.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Policies:
- PolicyName: codecommit-clone
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- codecommit:GitPull
Resource:
- !Sub 'arn:aws:codecommit:${AWS::Region}:${AWS::AccountId}:*'
- Effect: Allow
Action:
- s3:PutObject
- s3:GetObject
- s3:GetObjectVersion
- s3:GetBucketAcl
- s3:GetBucketLocation
Resource:
- !Sub 'arn:aws:s3:::codecommit-backups-${AWS::AccountId}-${AWS::Region}/*'
- Effect: Allow
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Resource:
- !GetAtt rCodeBuildLogs.Arn
- Effect: Allow
Action:
- s3:PutObject
- s3:GetObject
- s3:GetObjectVersion
- s3:GetBucketAcl
- s3:GetBucketLocation
Resource:
- !Sub arn:aws:s3:::codepipeline-${AWS::Region}-*
- Effect: Allow
Action:
- codebuild:CreateReportGroup
- codebuild:CreateReport
- codebuild:UpdateReport
- codebuild:BatchPutTestCases
- codebuild:BatchPutCodeCoverages
Resource:
- !Sub arn:aws:codebuild:${AWS::Region}:${AWS::AccountId}:report-group/codecommit-backup*
# Codebuild project
rCodeBuildProject:
Type: AWS::CodeBuild::Project
DependsOn:
- rCodeBuildRole
- rS3Bucket
Properties:
Name: codecommit-backup-pipeline
LogsConfig:
CloudWatchLogs:
GroupName: !Ref rCodeBuildLogs
Status: ENABLED
Environment:
Type: LINUX_CONTAINER
ComputeType: BUILD_GENERAL1_SMALL
Image: !Sub aws/codebuild/standard:${pServiceCatalogCodeCommitBackupdEnvVersion}
EnvironmentVariables:
- Name: S3Bucket
Type: PLAINTEXT
Value: !Ref rS3Bucket
- Name: GIT_EXTRA_ARGS
Type: PLAINTEXT
Value: !Ref pServiceCatalogCodeCommitBackupsGitExtraArgs
- Name: GRC_VERSION
Value: !Ref pServiceCatalogCodeCommitBackupGrcVersion
ServiceRole: !GetAtt rCodeBuildRole.Arn
Source:
Type: NO_SOURCE
BuildSpec: |
version: 0.2
phases:
install:
commands:
- pip install git-remote-codecommit==$GRC_VERSION
build:
commands:
- git clone $GIT_EXTRA_ARGS -b $REFERENCE_NAME codecommit::$REPO_REGION://$REPOSITORY_NAME
- dt=$(date '+%d-%m-%Y-%H:%M:%S');
- hash=$(git rev-parse --short HEAD);
- zip -r $REPOSITORY_NAME-$REFERENCE_NAME-$dt-$hash-backup.zip ./
artifacts:
files:
- $REFERENCE_NAME-$dt-$REPOSITORY_NAME-backup.zip
Artifacts:
Type: S3
Location: !Ref rS3Bucket
Name: backups
Packaging: NONE
EncryptionDisabled: false
# Cloudwatch role to put artifact in S3 bucket
rCloudWatchRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Ref pServiceCatalogCodeCommitBackupsCloudwatchEventsRoleName
Path: !Ref pServiceCatalogCodeCommitBackupRolePath
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service: [events.amazonaws.com]
Action: ["sts:AssumeRole"]
Description: Role for Cloudwatch to publish to codecommit backup bucket
Policies:
- PolicyName: CwForwardEventPolicy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- codebuild:StartBuild
Resource:
- !GetAtt rCodeBuildProject.Arn
# Cloudwatch rule to monitor for state change to Codecommit repository
rCloudWatchRule:
Type: AWS::Events::Rule
Properties:
Description: Cloudwatch rule that watches for commit events
Name: code-commit-backup-trigger
EventPattern:
source:
- aws.codecommit
detail-type:
- CodeCommit Repository State Change
detail:
event:
- referenceCreated
- referenceUpdated
referenceType:
- branch
referenceName:
- main
- master
- Master
- Main
Targets:
- Arn: !GetAtt rCodeBuildProject.Arn
Id: codebuild-trigger-backup
RoleArn: !GetAtt rCloudWatchRole.Arn
InputTransformer:
InputPathsMap: {"referenceType":"$.detail.referenceType","region":"$.region","repositoryName":"$.detail.repositoryName","account":"$.account","referenceName":"$.detail.referenceName"}
InputTemplate: |
{"environmentVariablesOverride": [
{
"name": "REFERENCE_NAME",
"value": <referenceName>
},
{
"name": "REFERENCE_TYPE",
"value": <referenceType>
},
{
"name": "REPOSITORY_NAME",
"value": <repositoryName>
},
{
"name": "REPO_REGION",
"value": <region>
},
{
"name": "ACCOUNT_ID",
"value": <account>
}
]}
rCodeCommitBackupLambdaFunction:
Type: AWS::Serverless::Function
Condition: ScheduleBackups
Properties:
InlineCode: |
import boto3
import logging
import os
import time
from botocore.exceptions import ClientError
# set region
region = os.environ['region']
boto_level = os.environ.get("BOTO_LOG_LEVEL", logging.CRITICAL)
logging.getLogger("boto").setLevel(boto_level)
logging.getLogger("boto3").setLevel(boto_level)
logging.getLogger("botocore").setLevel(boto_level)
logging.getLogger("urllib3").setLevel(boto_level)
log_level = os.environ.get("LOG_LEVEL", logging.WARNING)
log = logging.getLogger(__name__)
logging.basicConfig(format="%(levelname)s %(threadName)s %(message)s", level=logging.INFO)
log.setLevel(log_level)
def export_repos():
try:
# obtain repositories in aws account
client = boto3.client('codecommit')
codecommit = boto3.client('codebuild')
log.info('listing code commit repositories')
repos = client.list_repositories()
log.info(repos)
for repo in repos['repositories']:
reponame = repo['repositoryName']
log.info('get branches for repository')
log.info('repo name is:' +reponame)
branchpoll = getrepobranch(reponame)
for branch in branchpoll:
targetbranches = ['main','master','Main','Master']
# only targeting main branche(s)
if branch in targetbranches:
log.info(f'starting build for repo: {reponame}, branch {branch}')
buildjob = codecommit.start_build(
projectName='codecommit-backup-pipeline',
environmentVariablesOverride=[
{
'name': 'REFERENCE_NAME',
'value': branch,
'type': 'PLAINTEXT'
},
{
'name': 'REPOSITORY_NAME',
'value': reponame,
'type': 'PLAINTEXT'
},
{
'name': 'REPO_REGION',
'value': region,
Showing preview only (1,217K chars total). Download the full file or copy to clipboard to get everything.
gitextract_6v0r_5sn/ ├── .github/ │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── foundational/ │ ├── README.md │ ├── account-vending/ │ │ ├── README.md │ │ ├── example-manifest.yaml │ │ ├── portfolios/ │ │ │ ├── account-vending-with-aws-control-tower/ │ │ │ │ └── v1/ │ │ │ │ ├── product.template.yaml │ │ │ │ └── template.drawio │ │ │ ├── account-vending-with-aws-organizations/ │ │ │ │ └── v1/ │ │ │ │ ├── product.template.yaml │ │ │ │ └── template.drawio │ │ │ └── account-vending.yaml │ │ └── stacks/ │ │ ├── account-vending.yaml │ │ ├── prereqs-controltower-account/ │ │ │ └── v1/ │ │ │ ├── stack.template.yaml │ │ │ └── template.drawio │ │ ├── prereqs-orgs-account/ │ │ │ └── v1/ │ │ │ ├── stack.template.yaml │ │ │ └── template.drawio │ │ ├── prereqs-puppet-account/ │ │ │ └── v1/ │ │ │ ├── requirements.txt │ │ │ ├── src/ │ │ │ │ └── AccountCreationCustomResourceBacker/ │ │ │ │ └── handler.py │ │ │ ├── stack.template.yaml │ │ │ └── template.drawio │ │ └── prereqs-puppet-account-optional/ │ │ └── v1/ │ │ ├── stack.template.yaml │ │ └── template.drawio │ ├── amazon-guardduty-multi-account/ │ │ ├── README.md │ │ ├── example-manifest.yaml │ │ └── stacks/ │ │ ├── amazon-guardduty-multi-account.yaml │ │ ├── enabler-and-creator/ │ │ │ ├── enabler-and-creator.drawio │ │ │ └── v1/ │ │ │ └── stack.template.yaml │ │ ├── prereqs-orgs-account/ │ │ │ ├── prereqs-orgs-account.drawio │ │ │ └── v1/ │ │ │ └── stack.template.yaml │ │ └── prereqs-securitytooling-account/ │ │ ├── prereqs-securitytooling-account.drawio │ │ └── v1/ │ │ └── stack.template.yaml │ ├── aws-securityhub-multi-account/ │ │ ├── README.md │ │ └── stacks/ │ │ ├── aws-securityhub-multi-account.yaml │ │ ├── enabler-and-creator/ │ │ │ └── v1/ │ │ │ └── stack.template.yaml │ │ ├── prereqs-orgs-account/ │ │ │ └── v1/ │ │ │ └── stack.template.yaml │ │ └── prereqs-securitytooling-account/ │ │ └── v1/ │ │ └── stack.template.yaml │ └── delete-default-networking/ │ ├── example-manifest.yaml │ └── stacks/ │ ├── delete-default-networking.yaml │ └── function/ │ └── v1/ │ ├── README.md │ └── stack.template.yaml ├── operations/ │ ├── codebuild-sns-notifier/ │ │ ├── README.md │ │ ├── example-manifest.yaml │ │ └── stacks/ │ │ ├── codebuild-sns-notifier/ │ │ │ └── v1/ │ │ │ └── stack.template.yaml │ │ └── codebuild-sns-notifier.yaml │ ├── codecommit-backups/ │ │ ├── README.md │ │ ├── example-manifest.yaml │ │ └── stacks/ │ │ ├── codecommit-backups/ │ │ │ └── v1/ │ │ │ └── stack.template.yaml │ │ └── codecommit-backups.yaml │ └── service-catalog-puppet-pipeline-logs-exporter/ │ ├── README.md │ ├── example-manifest.yaml │ └── stacks/ │ ├── service-catalog-puppet-pipeline-logs-exporter/ │ │ ├── service-catalog-puppet-pipeline-logs-exporter.drawio │ │ └── v1/ │ │ └── stack.template.yaml │ └── service-catalog-puppet-pipeline-logs-exporter.yaml ├── reference/ │ ├── aws-cloudformation-resources-all-fields/ │ │ ├── AWS-ACMPCA-Certificate/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ACMPCA-CertificateAuthority/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ACMPCA-CertificateAuthorityActivation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AccessAnalyzer-Analyzer/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AmazonMQ-Broker/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AmazonMQ-Configuration/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AmazonMQ-ConfigurationAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Amplify-App/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Amplify-Branch/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Amplify-Domain/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Account/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-ApiKey/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Authorizer/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-BasePathMapping/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-ClientCertificate/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Deployment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-DocumentationPart/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-DocumentationVersion/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-DomainName/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-GatewayResponse/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Method/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Model/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-RequestValidator/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Resource/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-RestApi/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-Stage/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-UsagePlan/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-UsagePlanKey/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGateway-VpcLink/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Api/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-ApiMapping/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Authorizer/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Deployment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-DomainName/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Integration/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-IntegrationResponse/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Model/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Route/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-RouteResponse/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApiGatewayV2-Stage/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppConfig-Application/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppConfig-ConfigurationProfile/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppConfig-Deployment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppConfig-DeploymentStrategy/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppConfig-Environment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppConfig-HostedConfigurationVersion/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppMesh-Mesh/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppMesh-Route/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppMesh-VirtualNode/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppMesh-VirtualRouter/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppMesh-VirtualService/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-DirectoryConfig/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-Fleet/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-ImageBuilder/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-Stack/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-StackFleetAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-StackUserAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppStream-User/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-ApiCache/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-ApiKey/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-DataSource/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-FunctionConfiguration/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-GraphQLApi/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-GraphQLSchema/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AppSync-Resolver/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApplicationAutoScaling-ScalableTarget/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-ApplicationAutoScaling-ScalingPolicy/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Athena-DataCatalog/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Athena-NamedQuery/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Athena-WorkGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AutoScaling-AutoScalingGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AutoScaling-LaunchConfiguration/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AutoScaling-LifecycleHook/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AutoScaling-ScalingPolicy/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AutoScaling-ScheduledAction/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-AutoScalingPlans-ScalingPlan/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Backup-BackupPlan/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Backup-BackupSelection/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Backup-BackupVault/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Batch-ComputeEnvironment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Batch-JobDefinition/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Batch-JobQueue/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Budgets-Budget/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CE-CostCategory/ │ │ │ └── 16.1.0/ │ │ │ └── product.template-us-east-1.yaml │ │ ├── AWS-Cassandra-Keyspace/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cassandra-Table/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CertificateManager-Certificate/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Chatbot-SlackChannelConfiguration/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cloud9-EnvironmentEC2/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFormation-CustomResource/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFormation-Macro/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFormation-Stack/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFormation-WaitCondition/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFormation-WaitConditionHandle/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFront-CloudFrontOriginAccessIdentity/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFront-Distribution/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudFront-StreamingDistribution/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudTrail-Trail/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudWatch-Alarm/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudWatch-AnomalyDetector/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudWatch-CompositeAlarm/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudWatch-Dashboard/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CloudWatch-InsightRule/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeBuild-Project/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeBuild-ReportGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeBuild-SourceCredential/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeCommit-Repository/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeDeploy-Application/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeDeploy-DeploymentConfig/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeDeploy-DeploymentGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeGuruProfiler-ProfilingGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodePipeline-CustomActionType/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodePipeline-Pipeline/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodePipeline-Webhook/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeStar-GitHubRepository/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeStarConnections-Connection/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-CodeStarNotifications-NotificationRule/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-IdentityPool/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-IdentityPoolRoleAttachment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPool/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolClient/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolDomain/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolIdentityProvider/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolResourceServer/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolRiskConfigurationAttachment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolUICustomizationAttachment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolUser/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Cognito-UserPoolUserToGroupAttachment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-AggregationAuthorization/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-ConfigRule/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-ConfigurationAggregator/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-ConfigurationRecorder/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-ConformancePack/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-DeliveryChannel/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-OrganizationConfigRule/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-OrganizationConformancePack/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Config-RemediationConfiguration/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DAX-Cluster/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DAX-ParameterGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DAX-SubnetGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DLM-LifecyclePolicy/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DMS-Certificate/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DMS-Endpoint/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DMS-EventSubscription/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DMS-ReplicationInstance/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DMS-ReplicationSubnetGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DMS-ReplicationTask/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DataPipeline-Pipeline/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Detective-Graph/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-Detective-MemberInvitation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DirectoryService-MicrosoftAD/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DirectoryService-SimpleAD/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DocDB-DBCluster/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DocDB-DBClusterParameterGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DocDB-DBInstance/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DocDB-DBSubnetGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-DynamoDB-Table/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-CapacityReservation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-ClientVpnAuthorizationRule/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-ClientVpnEndpoint/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-ClientVpnRoute/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-ClientVpnTargetNetworkAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-CustomerGateway/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-DHCPOptions/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-EC2Fleet/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-EIP/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-EIPAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-EgressOnlyInternetGateway/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-FlowLog/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-GatewayRouteTableAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-Host/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-Instance/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-InternetGateway/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-LaunchTemplate/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-LocalGatewayRoute/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-LocalGatewayRouteTableVPCAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-NatGateway/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-NetworkAcl/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-NetworkAclEntry/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-NetworkInterface/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-NetworkInterfaceAttachment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-NetworkInterfacePermission/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-PlacementGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-PrefixList/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-Route/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-RouteTable/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SecurityGroup/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SecurityGroupEgress/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SecurityGroupIngress/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SpotFleet/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-Subnet/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SubnetCidrBlock/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SubnetNetworkAclAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-SubnetRouteTableAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TrafficMirrorFilter/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TrafficMirrorFilterRule/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TrafficMirrorSession/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TrafficMirrorTarget/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TransitGateway/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TransitGatewayAttachment/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TransitGatewayRoute/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TransitGatewayRouteTable/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TransitGatewayRouteTableAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-TransitGatewayRouteTablePropagation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-VPC/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-VPCCidrBlock/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-VPCDHCPOptionsAssociation/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-VPCEndpoint/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-af-south-1.yaml │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-south-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-VPCEndpointConnectionNotification/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ └── product.template-us-east-1.yaml │ │ ├── AWS-EC2-VPCEndpointService/ │ │ │ └── 16.1.0/ │ │ │ ├── product.template-ap-east-1.yaml │ │ │ ├── product.template-ap-northeast-1.yaml │ │ │ ├── product.template-ap-northeast-2.yaml │ │ │ ├── product.template-ap-northeast-3.yaml │ │ │ ├── product.template-ap-south-1.yaml │ │ │ ├── product.template-ap-southeast-1.yaml │ │ │ ├── product.template-ap-southeast-2.yaml │ │ │ ├── product.template-ca-central-1.yaml │ │ │ ├── product.template-eu-central-1.yaml │ │ │ ├── product.template-eu-north-1.yaml │ │ │ ├── product.template-eu-west-1.yaml │ │ │ ├── product.template-eu-west-2.yaml │ │ │ ├── product.template-eu-west-3.yaml │ │ │ ├── product.template-me-south-1.yaml │ │ │ ├── product.template-sa-east-1.yaml │ │ │ ├── product.template-us-east-1.yaml │ │ │ ├── product.template-us-east-2.yaml │ │ │ ├── product.template-us-west-1.yaml │ │ │ └── product.template-us-west-2.yaml │ │ ├── AWS-EC2-VPCEndpointServicePermissions/ │ │ │ └── 16.1.0/
SYMBOL INDEX (139 symbols across 49 files)
FILE: foundational/account-vending/stacks/prereqs-puppet-account/v1/src/AccountCreationCustomResourceBacker/handler.py
function create (line 15) | def create(event, context):
function poll_create (line 59) | def poll_create(event, context):
function handle (line 75) | def handle(event, context):
FILE: unsorted/account-vending/account-bootstrap-shared/v1/src/handler.py
function handler (line 19) | def handler(event, context):
function send_response (line 144) | def send_response(e, c, rs, rd):
FILE: unsorted/account-vending/account-bootstrap-shared/v2/src/handler.py
function handler (line 19) | def handler(event, context):
function send_response (line 144) | def send_response(e, c, rs, rd):
FILE: unsorted/account-vending/account-creation-shared/v1/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 102) | def send_response(e, c, rs, rd):
FILE: unsorted/account-vending/account-creation-shared/v2/src/handler.py
function handler (line 13) | def handler(event, context):
function ensure_account_is_in_correct_ou (line 86) | def ensure_account_is_in_correct_ou(organizations, account_id, target_ou):
function ensure_account_created (line 111) | def ensure_account_created(
function send_response (line 171) | def send_response(e, c, rs, rd):
FILE: unsorted/account-vending/account-creation-shared/v3/src/handler.py
function handler (line 14) | def handler(event, context):
function ensure_account_is_in_correct_ou (line 88) | def ensure_account_is_in_correct_ou(organizations, account_id, target_ou):
function ensure_account_created (line 113) | def ensure_account_created(
function send_response (line 174) | def send_response(e, c, rs, rd):
FILE: unsorted/aws-control-tower-augmented-account-factory/account-bootstrap-shared/v2/src/handler.py
function handler (line 19) | def handler(event, context):
function send_response (line 118) | def send_response(e, c, rs, rd):
FILE: unsorted/aws-control-tower-augmented-account-factory/account-bootstrap-shared/v3/src/handler.py
function handler (line 19) | def handler(event, context):
function send_response (line 90) | def send_response(e, c, rs, rd):
FILE: unsorted/cdk-support/bootstrap/v4/start_cdk_deploy/src/handler.py
function start_build (line 14) | def start_build(project_name, environment_variables_override):
function get_details_needed_for_build (line 23) | def get_details_needed_for_build(event):
function get_build_status_for (line 49) | def get_build_status_for(codebuild_build_id):
function create (line 60) | def create(event, context):
function poll_create (line 72) | def poll_create(event, context):
function handler (line 85) | def handler(event, context):
FILE: unsorted/governance-at-scale-account-factory/account-bootstrap-shared/v1/src/handler.py
function handler (line 19) | def handler(event, context):
function send_response (line 144) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-bootstrap-shared/v2/src/handler.py
function handler (line 19) | def handler(event, context):
function send_response (line 134) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-creation-shared/v1/src/handler.py
function handler (line 14) | def handler(event, context):
function ensure_account_is_in_correct_ou (line 88) | def ensure_account_is_in_correct_ou(organizations, account_id, target_ou):
function ensure_account_created (line 113) | def ensure_account_created(
function send_response (line 174) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-creation-shared/v2/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 99) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-creation-shared/v3/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 100) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-creation-shared/v4/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 100) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-waiter/v1/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 78) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-waiter/v2/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 78) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/account-waiter/v3/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 78) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/move-to-ou/v1/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 68) | def send_response(e, c, rs, rd):
FILE: unsorted/governance-at-scale-account-factory/move-to-ou/v2/src/handler.py
function handler (line 13) | def handler(event, context):
function send_response (line 80) | def send_response(e, c, rs, rd):
FILE: unsorted/multi-account-aws-securityhub/securityhub-spoke/v1/src/register/cfnresponse.py
function send (line 14) | def send(event, context, responseStatus, responseData, physicalResourceI...
FILE: unsorted/multi-account-aws-securityhub/securityhub-spoke/v1/src/register/lambda_function.py
function lambda_handler (line 25) | def lambda_handler(event, context):
function assume_role (line 34) | def assume_role(arn, session_name):
function associate_securityhub (line 49) | def associate_securityhub(event, context):
function create_invite_member (line 65) | def create_invite_member(event):
function accept_invite (line 96) | def accept_invite(event):
function disassociate_securityhub (line 131) | def disassociate_securityhub(event, context):
function delete_member (line 146) | def delete_member(event):
FILE: unsorted/s3-event-notifier/v1/src/handler.py
function handler (line 14) | def handler(event, context):
FILE: unsorted/service-catalog-tools-dashboard/get-metrics/v2/src/handler.py
function start_build (line 26) | def start_build(project_name):
function handler (line 38) | def handler(event, context):
function json_dump_format (line 79) | def json_dump_format(obj):
FILE: unsorted/service-catalog-tools-dashboard/put-metrics/v2/src/handler.py
function succeeded_executions (line 24) | def succeeded_executions():
function failed_executions (line 28) | def failed_executions():
function cancelled_executions (line 32) | def cancelled_executions():
function handler (line 44) | def handler(event, context):
function get_event_info (line 49) | def get_event_info(event):
function put_metrics (line 57) | def put_metrics(name, status, timestamp):
function json_dump_format (line 80) | def json_dump_format(obj):
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/e2e/protractor.conf.js
method onPrepare (line 23) | onPrepare() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/e2e/src/app.po.ts
class AppPage (line 3) | class AppPage {
method navigateTo (line 4) | navigateTo() {
method getTitleText (line 8) | getTitleText() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_helpers/header.interceptor.ts
class HeaderInterceptor (line 6) | class HeaderInterceptor implements HttpInterceptor {
method intercept (line 7) | intercept(request: HttpRequest<any>, next: HttpHandler): Observable<Ht...
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_models/pipeline-info.ts
class PipelineInfo (line 1) | class PipelineInfo {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_models/pipeline-list.ts
class PipelineList (line 3) | class PipelineList {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_models/product-info.ts
class ProductInfo (line 1) | class ProductInfo {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_models/product-launch-list.ts
class ProductLaunchList (line 3) | class ProductLaunchList {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_services/list-launch.service.ts
class ListLaunchService (line 10) | class ListLaunchService {
method constructor (line 19) | constructor(private http: HttpClient) {
method loadAll (line 25) | loadAll() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/_services/pipeline-status.service.ts
class PipelineStatusService (line 10) | class PipelineStatusService {
method constructor (line 19) | constructor(private http: HttpClient) {
method loadAll (line 25) | loadAll() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/app-routing.module.ts
class AppRoutingModule (line 26) | class AppRoutingModule {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/app.component.ts
class AppComponent (line 10) | class AppComponent {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/app.module.ts
class AppModule (line 38) | class AppModule {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/footer/footer.component.ts
class FooterComponent (line 8) | class FooterComponent implements OnInit {
method constructor (line 10) | constructor() {
method ngOnInit (line 13) | ngOnInit() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/header/header.component.ts
class HeaderComponent (line 8) | class HeaderComponent implements OnInit {
method constructor (line 10) | constructor() {
method ngOnInit (line 13) | ngOnInit() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/list-launches/list-launches.component.ts
class ListLaunchesComponent (line 13) | class ListLaunchesComponent implements OnInit {
method constructor (line 19) | constructor(private listLaunchService: ListLaunchService,
method ngOnInit (line 23) | ngOnInit() {
method loadAll (line 35) | loadAll() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/show-pipelines/show-pipelines.component.ts
class ShowPipelinesComponent (line 11) | class ShowPipelinesComponent implements OnInit {
method constructor (line 17) | constructor(private pipelineStatusService: PipelineStatusService,
method ngOnInit (line 21) | ngOnInit() {
method loadAll (line 31) | loadAll() {
FILE: unsorted/service-catalog-tools-dashboard/static-web-app/v4/src/app/spinner/spinner.component.ts
class SpinnerComponent (line 8) | class SpinnerComponent implements OnInit {
method constructor (line 13) | constructor() {
method ngOnInit (line 16) | ngOnInit() {
FILE: unsorted/service-control-policy/scp-attach/v1/src/attach_policy/cfnresponse.py
function send (line 10) | def send(event, context, responseStatus, responseData, physicalResourceI...
FILE: unsorted/service-control-policy/scp-attach/v1/src/attach_policy/lambda_function.py
function lambda_handler (line 17) | def lambda_handler(event, context):
function attach_policy (line 29) | def attach_policy(event, context):
function detach_policy (line 55) | def detach_policy(event, context):
function update_policy (line 81) | def update_policy(event, context):
function assume_role (line 116) | def assume_role(arn, session_name):
FILE: unsorted/service-control-policy/scp-create/v1/src/create_policy/cfnresponse.py
function send (line 10) | def send(event, context, responseStatus, responseData, physicalResourceI...
FILE: unsorted/service-control-policy/scp-create/v1/src/create_policy/lambda_function.py
function lambda_handler (line 16) | def lambda_handler(event, context):
function get_policy (line 28) | def get_policy(event):
function assume_role (line 36) | def assume_role(arn, session_name):
function create_policy (line 52) | def create_policy(event, context):
function update_policy (line 81) | def update_policy(event, context):
function delete_policy (line 112) | def delete_policy(event, context):
FILE: unsorted/ssm-backup-restore/ssm-backup/v1/src/createBucket.py
function lambda_handler (line 23) | def lambda_handler(event, context):
function create_resources (line 28) | def create_resources(event, context):
function create_bucket (line 47) | def create_bucket(s3, dr_bucket_name, DrRegion):
function enable_bucket_versioning (line 59) | def enable_bucket_versioning(s3, dr_bucket_name):
function delete_bucket (line 72) | def delete_bucket(event,context):
FILE: unsorted/ssm-backup-restore/ssm-backup/v1/src/handler.py
function lambda_handler (line 19) | def lambda_handler(event, context):
function store_ssm_parameters (line 35) | def store_ssm_parameters(event, context):
function get_ssm_params (line 49) | def get_ssm_params(event, ssm):
function store_params (line 95) | def store_params(parameters, region):
function json_processing (line 113) | def json_processing(parameter):
function get_parameter_values (line 126) | def get_parameter_values(parameters, ssm):
function delete_resource (line 137) | def delete_resource(event, context):
FILE: unsorted/ssm-backup-restore/ssm-restore/v1/src/restore.py
function lambda_handler (line 20) | def lambda_handler(event, context):
function restore_ssm_parameters (line 24) | def restore_ssm_parameters(event, context):
function setup_dr_bucket_policy (line 47) | def setup_dr_bucket_policy(event, context):
function clean_up (line 60) | def clean_up(params_restored):
function list_parameters_in_bucket (line 105) | def list_parameters_in_bucket(s3):
function get_object (line 149) | def get_object(key_name,s3_resource):
function create_parameter (line 158) | def create_parameter(name, value, p_type, tier, data_type, ssm):
function formulate_parameter (line 174) | def formulate_parameter(object, ssm):
Copy disabled (too large)
Download .json
Condensed preview — 17327 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (34,509K chars).
[
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 197,
"preview": "*Issue #, if available:*\n\n*Description of changes:*\n\n\nBy submitting this pull request, I confirm that you can use, modif"
},
{
"path": ".gitignore",
"chars": 51,
"preview": ".idea\n*.iml\n\nnode_modules/\ndist/\nignored\n.DS_Store\n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 309,
"preview": "## Code of Conduct\nThis project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-condu"
},
{
"path": "CONTRIBUTING.md",
"chars": 3631,
"preview": "# Contributing Guidelines\n\nThank you for your interest in contributing to our project. Whether it's a bug report, new fe"
},
{
"path": "LICENSE",
"chars": 931,
"preview": "Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n\nPermission is hereby granted, free of charge, t"
},
{
"path": "README.md",
"chars": 7962,
"preview": "## AWS Service Catalog Products\n\nThis repository contains a number of solutions that can be easily deployed by the Servi"
},
{
"path": "foundational/README.md",
"chars": 65,
"preview": "\n\n## Global Parameters\n\nSecurityToolingAccountId\nFinanceAccountId"
},
{
"path": "foundational/account-vending/README.md",
"chars": 10026,
"preview": "# Account Vending\nThis solution is to be deployed using the service catalog tools. Once deployed it will allow you to c"
},
{
"path": "foundational/account-vending/example-manifest.yaml",
"chars": 4896,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nparamet"
},
{
"path": "foundational/account-vending/portfolios/account-vending-with-aws-control-tower/v1/product.template.yaml",
"chars": 2583,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nTransfor"
},
{
"path": "foundational/account-vending/portfolios/account-vending-with-aws-control-tower/v1/template.drawio",
"chars": 849,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/account-vending/portfolios/account-vending-with-aws-organizations/v1/product.template.yaml",
"chars": 2428,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nAWSTempl"
},
{
"path": "foundational/account-vending/portfolios/account-vending-with-aws-organizations/v1/template.drawio",
"chars": 849,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/account-vending/portfolios/account-vending.yaml",
"chars": 1908,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "foundational/account-vending/stacks/account-vending.yaml",
"chars": 2615,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "foundational/account-vending/stacks/prereqs-controltower-account/v1/stack.template.yaml",
"chars": 3863,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nAWSTempl"
},
{
"path": "foundational/account-vending/stacks/prereqs-controltower-account/v1/template.drawio",
"chars": 3516,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/account-vending/stacks/prereqs-orgs-account/v1/stack.template.yaml",
"chars": 1830,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nAWSTempl"
},
{
"path": "foundational/account-vending/stacks/prereqs-orgs-account/v1/template.drawio",
"chars": 2689,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/account-vending/stacks/prereqs-puppet-account/v1/requirements.txt",
"chars": 16,
"preview": "crhelper==2.0.10"
},
{
"path": "foundational/account-vending/stacks/prereqs-puppet-account/v1/src/AccountCreationCustomResourceBacker/handler.py",
"chars": 3160,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nimport l"
},
{
"path": "foundational/account-vending/stacks/prereqs-puppet-account/v1/stack.template.yaml",
"chars": 44553,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nTransfor"
},
{
"path": "foundational/account-vending/stacks/prereqs-puppet-account/v1/template.drawio",
"chars": 26884,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/account-vending/stacks/prereqs-puppet-account-optional/v1/stack.template.yaml",
"chars": 790,
"preview": "# Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\nAWSTempl"
},
{
"path": "foundational/account-vending/stacks/prereqs-puppet-account-optional/v1/template.drawio",
"chars": 872,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/amazon-guardduty-multi-account/README.md",
"chars": 0,
"preview": ""
},
{
"path": "foundational/amazon-guardduty-multi-account/example-manifest.yaml",
"chars": 2611,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nparamet"
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/amazon-guardduty-multi-account.yaml",
"chars": 1467,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/enabler-and-creator/enabler-and-creator.drawio",
"chars": 1661,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/enabler-and-creator/v1/stack.template.yaml",
"chars": 9634,
"preview": "Parameters:\n GuardDutyMultiAccountDelegateAdminRoleArn:\n Type: String\n\n GuardDutyMultiAccountGuardDutyRoleArn:\n "
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/prereqs-orgs-account/prereqs-orgs-account.drawio",
"chars": 1776,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/prereqs-orgs-account/v1/stack.template.yaml",
"chars": 1772,
"preview": "Parameters:\n GuardDutyMultiAccountDelegateAdminRoleName:\n Type: String\n Default: \"GuardDutyMultiAccountDelegateAd"
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/prereqs-securitytooling-account/prereqs-securitytooling-account.drawio",
"chars": 1768,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "foundational/amazon-guardduty-multi-account/stacks/prereqs-securitytooling-account/v1/stack.template.yaml",
"chars": 1400,
"preview": "Parameters:\n GuardDutyMultiAccountGuardDutyRoleName:\n Type: String\n Default: \"GuardDutyMultiAccountGuardDutyRole\""
},
{
"path": "foundational/aws-securityhub-multi-account/README.md",
"chars": 482,
"preview": "## What to deploy\n\nDeploy prereqs orgs account to orgs management account\n\ndeploy prereqs to security tooling account gl"
},
{
"path": "foundational/aws-securityhub-multi-account/stacks/aws-securityhub-multi-account.yaml",
"chars": 1463,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "foundational/aws-securityhub-multi-account/stacks/enabler-and-creator/v1/stack.template.yaml",
"chars": 7772,
"preview": "Parameters:\n SecurityHubMultiAccountDelegateAdminRoleArn:\n Type: String\n\n SecurityHubMultiAccountSecurityHubRoleArn"
},
{
"path": "foundational/aws-securityhub-multi-account/stacks/prereqs-orgs-account/v1/stack.template.yaml",
"chars": 1686,
"preview": "Parameters:\n SecurityHubMultiAccountDelegateAdminRoleName:\n Type: String\n Default: \"SecurityHubMultiAccountDelega"
},
{
"path": "foundational/aws-securityhub-multi-account/stacks/prereqs-securitytooling-account/v1/stack.template.yaml",
"chars": 1146,
"preview": "Parameters:\n SecurityHubMultiAccountSecutityHubRoleName:\n Type: String\n Default: \"SecurityHubMultiAccountSecutity"
},
{
"path": "foundational/delete-default-networking/example-manifest.yaml",
"chars": 1007,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nschema:"
},
{
"path": "foundational/delete-default-networking/stacks/delete-default-networking.yaml",
"chars": 547,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "foundational/delete-default-networking/stacks/function/v1/README.md",
"chars": 868,
"preview": "# product.template\n# Description\nDeletes the following default networking components from AWS Accounts:\n1) Deletes the i"
},
{
"path": "foundational/delete-default-networking/stacks/function/v1/stack.template.yaml",
"chars": 9348,
"preview": "AWSTemplateFormatVersion: \"2010-09-09\"\nDescription: |\n Deletes the following default networking components from AWS Acc"
},
{
"path": "operations/codebuild-sns-notifier/README.md",
"chars": 557,
"preview": "# CodeBuild SNS Notifier\n\nThis solution creates an SNS notification for CodeBuild Jobs in the event that a build fails o"
},
{
"path": "operations/codebuild-sns-notifier/example-manifest.yaml",
"chars": 286,
"preview": "schema: puppet-2019-04-01\nstacks:\n code-commitbackups:\n name: code-commit-backups\n version: v1\n parameters:\n "
},
{
"path": "operations/codebuild-sns-notifier/stacks/codebuild-sns-notifier/v1/stack.template.yaml",
"chars": 2865,
"preview": "# Copyright 2021 Amazon.com Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nAWSTempl"
},
{
"path": "operations/codebuild-sns-notifier/stacks/codebuild-sns-notifier.yaml",
"chars": 492,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "operations/codecommit-backups/README.md",
"chars": 626,
"preview": "# CodeCommit backups\n\nThis solution backs up CodeCommit repositories to an S3 bucket in the event of a commit to the mai"
},
{
"path": "operations/codecommit-backups/example-manifest.yaml",
"chars": 393,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nschema:"
},
{
"path": "operations/codecommit-backups/stacks/codecommit-backups/v1/stack.template.yaml",
"chars": 16119,
"preview": "# Copyright 2021 Amazon.com Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nAWSTempl"
},
{
"path": "operations/codecommit-backups/stacks/codecommit-backups.yaml",
"chars": 483,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "operations/service-catalog-puppet-pipeline-logs-exporter/README.md",
"chars": 929,
"preview": "# Service Catalog Puppet Logs Exporter\n\nThis solution exports the pipeline logs to an S3 bucket in the event that the Se"
},
{
"path": "operations/service-catalog-puppet-pipeline-logs-exporter/example-manifest.yaml",
"chars": 320,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nschema:"
},
{
"path": "operations/service-catalog-puppet-pipeline-logs-exporter/stacks/service-catalog-puppet-pipeline-logs-exporter/service-catalog-puppet-pipeline-logs-exporter.drawio",
"chars": 13425,
"preview": "<mxfile host=\"\" modified=\"2020-05-24T15:21:41.060Z\" agent=\"5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko"
},
{
"path": "operations/service-catalog-puppet-pipeline-logs-exporter/stacks/service-catalog-puppet-pipeline-logs-exporter/v1/stack.template.yaml",
"chars": 9654,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: |\n Creates a Cloudwatch events rule that triggers a Codebuild proje"
},
{
"path": "operations/service-catalog-puppet-pipeline-logs-exporter/stacks/service-catalog-puppet-pipeline-logs-exporter.yaml",
"chars": 561,
"preview": "# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nSchema:"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ap-east-1.yaml",
"chars": 1741,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ap-south-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-ca-central-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-eu-central-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-eu-north-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-eu-west-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-eu-west-2.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-eu-west-3.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-me-south-1.yaml",
"chars": 1741,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-sa-east-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-us-east-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-us-east-2.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-us-west-1.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-Certificate/16.1.0/product.template-us-west-2.yaml",
"chars": 2016,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ap-east-1.yaml",
"chars": 1800,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ap-south-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-ca-central-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-eu-central-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-eu-north-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-eu-west-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-eu-west-2.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-eu-west-3.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-me-south-1.yaml",
"chars": 1800,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-sa-east-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-us-east-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-us-east-2.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-us-west-1.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthority/16.1.0/product.template-us-west-2.yaml",
"chars": 6984,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ap-east-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ap-south-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-ca-central-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-eu-central-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-eu-north-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-eu-west-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-eu-west-2.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-eu-west-3.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-me-south-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-sa-east-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-us-east-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-us-east-2.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-us-west-1.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-ACMPCA-CertificateAuthorityActivation/16.1.0/product.template-us-west-2.yaml",
"chars": 1646,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ap-east-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ap-south-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-ca-central-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-eu-central-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-eu-north-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-eu-west-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-eu-west-2.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-eu-west-3.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-me-south-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-sa-east-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-us-east-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-us-east-2.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-us-west-1.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AccessAnalyzer-Analyzer/16.1.0/product.template-us-west-2.yaml",
"chars": 898,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-ap-south-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-ca-central-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-eu-central-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-eu-west-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-eu-west-3.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-us-east-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-us-east-2.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-us-west-1.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Broker/16.1.0/product.template-us-west-2.yaml",
"chars": 5753,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-ap-south-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-ca-central-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-eu-central-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-eu-west-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-eu-west-3.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-us-east-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-us-east-2.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-us-west-1.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-Configuration/16.1.0/product.template-us-west-2.yaml",
"chars": 1688,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-ap-south-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-ca-central-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-eu-central-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-eu-west-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-eu-west-3.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-us-east-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-us-east-2.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-us-west-1.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-AmazonMQ-ConfigurationAssociation/16.1.0/product.template-us-west-2.yaml",
"chars": 1236,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-ap-south-1.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-eu-central-1.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-eu-west-1.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-eu-west-2.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-us-east-1.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-us-east-2.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-App/16.1.0/product.template-us-west-2.yaml",
"chars": 6805,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-ap-south-1.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-eu-central-1.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-eu-west-1.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-eu-west-2.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-us-east-1.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-us-east-2.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Branch/16.1.0/product.template-us-west-2.yaml",
"chars": 3394,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-ap-northeast-1.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-ap-northeast-2.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-ap-south-1.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-ap-southeast-1.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-ap-southeast-2.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-eu-central-1.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-eu-west-1.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-eu-west-2.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-us-east-1.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-us-east-2.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
},
{
"path": "reference/aws-cloudformation-resources-all-fields/AWS-Amplify-Domain/16.1.0/product.template-us-west-2.yaml",
"chars": 2044,
"preview": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-re"
}
]
// ... and 17127 more files (download for full content)
About this extraction
This page contains the full source code of the awslabs/aws-service-catalog-products GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 17327 files (29.8 MB), approximately 9.1M tokens, and a symbol index with 139 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.