首页 > 解决方案 > CloudFormation 仅在条件有效时创建堆栈,如果无效则显示自定义错误消息

问题描述

我正在尝试创建 CF 模板,该模板将询问用户 RDS Instance 和 SecurityGroup 是否存在,如果他们选择 Yes,则创建堆栈。如果不是,请在创建 EC2 堆栈之前警告用户创建 RDS 实例和安全组。

Parameters:
 IsRDSCreated:
  Description: Ensure that the RDS Instance is already created
  Default: No
  Type: String
  AllowedValues:
   - Yes
   - No
 IsRDSSGCreated:
  Description: Ensure that the RDS Security Group exists
  Default: No
  Type: String
  AllowedValues:
   - Yes
   - No
Conditions:
 ShouldCreateEC2Resource: !And
  - !Equals [!Ref IsRDSCreated, Yes]
  - !Equals [!Ref IsRDSSGCreated, Yes]
Resources:
 EC2Instance:
  Type: AWS::EC2::Instance
  Condition: ShouldCreateEC2Resource
  .....
  .....
  .....
  .....

目前,当我在两个参数都设置为 False 后尝试创建时,我在模板的 Resources 块中收到 Template validation error: Template format error: Unresolved resource dependencies [EC2Instance] 。

当用户选择 False 并运行此命令时,如何通过某种错误/消息通知用户,以确保在创建此堆栈之前 RDS 实例和 RDS SG 都存在。

请建议是否有其他方法或方法可以完成此堆栈。

标签: amazon-web-servicesconditional-statementsamazon-cloudformation

解决方案


推荐阅读