我将VPC地址和子网地址作为模板的参数:
{
"Parameters":{
"VPCAddresses":{
"Type":"String",
"MinLength":"9",
"MaxLength":"18",
"Default":"10.0.0.0/16",
"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."
},
"SubnetAddresses":{
"Type":"String",
"MinLength":"9",
"MaxLength":"18",
"Default":"10.0.0.0/24",
"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."
}
}
}
在执行模板之前,可以验证VPC地址是否包含子网地址?也许使用Rules
?
答案 0 :(得分:0)
目前(2018年1月)我不相信有任何选择只使用CFN。 CFN是一种模板语言,不支持这些类型的操作。
您必须使用其他工具,例如cfndsl或Troposphere,以便为您生成CFN。在生成模板之前,您必须编写并执行验证逻辑。