--- AWSTemplateFormatVersion: '2010-09-09' Description: This workload template deploys a SQL FSx instance in a new VPC. **IMPORTANT** This template creates EC2 instances and related resources. You will be billed for the AWS resources used if you create a stack from this template. (qs-1rih7cd6r) Metadata: cfn-lint: config: ignore_checks: - W9006 QuickStartDocumentation: EntrypointName: "Parameters for deploying into a new VPC" Order: "1" AWS::CloudFormation::Interface: ParameterGroups: - Label: default: Network configuration Parameters: - AvailabilityZones - VPCCIDR - PublicSubnet1CIDR - PublicSubnet2CIDR - PrivateSubnet1CIDR - PrivateSubnet2CIDR - Label: default: Remote Desktop Gateway configuration Parameters: - RDGWCIDR - NumberOfRDGWHosts - RDGWInstanceType - Label: default: Active Directory configuration Parameters: - ADScenarioType - DomainDNSName - DomainNetBIOSName - DomainAdminUser - DomainAdminPassword - Label: default: Self-managed Active Directory configuration Parameters: - ADServer1InstanceType - ADServer1NetBIOSName - ADServer1PrivateIP - ADServer2InstanceType - ADServer2NetBIOSName - ADServer2PrivateIP - Label: default: Amazon EC2 configuration Parameters: - KeyPairName - SqlFSxServerNetBIOSName1 - SqlFSxServerNetBIOSName2 - WindowsVersion - WorkloadInstanceType - Label: default: Amazon FSx Windows file-share configuration Parameters: - FileShareVolumeSize - FileShareThroughputCapacity - Label: default: Microsoft SQL Server FCI configurations Parameters: - MSSQLMediaBucketName - MSSQLMediaPathKey - SqlFSxWSFCName - SqlFSxFCIName - SQLAdminAccounts - Label: default: Application Insights configuration Parameters: - EnableAppInsights - ApplicationName - ResourceGroupName - Label: default: AWS Quick Start configuration Parameters: - QSS3BucketName - QSS3BucketRegion - QSS3KeyPrefix ParameterLabels: ApplicationName: default: Application Insights application name EnableAppInsights: default: Enable Application Insights ResourceGroupName: default: Resource Group name ADScenarioType: default: Active Directory scenario type ADServer1InstanceType: default: Domain controller 1 instance type ADServer1NetBIOSName: default: Domain controller 1 NetBIOS name ADServer1PrivateIP: default: Domain controller 1 private IP address ADServer2InstanceType: default: Domain controller 2 instance type ADServer2NetBIOSName: default: Domain controller 2 NetBIOS name ADServer2PrivateIP: default: Domain controller 2 private IP address AvailabilityZones: default: Availability Zones DomainAdminPassword: default: Domain administrator password DomainAdminUser: default: Domain administrator user name DomainDNSName: default: Domain DNS name DomainNetBIOSName: default: Domain NetBIOS name FileShareThroughputCapacity: default: File-share throughput capacity FileShareVolumeSize: default: File-share volume size KeyPairName: default: EC2 key pair name MSSQLMediaBucketName: default: S3 bucket for SQL media MSSQLMediaPathKey: default: S3 key for SQL media path NumberOfRDGWHosts: default: Number of RD Gateway hosts PrivateSubnet1CIDR: default: Private subnet 1 CIDR PrivateSubnet2CIDR: default: Private subnet 2 CIDR PublicSubnet1CIDR: default: Public subnet 1 CIDR PublicSubnet2CIDR: default: Public subnet 2 CIDR QSS3BucketName: default: Quick Start S3 bucket name QSS3BucketRegion: default: Quick Start S3 bucket Region QSS3KeyPrefix: default: Quick Start S3 key prefix RDGWInstanceType: default: RD Gateway instance type RDGWCIDR: default: Allowed RD Gateway external access CIDR SQLAdminAccounts: default: SQL administrator account or accounts SqlFSxFCIName: default: Failover cluster instance (FCI) name SqlFSxServerNetBIOSName1: default: Server1 NetBIOS name SqlFSxServerNetBIOSName2: default: Server2 NetBIOS name SqlFSxWSFCName: default: Windows Server Failover Cluster (WSFC) name VPCCIDR: default: VPC CIDR block WindowsVersion: default: Windows version WorkloadInstanceType: default: Workload servers EC2 instance type Parameters: ApplicationName: Default: MSSQL Description: Application Insights application name Type: String EnableAppInsights: Type: String Default: 'false' Description: Select whether to enable Application Insights AllowedValues: - 'true' - 'false' ResourceGroupName: Type: String Default: SQL Description: Application Resource Group name ADScenarioType: AllowedValues: - AWS Directory Service for Microsoft AD (Enterprise Edition) - Microsoft AD on Amazon EC2 Default: AWS Directory Service for Microsoft AD (Enterprise Edition) Description: 'Type of AD DS deployment to use. If you want to manage your own Amazon EC2 Active Directory instances, choose "Microsoft AD on Amazon EC2."' Type: String ADServer1InstanceType: AllowedValues: - t2.large - m4.large - m4.xlarge - m4.2xlarge - m4.4xlarge - m5.large - m5.xlarge - m5.2xlarge - m5.4xlarge Default: m5.xlarge Description: Amazon EC2 instance type for the first Active Directory instance, located in Availability Zone 1. Type: String ADServer1NetBIOSName: AllowedPattern: '[a-zA-Z0-9\-]+' Default: DC1 Description: NetBIOS name of the first Active Directory instance, located in Availability Zone 1. This name can have up to 15 characters. MaxLength: '15' MinLength: '1' Type: String ADServer1PrivateIP: AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ Default: 10.0.0.10 Description: Fixed private IP address for the first Active Directory instance, located in Availability Zone 1. Type: String ADServer2InstanceType: AllowedValues: - t2.large - m4.large - m4.xlarge - m4.2xlarge - m4.4xlarge - m5.large - m5.xlarge - m5.2xlarge - m5.4xlarge Default: m5.xlarge Description: Amazon EC2 instance type for the second Active Directory instance, located in Availability Zone 2. Type: String ADServer2NetBIOSName: AllowedPattern: '[a-zA-Z0-9\-]+' Default: DC2 Description: NetBIOS name of the second Active Directory instance, located in Availability Zone 2. This name can have up to 15 characters. MaxLength: '15' MinLength: '1' Type: String ADServer2PrivateIP: AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ Default: 10.0.32.10 Description: Fixed private IP address for the second Active Directory instance, located in Availability Zone 2. Type: String AvailabilityZones: Description: >- Availability Zones to use for the subnets in the VPC. Two Availability Zones are used and the logical order is preserved. Type: List DomainAdminPassword: AllowedPattern: (?=^.{6,255}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.* Description: Password for the domain administrator. Must be at least 8 characters containing letters, numbers, and symbols. MaxLength: '32' MinLength: '8' NoEcho: 'true' Type: String DomainAdminUser: AllowedPattern: '[a-zA-Z0-9]*' Default: Admin Description: >- User name for the account that will be added as domain administrator. This is separate from the default "Administrator" account. You can specify this user name only for the self-managed Active Directory scenario. If you're using the AWS Directory Service for Microsoft AD, the default stays "Admin" regardless of any value provided. MaxLength: '25' MinLength: '5' Type: String DomainDNSName: AllowedPattern: '[a-zA-Z0-9\-]+\..+' Default: example.com Description: Fully qualified domain name (FQDN) of the forest root domain. MaxLength: '255' MinLength: '2' Type: String DomainNetBIOSName: AllowedPattern: '[a-zA-Z0-9\-]+' Default: example Description: NetBIOS name of the domain for users of earlier versions of Windows. You can use up to 15 characters. MaxLength: '15' MinLength: '1' Type: String FileShareThroughputCapacity: Default: 8 Description: File-share throughput capacity (MB/s) in 2 to the nth power increments, where 3 ≤ n ≤ 11, i.e. between 2^3 and 2^11. Type: Number AllowedValues: - 8 - 16 - 32 - 64 - 128 - 256 - 512 - 1024 - 2048 FileShareVolumeSize: Default: '32' Description: Capacity (GB) of the volume used to store SQL Server files. Minimum value is 32 and maximum 65536. Type: Number MinValue: 32 MaxValue: 65536 KeyPairName: Description: Name of an existing EC2 key pair. All instances will launch with this key pair. Type: AWS::EC2::KeyPair::KeyName MSSQLMediaBucketName: AllowedPattern: "^[0-9a-zA-Z]+([0-9a-zA-Z-]*[0-9a-zA-Z])*$" ConstraintDescription: You can use lowercase letters, uppercase letters, and hyphens (-). Do not start or end with a hyphen (-). Description: Name of the S3 bucket from which MSSQL media can be downloaded. You can use lowercase letters, uppercase letters, and hyphens (-). Do not start or end with a hyphen (-). Type: String MSSQLMediaPathKey: Default: SQLServer2019-x64-ENU.iso Description: Key for the S3 bucket from which MSSQL media can be downloaded. You can use numbers, lowercase letters, uppercase letters, hyphens (-), and forward slashes (/). Type: String NumberOfRDGWHosts: AllowedValues: - '0' - '1' - '2' - '3' - '4' Default: '1' Description: Number of Remote Desktop Gateway hosts to create. Type: String PrivateSubnet1CIDR: AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$ Default: 10.0.0.0/19 Description: CIDR block for private subnet 1 located in Availability Zone 1. Type: String PrivateSubnet2CIDR: AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$ Default: 10.0.32.0/19 Description: CIDR block for private subnet 2 located in Availability Zone 2. Type: String PublicSubnet1CIDR: Default: 10.0.128.0/20 Description: CIDR block for public subnet 1 located in Availability Zone 1. Type: String PublicSubnet2CIDR: Default: 10.0.144.0/20 Description: CIDR block for public subnet 2 located in Availability Zone 2. Type: String QSS3BucketName: AllowedPattern: "^[0-9a-zA-Z]+([0-9a-zA-Z-]*[0-9a-zA-Z])*$" ConstraintDescription: The Quick Start bucket name can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-). Default: aws-quickstart Description: Name of the S3 bucket for your copy of the Quick Start assets. Keep the default name unless you are customizing the template. Changing the name updates code references to point to a new Quick Start location. This name can include numbers, lowercase letters, uppercase letters, and hyphens, but do not start or end with a hyphen (-). See https://aws-quickstart.github.io/option1.html. Type: String QSS3BucketRegion: Default: 'us-east-1' Description: 'AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. Keep the default Region unless you are customizing the template. Changing this Region updates code references to point to a new Quick Start location. When using your own bucket, specify the Region. See https://aws-quickstart.github.io/option1.html.' Type: String QSS3KeyPrefix: AllowedPattern: "^[0-9a-zA-Z-/]*$" ConstraintDescription: The Quick Start S3 key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slashes (/). The prefix should end with a forward slash (/). Default: quickstart-microsoft-sql-fci-fsx/ Description: S3 key prefix that is used to simulate a directory for your copy of the Quick Start assets. Keep the default prefix unless you are customizing the template. Changing this prefix updates code references to point to a new Quick Start location. This prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slashes (/). End with a forward slash. See https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html and https://aws-quickstart.github.io/option1.html. Type: String RDGWInstanceType: AllowedValues: - t2.small - t2.medium - t2.large - m5.large - m5.xlarge - m5.2xlarge - m5.4xlarge Default: t2.large Description: Amazon EC2 instance type for the Remote Desktop Gateway instances. Type: String RDGWCIDR: AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$ ConstraintDescription: The CIDR block parameter must be in the form x.x.x.x/x. Description: Allowed CIDR block for external access to the Remote Desktop Gateway instances. Type: String SQLAdminAccounts: Default: "example\\Admin" Description: Comma-separated user names are used as MSSQL DB administrators. It could be Active Directory domain administrators or other local or domain users. MaxLength: '25' MinLength: '5' Type: String SqlFSxFCIName: AllowedPattern: "[a-zA-Z0-9\\-]+" Default: SqlFCI Description: Name of the failover cluster instance (FCI). You can use up to 15 characters. MaxLength: '15' MinLength: '1' Type: String SqlFSxServerNetBIOSName1: AllowedPattern: "[a-zA-Z0-9\\-]+" Default: SqlFSx1 Description: NetBIOS name of the primary instance. You can use up to 15 characters. MaxLength: '15' MinLength: '1' Type: String SqlFSxServerNetBIOSName2: AllowedPattern: "[a-zA-Z0-9\\-]+" Default: SqlFSx2 Description: NetBIOS name of the secondary instance. You can use up to 15 characters. MaxLength: '15' MinLength: '1' Type: String SqlFSxWSFCName: AllowedPattern: "[a-zA-Z0-9\\-]+" Default: WSFC1 Description: Name of the Windows Server Failover Cluster (WSFC). You can use up to 15 characters. MaxLength: '15' MinLength: '1' Type: String VPCCIDR: AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(1[6-9]|2[0-8]))$ ConstraintDescription: The CIDR block parameter must be in the form x.x.x.x/16-28. Default: 10.0.0.0/16 Description: CIDR block for the VPC. Type: String WindowsVersion: AllowedValues: - Windows_Server-2019-English-Full-Base* - Windows_Server-2016-English-Full-Base* ConstraintDescription: Must be one of the supported Windows versions. Default: Windows_Server-2019-English-Full-Base* Description: Choose the Windows version to run SQL Server. Type: String WorkloadInstanceType: AllowedValues: - t3a.2xlarge - t3.2xlarge - r5a.xlarge - r5a.2xlarge - r5a.4xlarge - r5a.8xlarge - r5.large - r5.xlarge - r5.2xlarge - r5.4xlarge - r5.8xlarge - r4.xlarge - r4.2xlarge - r4.4xlarge - r4.8xlarge - z1d.large - z1d.xlarge ConstraintDescription: Must contain a valid instance type. Default: r5.2xlarge Description: Type of EC2 instance for the workload instances. Type: String Conditions: UsingDefaultBucket: !Equals [!Ref QSS3BucketName, 'aws-quickstart'] AWSManagedAD: !Equals [!Ref ADScenarioType, 'AWS Directory Service for Microsoft AD (Enterprise Edition)'] IncludeRDGW: !Not - !Equals - !Ref NumberOfRDGWHosts - '0' Resources: VPCStack: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - 'https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-aws-vpc/templates/aws-vpc.template.yaml' - S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] Parameters: AvailabilityZones: !Join - ',' - !Ref 'AvailabilityZones' NumberOfAZs: '2' PrivateSubnet1ACIDR: !Ref 'PrivateSubnet1CIDR' PrivateSubnet2ACIDR: !Ref 'PrivateSubnet2CIDR' PublicSubnet1CIDR: !Ref 'PublicSubnet1CIDR' PublicSubnet2CIDR: !Ref 'PublicSubnet2CIDR' VPCCIDR: !Ref 'VPCCIDR' ADStack: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-microsoft-activedirectory/templates/${QSADTemplate} - QSADTemplate: !If [AWSManagedAD, ad-3.template, ad-1.template] S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] Parameters: !If - AWSManagedAD - DomainAdminPassword: !Ref 'DomainAdminPassword' DomainDNSName: !Ref 'DomainDNSName' DomainNetBIOSName: !Ref 'DomainNetBIOSName' KeyPairName: !Ref 'KeyPairName' PrivateSubnet1ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet1AID' PrivateSubnet2ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet2AID' QSS3BucketName: !Ref 'QSS3BucketName' QSS3BucketRegion: !Ref 'QSS3BucketRegion' QSS3KeyPrefix: !Sub '${QSS3KeyPrefix}submodules/quickstart-microsoft-activedirectory/' VPCCIDR: !Ref 'VPCCIDR' VPCID: !GetAtt 'VPCStack.Outputs.VPCID' - ADServer1InstanceType: !Ref 'ADServer1InstanceType' ADServer1NetBIOSName: !Ref 'ADServer1NetBIOSName' ADServer1PrivateIP: !Ref 'ADServer1PrivateIP' ADServer2InstanceType: !Ref 'ADServer2InstanceType' ADServer2NetBIOSName: !Ref 'ADServer2NetBIOSName' ADServer2PrivateIP: !Ref 'ADServer2PrivateIP' DomainAdminPassword: !Ref 'DomainAdminPassword' DomainAdminUser: !Ref 'DomainAdminUser' DomainDNSName: !Ref 'DomainDNSName' DomainNetBIOSName: !Ref 'DomainNetBIOSName' KeyPairName: !Ref 'KeyPairName' PrivateSubnet1ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet1AID' PrivateSubnet2ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet2AID' QSS3BucketName: !Ref 'QSS3BucketName' QSS3BucketRegion: !Ref 'QSS3BucketRegion' QSS3KeyPrefix: !Sub '${QSS3KeyPrefix}submodules/quickstart-microsoft-activedirectory/' VPCCIDR: !Ref 'VPCCIDR' VPCID: !GetAtt 'VPCStack.Outputs.VPCID' RDGWStack: Condition: IncludeRDGW Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - 'https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-microsoft-rdgateway/templates/rdgw-domain.template' - S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] Parameters: DomainAdminPassword: !Ref 'DomainAdminPassword' DomainAdminUser: admin DomainDNSName: !Ref 'DomainDNSName' DomainMemberSGID: !GetAtt 'ADStack.Outputs.DomainMemberSGID' DomainNetBIOSName: !Ref 'DomainNetBIOSName' KeyPairName: !Ref 'KeyPairName' NumberOfRDGWHosts: !Ref 'NumberOfRDGWHosts' PublicSubnet1ID: !GetAtt 'VPCStack.Outputs.PublicSubnet1ID' PublicSubnet2ID: !GetAtt 'VPCStack.Outputs.PublicSubnet2ID' QSS3BucketName: !Ref 'QSS3BucketName' QSS3BucketRegion: !Ref 'QSS3BucketRegion' QSS3KeyPrefix: !Sub '${QSS3KeyPrefix}submodules/quickstart-microsoft-rdgateway/' RDGWInstanceType: !Ref 'RDGWInstanceType' RDGWCIDR: !Ref 'RDGWCIDR' VPCID: !GetAtt 'VPCStack.Outputs.VPCID' SQLStack: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - 'https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}templates/${SQLTemplate}' - SQLTemplate: !If [AWSManagedAD, mssqlfsx-mad.template.yaml, mssqlfsx.template.yaml] S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] Parameters: !If - AWSManagedAD - VPCID: !GetAtt 'VPCStack.Outputs.VPCID' PrivateSubnet1ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet1AID' PrivateSubnet2ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet2AID' DirectoryId: !GetAtt 'ADStack.Outputs.DirectoryID' DomainDNSName: !Ref 'DomainDNSName' DomainMemberSGID: !GetAtt 'ADStack.Outputs.DomainMemberSGID' VPCcidr: !Ref 'VPCCIDR' DomainNetBIOSName: !Ref 'DomainNetBIOSName' DomainAdminUser: admin DomainAdminPassword: !Ref 'DomainAdminPassword' ADDnsIpAddresses: !Join [',', [!GetAtt 'ADStack.Outputs.ADServer1PrivateIP', !GetAtt 'ADStack.Outputs.ADServer2PrivateIP']] SqlFSxServerNetBIOSName1: !Ref 'SqlFSxServerNetBIOSName1' SqlFSxServerNetBIOSName2: !Ref 'SqlFSxServerNetBIOSName2' KeyPairName: !Ref 'KeyPairName' WindowsVersion: !Ref 'WindowsVersion' WorkloadInstanceType: !Ref 'WorkloadInstanceType' FileShareVolumeSize: !Ref 'FileShareVolumeSize' FileShareThroughputCapacity: !Ref 'FileShareThroughputCapacity' MSSQLMediaBucketName: !Ref 'MSSQLMediaBucketName' MSSQLMediaPathKey: !Ref 'MSSQLMediaPathKey' SqlFSxWSFCName: !Ref 'SqlFSxWSFCName' SqlFSxFCIName: !Ref 'SqlFSxFCIName' SQLAdminAccounts: !Ref 'SQLAdminAccounts' QSS3BucketName: !Ref 'QSS3BucketName' QSS3BucketRegion: !Ref 'QSS3BucketRegion' QSS3KeyPrefix: !Ref 'QSS3KeyPrefix' ApplicationName: !Ref 'ApplicationName' EnableAppInsights: !Ref 'EnableAppInsights' ResourceGroupName: !Ref 'ResourceGroupName' - VPCID: !GetAtt 'VPCStack.Outputs.VPCID' PrivateSubnet1ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet1AID' PrivateSubnet2ID: !GetAtt 'VPCStack.Outputs.PrivateSubnet2AID' DomainDNSName: !Ref 'DomainDNSName' DomainMemberSGID: !GetAtt 'ADStack.Outputs.DomainMemberSGID' VPCcidr: !Ref 'VPCCIDR' DomainNetBIOSName: !Ref 'DomainNetBIOSName' DomainAdminUser: admin DomainAdminPassword: !Ref 'DomainAdminPassword' ADDnsIpAddresses: !Join [',', [!Ref ADServer1PrivateIP, !Ref ADServer2PrivateIP]] SqlFSxServerNetBIOSName1: !Ref 'SqlFSxServerNetBIOSName1' SqlFSxServerNetBIOSName2: !Ref 'SqlFSxServerNetBIOSName2' KeyPairName: !Ref 'KeyPairName' WindowsVersion: !Ref 'WindowsVersion' WorkloadInstanceType: !Ref 'WorkloadInstanceType' FileShareVolumeSize: !Ref 'FileShareVolumeSize' FileShareThroughputCapacity: !Ref 'FileShareThroughputCapacity' MSSQLMediaBucketName: !Ref 'MSSQLMediaBucketName' MSSQLMediaPathKey: !Ref 'MSSQLMediaPathKey' SqlFSxWSFCName: !Ref 'SqlFSxWSFCName' SqlFSxFCIName: !Ref 'SqlFSxFCIName' SQLAdminAccounts: !Ref 'SQLAdminAccounts' QSS3BucketName: !Ref 'QSS3BucketName' QSS3BucketRegion: !Ref 'QSS3BucketRegion' QSS3KeyPrefix: !Ref 'QSS3KeyPrefix' ApplicationName: !Ref 'ApplicationName' EnableAppInsights: !Ref 'EnableAppInsights' ResourceGroupName: !Ref 'ResourceGroupName'