--- AWSTemplateFormatVersion: "2010-09-09" Parameters: CodeDeployApplication: Type: String CodeDeployDeploymentGroup: Type: String PreHookLambdaFunction: Type: String LambdaFunction: Type: String MaxBatchSize: Type: Number Conditions: spotInstances: !Equals ['us-east-1', !Ref "AWS::Region"] Resources: ASG: Type: 'AWS::AutoScaling::AutoScalingGroup' Properties: AvailabilityZones: - us-east-1a - us-east-1b DesiredCapacity: '1' LaunchConfigurationName: Ref: LaunchConfig MaxSize: '4' MinSize: '1' UpdatePolicy: AutoScalingScheduledAction: IgnoreUnmodifiedGroupSizeProperties: True AutoScalingRollingUpdate: MinInstancesInService: 1 MaxBatchSize: !Ref MaxBatchSize # shouldn't fail with a Ref WaitOnResourceSignals: True PauseTime: PT10M SuspendProcesses: - ScheduledActions # missing a s FunctionVersionTwo: Type: AWS::Lambda::Version Properties: CodeSha256 : String Description : A Lambda function FunctionName : !Ref LambdaFunction Alias: Type: AWS::Lambda::Alias Properties: FunctionName: !Ref LambdaFunction FunctionVersion: !GetAtt FunctionVersionTwo.Version Name: MyAlias UpdatePolicy: CodeDeployLambdaAliasUpdate: ApplicationName: !Ref CodeDeployApplication DeploymentGroupName: !Ref CodeDeployDeploymentGroup BeforeAllowTrafficHook: !Ref PreHookLambdaFunction AfterAllowTrafficHook: !Ref PreHookLambdaFunction ASG2: Type: AWS::AutoScaling::AutoScalingGroup # Doesn't fail with many conditions UpdatePolicy: !If - spotInstances - AutoScalingReplacingUpdate: WillReplace: true - AutoScalingRollingUpdate: !If - spotInstances - MinInstancesInService: 1 MinSuccessfulInstancesPercent: 100 MaxBatchSize: 1 PauseTime: PT15M WaitOnResourceSignals: true SuspendProcesses: - !If [spotInstances, HealthCheck, !Ref "AWS::NoValue"] - ReplaceUnhealthy - AZRebalance - AlarmNotification - ScheduledActions - !Ref AWS::NoValue Properties: MinSize: '1' MaxSize: '1' ESD1: Type: AWS::Elasticsearch::Domain UpdatePolicy: EnableVersionUpgrade: false ESD2: Type: AWS::Elasticsearch::Domain UpdatePolicy: EnableVersionUpgrade: true OSD1: Type: AWS::OpenSearchService::Domain UpdatePolicy: EnableVersionUpgrade: false OSD2: Type: AWS::OpenSearchService::Domain UpdatePolicy: EnableVersionUpgrade: true