--- # Bring up diffs between this file and the BitbucketDataCenter.template.yaml, ConfluenceDataCenter.template.yaml, and CrowdDataCenter.template.yaml # As a rule, we should work to minimize our diffs between these files as best we can, so that future changes are easy to make across all supported CloudFormation templates. # Using YAML as our file format will allow us to put a block comment at the top of the file saying exactly this. AWSTemplateFormatVersion: 2010-09-09 Description: Atlassian Crowd Data Center with VPC (qs-1r0baof8j) Metadata: QuickStartDocumentation: EntrypointName: "Launch into a new VPC" AWS::CloudFormation::Interface: ParameterGroups: - Label: default: Crowd setup Parameters: - CrowdVersion - Label: default: Cluster nodes Parameters: - CloudWatchIntegration - ClusterNodeInstanceType - ClusterNodeMax - ClusterNodeMin - ClusterNodeVolumeSize - DeploymentAutomationRepository - DeploymentAutomationBranch - DeploymentAutomationPlaybook - DeploymentAutomationKeyName - DeploymentAutomationCustomParams - Label: default: Database Parameters: - DBInstanceClass - DBEngineVersion - DBIops - DBMasterUserPassword - DBMultiAZ - DBPassword - DBStorage - DBStorageEncrypted - DBStorageType - Label: default: Bastion host provisioning Parameters: - BastionHostRequired - KeyPairName - Label: default: Networking Parameters: - AccessCIDR - AvailabilityZones - InternetFacingLoadBalancer - PrivateSubnet1CIDR - PrivateSubnet2CIDR - PublicSubnet1CIDR - PublicSubnet2CIDR - SSLCertificateARN - VPCCIDR - Label: default: DNS (Optional) Parameters: - CustomDnsName - HostedZone - Label: default: Application Tuning (Optional) Parameters: - TomcatContextPath - CatalinaOpts - JvmHeapOverride - MailEnabled - TomcatAcceptCount - TomcatConnectionTimeout - TomcatDefaultConnectorPort - TomcatEnableLookups - TomcatMaxThreads - TomcatMinSpareThreads - TomcatProtocol - TomcatRedirectPort - Label: default: AWS Quick Start Configuration Parameters: - QSS3BucketName - QSS3BucketRegion - QSS3KeyPrefix - ExportPrefix ParameterLabels: AccessCIDR: default: Trusted IP range AvailabilityZones: default: Availability Zones CatalinaOpts: default: Catalina options CloudWatchIntegration: default: Enable CloudWatch integration ClusterNodeMax: default: Maximum number of cluster nodes ClusterNodeMin: default: Minimum number of cluster nodes ClusterNodeInstanceType: default: Cluster node instance type ClusterNodeVolumeSize: default: Cluster node instance volume size CustomDnsName: default: Existing DNS name DBEngineVersion: default: Database engine version DBInstanceClass: default: Database instance class DBIops: default: Amazon RDS Provisioned IOPS DBMasterUserPassword: default: Master (admin) password * DBMultiAZ: default: Enable RDS Multi-AZ deployment DBPassword: default: Application user database password * DBStorage: default: Database storage DBStorageEncrypted: default: Database encryption DBStorageType: default: Database storage type DeploymentAutomationRepository: default: Deployment automation Git repository URL DeploymentAutomationBranch: default: Deployment automation branch DeploymentAutomationPlaybook: default: Ansible playbook to invoke to initialize the instance DeploymentAutomationKeyName: default: SSH key name to use with repository DeploymentAutomationCustomParams: default: Custom command-line parameters for Ansible ExportPrefix: default: ASI identifier HostedZone: default: Route 53 hosted zone InternetFacingLoadBalancer: default: Make instance internet facing CrowdVersion: default: Version * JvmHeapOverride: default: JVM heap size override BastionHostRequired: default: Deploy bastion host KeyPairName: default: SSH key pair name MailEnabled: default: Enable app to process email PrivateSubnet1CIDR: default: AZ1 private IP address block PrivateSubnet2CIDR: default: AZ2 private IP address block PublicSubnet1CIDR: default: AZ1 public IP address block PublicSubnet2CIDR: default: AZ2 public IP address block SSLCertificateARN: default: SSL certificate ARN TomcatAcceptCount: default: Tomcat accept count TomcatConnectionTimeout: default: Tomcat connection timeout TomcatContextPath: default: Tomcat context path TomcatDefaultConnectorPort: default: Tomcat default connector port TomcatEnableLookups: default: Tomcat enable DNS lookups TomcatMaxThreads: default: Tomcat maximum threads TomcatMinSpareThreads: default: Tomcat minimum spare threads TomcatProtocol: default: Tomcat protocol TomcatRedirectPort: default: Tomcat redirect port QSS3BucketName: default: Quick Start S3 bucket name QSS3BucketRegion: default: Quick Start S3 bucket Region QSS3KeyPrefix: default: Quick Start S3 key prefix VPCCIDR: default: IP address block for VPC Parameters: # Crowd DC template parameters CatalinaOpts: Default: '' Description: Pass in additional JVM options to tune Catalina. Type: String CloudWatchIntegration: Default: "Metrics and Logs" Type: String Description: "Enables CloudWatch metrics with or without log gathering. If cost is an issue, you can disable this setting." AllowedValues: ["Off", "Metrics Only", "Metrics and Logs"] ConstraintDescription: "Must be 'Off', 'Metrics Only', or 'Metrics and Logs'" ClusterNodeInstanceType: Default: c5.xlarge AllowedValues: - c4.large - c4.xlarge - c4.2xlarge - c4.4xlarge - c4.8xlarge - c5.large - c5.xlarge - c5.2xlarge - c5.4xlarge - c5.9xlarge - c5.18xlarge - c5d.large - c5d.xlarge - c5d.2xlarge - c5d.4xlarge - c5d.9xlarge - c5d.18xlarge - d2.xlarge - d2.2xlarge - d2.4xlarge - d2.8xlarge - h1.2xlarge - h1.4xlarge - h1.8xlarge - h1.16xlarge - i3.large - i3.xlarge - i3.2xlarge - i3.4xlarge - i3.8xlarge - i3.16xlarge - i3.metal - m4.large - m4.xlarge - m4.2xlarge - m4.4xlarge - m4.10xlarge - m4.16xlarge - m5.large - m5.xlarge - m5.2xlarge - m5.4xlarge - m5.12xlarge - m5.24xlarge - m5d.large - m5d.xlarge - m5d.2xlarge - m5d.4xlarge - m5d.12xlarge - m5d.24xlarge - r4.large - r4.xlarge - r4.2xlarge - r4.4xlarge - r4.8xlarge - r4.16xlarge - r5.large - r5.xlarge - r5.2xlarge - r5.4xlarge - r5.12xlarge - r5.24xlarge - r5d.large - r5d.xlarge - r5d.2xlarge - r5d.4xlarge - r5d.12xlarge - r5d.24xlarge - t2.medium - t2.large - t2.xlarge - t2.2xlarge - t3.medium - t3.large - t3.xlarge - t3.2xlarge - x1.16xlarge - x1.32xlarge - x1e.xlarge - x1e.2xlarge - x1e.4xlarge - x1e.8xlarge - x1e.16xlarge - x1e.32xlarge - z1d.large - z1d.xlarge - z1d.2xlarge - z1d.3xlarge - z1d.6xlarge - z1d.12xlarge. ConstraintDescription: Must be an EC2 instance type from the selection list Description: Instance type for the cluster application nodes. Type: String ClusterNodeMax: Description: Maximum number of nodes in cluster. Default: 1 Type: Number ClusterNodeMin: Default: 1 Description: Set to 1 for new deployment. Can be updated post launch. Type: Number ClusterNodeVolumeSize: Default: 50 Description: Size of cluster node root volume in GB (size based on application indexes x 4). Type: Number CustomDnsName: Default: "" Description: 'Use custom existing DNS name for your Crowd Data Center instance. Name takes precedence over hosted zone. You must own the domain and configure it to point to the load balancer.' Type: String DBEngineVersion: Default: 10 AllowedValues: - 9 - 10 - 11 - 12 Description: "The database engine version to use. A suitable minor version is installed for your chosen engine. Make sure that the installed Crowd version supports the database engine selected. (Warning: Amazon RDS for PostgreSQL 9.6 will reach end of life on January 31st, 2022. Deployments after this date should not be made using this version. If you wish to upgrade to a major version from 9 see: https://confluence.atlassian.com/x/1IRlQQ)" Type: String DBInstanceClass: Default: db.m5.large AllowedValues: - db.m5.large - db.m5.xlarge - db.m5.2xlarge - db.m5.4xlarge - db.m5.12xlarge - db.m5.24xlarge - db.r5.large - db.r5.xlarge - db.r5.2xlarge - db.r5.4xlarge - db.r5.12xlarge - db.r5.24xlarge - db.r4.large - db.r4.xlarge - db.r4.2xlarge - db.r4.4xlarge - db.r4.8xlarge - db.r4.16xlarge - db.m4.large - db.m4.xlarge - db.m4.2xlarge - db.m4.4xlarge - db.m4.10xlarge - db.m4.16xlarge - db.t3.medium - db.t3.large - db.t3.xlarge - db.t3.2xlarge - db.t2.medium - db.t2.large - db.t2.xlarge - db.t2.2xlarge ConstraintDescription: Must be a valid Amazon RDS instance class from the selection list. Description: RDS instance type. Type: String DBIops: Default: '1000' ConstraintDescription: 'Must be in the range 1000 - 30000.' Description: 'Must be in the range of 1000 - 30000 and a multiple of 1000. This value is used only with Provisioned IOPS. The ratio of IOPS per allocated storage must be between 3.00 and 10.00.' MaxValue: '30000' MinValue: '1000' Type: Number DBMasterUserPassword: AllowedPattern: >- ^(?=^.{8,255}$)(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z0-9])(?!.*[@/"']).*$ ConstraintDescription: >- Must be at least eight characters and include one uppercase, one lowercase, one number, and one of the following symbols: ! # $ { * : [ = , ] - _ + % & Description: "Password for the master ('postgres') account. Must be at least eight characters and include one uppercase, one lowercase, one number, and one of the following symbols: ! # $ { * : [ = , ] - _ + % &" NoEcho: True MaxLength: 128 MinLength: 8 Type: String DBMultiAZ: Description: Whether to provision a Multi-AZ Amazon RDS instance. Default: "true" AllowedValues: - "true" - "false" ConstraintDescription: Must be 'true' or 'false'. Type: String DBPassword: AllowedPattern: >- ^(?=^.{8,255}$)(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*[\[\]\{\}]).*$ ConstraintDescription: >- Must be at least eight characters and include at least one uppercase, one lowercase, one number, and any symbol except for: [ ] { } Description: "Must be at least eight characters and include at least one uppercase, one lowercase, one number, and any symbol except for: [ ] { }." MinLength: 8 MaxLength: 128 NoEcho: true Type: String DBStorage: Default: 200 Description: Database allocated storage size, in gigabytes (GB). If you choose Provisioned IOPS, storage should be between 100 and 6144 GB. Type: Number DBStorageEncrypted: Default: "false" AllowedValues: - "true" - "false" Description: Whether or not to encrypt the database. Type: String DBStorageType: Default: General Purpose (SSD) AllowedValues: - General Purpose (SSD) - Provisioned IOPS ConstraintDescription: Must be 'General Purpose (SSD)' or 'Provisioned IOPS'. Description: Database storage type. Type: String DeploymentAutomationRepository: Default: "https://bitbucket.org/atlassian/dc-deployments-automation.git" Type: String Description: The deployment automation repository to use for per-node initialization. Leave the default setting unless you have customizations. DeploymentAutomationBranch: Default: "master" Type: String Description: The deployment automation repository branch to pull from. DeploymentAutomationPlaybook: Default: "aws_crowd_dc_node.yml" Type: String Description: The Ansible playbook to invoke to initialise the Crowd node on first start. DeploymentAutomationCustomParams: Default: "" Type: String Description: (Optional) Additional command-line options for the `ansible-playbook` command. See https://bitbucket.org/atlassian/dc-deployments-automation/src/master/README.md for more information about overriding parameters. DeploymentAutomationKeyName: Default: "" Type: String Description: (Optional) Key pair name to use with this repository. The key should be imported into the AWS Systems Manager parameter store. ExportPrefix: Default: 'ATL-' Description: Identifier used in all variables (VPCID, SubnetIDs, KeyName) exported from this deployment's Atlassian Standard Infrastructure (ASI). Use different identifiers if deploying multiple ASTs in the same AWS Region. Type: String HostedZone: Default: '' ConstraintDescription: Name of an existing Amazon Route 53 hosted zone. Description: The domain name of the Amazon Route 53 private hosted zone in which to create CNAMEs. Type: String CrowdVersion: Default: 4.0.0 AllowedPattern: '(\d+\.\d+\.\d+(-?.*))|(latest)' ConstraintDescription: Must be a valid version number or 'latest'; for example, 4.0.0 for Crowd Software. Description: The version of Crowd Software to install. Find valid versions on the Crowd Release Notes page (https://confluence.atlassian.com/x/tgkD). Type: String JvmHeapOverride: Default: '' Description: Override the default amount of memory to allocate to the JVM for your instance type. Set size in MB or GB (e.g. 1024 MB or 1 GB). Type: String InternetFacingLoadBalancer: Default: "true" AllowedValues: ["true", "false"] ConstraintDescription: Must be 'true' or 'false'. Description: Controls whether the load balancer should be visible to the internet (true) or only within the VPC (false). Type: String BastionHostRequired: Default: "true" AllowedValues: - "true" - "false" Description: Whether to provision a bastion host instance. If 'true', provide an Amazon EC2 key pair (otherwise, you won't be able to use the bastion host to access Crowd instances). Type: String KeyPairName: ConstraintDescription: Must be the name of an existing EC2 Key Pair. Note the supplied value must not include the file extension. Description: Public/private EC2 Key Pairs (without file extension) to allow you to securely access the Bastion host. Type: String Default: '' MailEnabled: AllowedValues: - "true" - "false" ConstraintDescription: Must be 'true' or 'false'. Default: "true" Description: Enable mail processing and sending. Type: String SSLCertificateARN: Default: '' Description: "Amazon Resource Name (ARN) of your SSL certificate. This value automatically enables HTTPS on the product and load balancer, configured to use the corresponding certificate. If you want to use your own certificate that was generated outside of Amazon, first import it to AWS Certificate Manager (ACM). After a successful import, you'll receive the ARN. If you want to create a certificate with ACM, you will receive the ARN after it's successfully created." MinLength: 0 MaxLength: 90 Type: String TomcatAcceptCount: Default: 10 Description: The maximum queue length for incoming connection requests when all possible request processing threads are in use. Type: Number TomcatConnectionTimeout: Default: 20000 Description: The number of milliseconds this connector will wait, after accepting a connection, for the request URI line to be presented. Type: Number TomcatContextPath: Default: '' AllowedPattern: '^(\/[A-z_\-0-9\.]+)?$' Description: The context path of this web application, which is matched against the beginning of each request URI to select the appropriate web application for processing. If used, must include leading '/'. Type: String TomcatDefaultConnectorPort: Default: 8080 Description: The port on which to serve the application. Type: Number TomcatEnableLookups: Default: "false" AllowedValues: - "true" - "false" Description: Set to true if you want calls to request.getRemoteHost() to perform DNS lookups to return the host name of the remote client. Type: String TomcatMaxThreads: Default: 200 Description: The maximum number of request processing threads to be created by this connector, which therefore determines the maximum number of simultaneous requests that can be handled. Type: Number TomcatMinSpareThreads: Default: 10 Description: The minimum number of threads always running. Type: Number TomcatProtocol: Default: 'HTTP/1.1' Description: Sets the protocol to handle incoming traffic. Type: String TomcatRedirectPort: Default: 8443 Description: The port number for Catalina to use when automatically redirecting a non-SSL connector actioning a redirect to a SSL URI. Type: Number # VPC parameters AccessCIDR: 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]))$ Description: CIDR block allowed to access the Atlassian product. Do not set the value to a trusted IP range. If you want to give public access use '0.0.0.0/0'. Type: String AvailabilityZones: Description: 'List of Availability Zones (AZ) to use for the subnets in the VPC. You must specify two AZs. If more are specified, only the first two AZs are used.' Type: List PrivateSubnet1CIDR: Default: 10.0.0.0/19 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]))$ Description: CIDR block for private subnet 1 located in Availability Zone 1. Type: String PrivateSubnet2CIDR: Default: 10.0.32.0/19 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]))$ Description: CIDR block for private subnet 2 located in Availability Zone 2. Type: String PublicSubnet1CIDR: Default: 10.0.128.0/20 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]))$ Description: CIDR block for the public DMZ subnet 1 located in Availability Zone 1. Type: String PublicSubnet2CIDR: Default: 10.0.144.0/20 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]))$ Description: CIDR block for the public DMZ subnet 2 located in Availability Zone 2. Type: String QSS3BucketName: Default: 'aws-quickstart' AllowedPattern: ^[0-9a-zA-Z]+([0-9a-zA-Z-]*[0-9a-zA-Z])*$ ConstraintDescription: Quick Start bucket name can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-). 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: String QSS3BucketRegion: Default: 'us-east-1' AllowedValues: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - ca-central-1 - eu-west-1 - eu-central-1 - eu-west-2 - eu-west-3 - eu-north-1 - ap-northeast-1 - ap-northeast-2 - ap-southeast-1 - ap-southeast-2 - ap-south-1 - sa-east-1 - us-gov-west-1 - us-gov-east-1 Description: The AWS Region where the Quick Start S3 bucket is hosted. By default, this is set to us-east-1; do not update it unless you're using a custom Quick Start S3 bucket. Type: String QSS3KeyPrefix: Default: 'quickstart-atlassian-crowd/' AllowedPattern: ^[0-9a-zA-Z-/]*$ ConstraintDescription: Quick Start key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slash (/). 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: String VPCCIDR: Default: 10.0.0.0/16 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]))$ Description: CIDR block for the VPC. Type: String Conditions: UseDatabaseEncryption: !Equals [!Ref DBStorageEncrypted, true] UsingDefaultBucket: !Equals [!Ref QSS3BucketName, 'aws-quickstart'] KeyProvided: !Not [!Equals [!Ref KeyPairName, '']] ProvisionBastion: !And - !Equals [!Ref BastionHostRequired, true] - !Condition KeyProvided Resources: VPCStack: Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-atlassian-services/templates/quickstart-vpc-for-atlassian-services.yaml - S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] Parameters: AccessCIDR: !Ref 'AccessCIDR' AvailabilityZones: !Join - ',' - !Ref 'AvailabilityZones' ExportPrefix: !Ref 'ExportPrefix' KeyPairName: !Ref 'KeyPairName' PrivateSubnet1CIDR: !Ref 'PrivateSubnet1CIDR' PrivateSubnet2CIDR: !Ref 'PrivateSubnet2CIDR' PublicSubnet1CIDR: !Ref 'PublicSubnet1CIDR' PublicSubnet2CIDR: !Ref 'PublicSubnet2CIDR' VPCCIDR: !Ref 'VPCCIDR' BastionHostRequired: !Ref 'BastionHostRequired' QSS3BucketName: !Ref QSS3BucketName QSS3KeyPrefix: !Ref QSS3KeyPrefix QSS3BucketRegion: !Ref QSS3BucketRegion CrowdDCStack: DependsOn: VPCStack Type: AWS::CloudFormation::Stack Properties: TemplateURL: !Sub - https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}templates/quickstart-crowd-dc.template.yaml - S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] Parameters: CatalinaOpts: !Ref 'CatalinaOpts' CidrBlock: !Ref 'AccessCIDR' CloudWatchIntegration: !Ref 'CloudWatchIntegration' ClusterNodeInstanceType: !Ref 'ClusterNodeInstanceType' ClusterNodeMax: !Ref 'ClusterNodeMax' ClusterNodeMin: !Ref 'ClusterNodeMin' ClusterNodeVolumeSize: !Ref 'ClusterNodeVolumeSize' CustomDnsName: !Ref 'CustomDnsName' DBEngineVersion: !Ref 'DBEngineVersion' DBInstanceClass: !Ref 'DBInstanceClass' DBIops: !Ref 'DBIops' DBMasterUserPassword: !Ref 'DBMasterUserPassword' DBMultiAZ: !Ref 'DBMultiAZ' DBPassword: !Ref 'DBPassword' DBStorage: !Ref 'DBStorage' DBStorageEncrypted: !Ref 'DBStorageEncrypted' DBStorageType: !Ref 'DBStorageType' DeploymentAutomationRepository: !Ref 'DeploymentAutomationRepository' DeploymentAutomationBranch: !Ref 'DeploymentAutomationBranch' DeploymentAutomationKeyName: !Ref 'DeploymentAutomationKeyName' DeploymentAutomationPlaybook: !Ref 'DeploymentAutomationPlaybook' DeploymentAutomationCustomParams: !Ref 'DeploymentAutomationCustomParams' ExportPrefix: !Ref 'ExportPrefix' HostedZone: !Ref 'HostedZone' InternetFacingLoadBalancer: !Ref 'InternetFacingLoadBalancer' CrowdVersion: !Ref 'CrowdVersion' JvmHeapOverride: !Ref 'JvmHeapOverride' KeyPairName: !Ref 'KeyPairName' MailEnabled: !Ref 'MailEnabled' QSS3BucketName: !Ref 'QSS3BucketName' QSS3KeyPrefix: !Ref 'QSS3KeyPrefix' QSS3BucketRegion: !Ref 'QSS3BucketRegion' SSLCertificateARN: !Ref 'SSLCertificateARN' TomcatAcceptCount: !Ref 'TomcatAcceptCount' TomcatConnectionTimeout: !Ref 'TomcatConnectionTimeout' TomcatContextPath: !Ref 'TomcatContextPath' TomcatDefaultConnectorPort: !Ref 'TomcatDefaultConnectorPort' TomcatEnableLookups: !Ref 'TomcatEnableLookups' TomcatMaxThreads: !Ref 'TomcatMaxThreads' TomcatMinSpareThreads: !Ref 'TomcatMinSpareThreads' TomcatProtocol: !Ref 'TomcatProtocol' TomcatRedirectPort: !Ref 'TomcatRedirectPort' BastionHostRequired: !Ref 'BastionHostRequired' Outputs: ServiceURL: Description: The URL to access this Atlassian service. Value: !GetAtt 'CrowdDCStack.Outputs.ServiceURL' LoadBalancerURL: Description: The Load Balancer URL. Value: !GetAtt 'CrowdDCStack.Outputs.LoadBalancerURL' BastionIP: Condition: ProvisionBastion Description: Bastion node IP (use as a jumpbox to connect to the nodes). Value: !GetAtt 'VPCStack.Outputs.BastionPubIp' SGname: Description: The name of the SecurityGroup. Value: !GetAtt 'CrowdDCStack.Outputs.SGname' DBEndpointAddress: Description: The database connection string. Value: !GetAtt 'CrowdDCStack.Outputs.DBEndpointAddress' DBEncryptionKey: Condition: UseDatabaseEncryption Description: The alias of the encryption key created for Amazon RDS. Value: !GetAtt 'CrowdDCStack.Outputs.DBEncryptionKey' EFSCname: Description: The CNAME of the Amazon Elastic File System (Amazon EFS). Value: !GetAtt 'CrowdDCStack.Outputs.EFSCname' ASITemplateURL: Description: The URL used to source the ASI template. Value: !Sub - https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-atlassian-services/templates/quickstart-vpc-for-atlassian-services.yaml - S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion] CrowdDcTemplateURL: Description: The URL used to source the Crowd template. Value: !Sub - https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}templates/quickstart-crowd-dc.template.yaml - S3Bucket: !If [UsingDefaultBucket, !Sub '${QSS3BucketName}-${AWS::Region}', !Ref QSS3BucketName] S3Region: !If [UsingDefaultBucket, !Ref 'AWS::Region', !Ref QSS3BucketRegion]