######################################################################## # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: MIT-0 ######################################################################## AWSTemplateFormatVersion: 2010-09-09 Description: This template deploys Customizations for Control Tower (CFCT). - 'common_cfct_setup' solution in the repo, https://github.com/aws-samples/aws-security-reference-architecture-examples (sra-1ssgnse2a) Metadata: SRA: Version: 1.2 Entry: Parameters for deploying CFCT solution without resolving SSM parameters Order: 1 cfn-lint: config: ignore_checks: - W6001 AWS::CloudFormation::Interface: ParameterGroups: - Label: default: General Properties Parameters: - pSRASolutionName - pSRAStagingS3BucketName - Label: default: CFCT - Pipeline Configuration Parameters: - pPipelineApprovalStage - pPipelineApprovalEmail - pCodePipelineSource - Label: default: CFCT - AWS CodeCommit Setup (Applicable if 'AWS CodeCommit' was selected as the CodePipeline Source) Parameters: - pExistingRepository - pCodeCommitRepositoryName - pCodeCommitBranchName - Label: default: CFCT - AWS CloudFormation StackSets Configuration Parameters: - pRegionConcurrencyType - pMaxConcurrentPercentage - pFailureTolerancePercentage ParameterLabels: pCodeCommitBranchName: default: CodeCommit Branch Name pCodeCommitRepositoryName: default: CodeCommit Repository Name pCodePipelineSource: default: AWS CodePipeline Source pExistingRepository: default: Existing CodeCommit Repository? pFailureTolerancePercentage: default: Failure Tolerance Percentage pMaxConcurrentPercentage: default: Max Concurrent Percentage pPipelineApprovalEmail: default: Pipeline Approval Email Address pPipelineApprovalStage: default: Pipeline Approval Stage pRegionConcurrencyType: default: Region Concurrency Type pSRASolutionName: default: SRA Solution Name pSRAStagingS3BucketName: default: SRA Staging S3 Bucket Name Parameters: pCodeCommitBranchName: Default: main Description: Name of the branch in CodeCommit repository that contains custom Control Tower configuration. MaxLength: 256 MinLength: 1 Type: String pCodeCommitRepositoryName: AllowedPattern: '^[\w-.]{1,100}(? Rules: PipelineApprovalEmailValidation: RuleCondition: !Equals [!Ref pPipelineApprovalEmail, ''] Assertions: - AssertDescription: "'Pipeline Approval Email Address' parameter is required if the 'Pipeline Approval Stage' parameter is set to 'Yes'." Assert: !Equals [!Ref pPipelineApprovalStage, 'No'] Resources: rCFCTStack: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub https://${pSRAStagingS3BucketName}.s3.${AWS::Region}.${AWS::URLSuffix}/${pSRASolutionName}/templates/customizations-for-aws-control-tower.template # TemplateURL: https://s3.amazonaws.com/solutions-reference/customizations-for-aws-control-tower/latest/custom-control-tower-initiation.template Tags: - Key: sra-solution Value: !Ref pSRASolutionName Parameters: CodeCommitBranchName: !Ref pCodeCommitBranchName CodeCommitRepositoryName: !Ref pCodeCommitRepositoryName CodePipelineSource: !Ref pCodePipelineSource ExistingRepository: !Ref pExistingRepository FailureTolerancePercentage: !Ref pFailureTolerancePercentage MaxConcurrentPercentage: !Ref pMaxConcurrentPercentage PipelineApprovalEmail: !Ref pPipelineApprovalEmail PipelineApprovalStage: !Ref pPipelineApprovalStage RegionConcurrencyType: !Ref pRegionConcurrencyType Outputs: CustomControlTowerSolutionVersion: Description: Version Number Value: 'v2.5.3'