【发布时间】:2020-10-23 01:15:32
【问题描述】:
当我们定义参数并在Resources中引用它时,参数值的存在只在堆栈创建时检查;如果我们没有提及参数值,则堆栈创建失败并回滚并出现以下异常
参数验证失败:参数名称的参数值 xxx 不存在。用户请求回滚。
我知道原因,并且从 AWS Cloud Formation 文档中的 general requirement of parameters 中很清楚。
• 每个参数必须在运行时为 AWS 分配一个值 CloudFormation 以成功配置堆栈。
但是,我想告诉用户他们在创建堆栈之前没有提及参数值的时间。
问题:有没有一种方法可以强制我们在继续创建堆栈之前输入参数的值?
例如,如果我们没有提及堆栈名称,控制台将不会让您继续。我想要类似的东西,如果存在缺失值,它会阻止堆栈创建继续进行。这张图片与我的问题无关;但是为了向您展示我希望我的自定义参数在缺少值的情况下显示什么
更新:如果有人喜欢类似的功能,那么以下是示例解决方案,其中参数“名称”限制使用在继续之前输入至少一个字符,“SecuritygroupIngressCIDR”强制使用有效 IP。
Parameters:
Name:
Type: String
AllowedPattern: ^[a-zA-Z0-9]*$
MinLength: 1
SecurityGroupIngressCIDR:
Description: The IP address range that can be used to communicate to the EC2 instances
Type: String
MinLength: '9'
MaxLength: '18'
AllowedPattern: (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})
ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x/x.
【问题讨论】:
标签: amazon-web-services amazon-cloudformation