--- AWSTemplateFormatVersion: 2010-09-09 Description: Biotech Blueprint template to automate creating PrivateLink and split horizon DNS configs to Benchling's SaaS platform launched by the Biotech Blueprint. (qs-1of00337s) Metadata: AWS::CloudFormation::Interface: ParameterGroups: - Label: default: PrivateLink Configuration Parameters: - pPrivateLinkServiceName - pInternalHostedZoneSecondLevelDomainName - Label: default: Network Configuration Parameters: - pAppSubnetA - pAppSubnetB - pSecurityGroupForWebAccess - pVpcId - Label: default: AWS Quick Start Configuration Parameters: - QSS3BucketName - QSS3BucketRegion - QSS3KeyPrefix ParameterLabels: pInternalHostedZoneSecondLevelDomainName: default: Subdomain pAppSubnetA: default: Application Subnet A pAppSubnetB: default: Application Subnet B pPrivateLinkServiceName: default: PrivateLink Service Name. pSecurityGroupForWebAccess: default: Web Access Security Group pVpcId: default: VPC ID QSS3BucketName: default: Quick Start S3 Bucket Name QSS3BucketRegion: default: Quick Start S3 bucket region QSS3KeyPrefix: default: Quick Start S3 Key Prefix Parameters: pAppSubnetA: Description: Production App Subnet A. Target subnet for the app server. Type: 'AWS::SSM::Parameter::Value' Default: /BB/Networking/VPC/Research/Subnet/App/A pAppSubnetB: Description: Production App Subnet B. Target subnet for the app server. Type: 'AWS::SSM::Parameter::Value' Default: /BB/Networking/VPC/Research/Subnet/App/B pInternalHostedZoneSecondLevelDomainName: Description: Second Level domain to use as subdomain, e.g. .benchling.com. Leave this as the default value if you are unsure. Type: 'AWS::SSM::Parameter::Value' Default: /BB/QuickStart/DNS/InternalHostedZoneSecondLevelDomainName pPrivateLinkServiceName: Description: PrivateLink Service Name. Leave this blank unless Benchling gave you one to use. Type: String Default: "" pSecurityGroupForWebAccess: Description: Security group for web access Type: 'AWS::SSM::Parameter::Value' Default: /BB/Networking/VPC/Research/InformaticsAccessSG pVpcId: Description: VPC ID Type: 'AWS::SSM::Parameter::Value' Default: /BB/Networking/VPC/Research QSS3BucketName: Default: /BB/QuickStart/QSS3BucketName Description: S3 bucket name for the Quick Start assets. Quick Start bucket name can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-). Type: 'AWS::SSM::Parameter::Value' QSS3BucketRegion: Default: 'us-east-1' Description: 'The AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. When using your own bucket, you must specify this value.' Type: String QSS3KeyPrefix: Default: /BB/QuickStart/QSS3KeyPrefix Description: S3 key prefix for the Quick Start assets. Quick Start key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slash (/). Type: 'AWS::SSM::Parameter::Value' Conditions: UsingDefaultBucket: !Equals [!Ref QSS3BucketName, 'aws-quickstart'] Resources: # Benchling rBenchling: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - 'https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-benchling-platform/templates/benchling-platform.template' - S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] Parameters: pInternalHostedZoneSecondLevelDomainName: !Ref pInternalHostedZoneSecondLevelDomainName pAppSubnetA: !Ref pAppSubnetA pAppSubnetB: !Ref pAppSubnetB pPrivateLinkServiceName: !Ref pPrivateLinkServiceName pSecurityGroupForWebAccess: !Ref pSecurityGroupForWebAccess pVpcId: !Ref pVpcId