1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 CFn本身没有“UPSERT”类型的功能。您需要使用自定义资源来处理此逻辑。 一个不一定完全符合您需求但可能是一个不错的折衷方案是使用参数来提供端点(如果它存在)。然后使用条件来检查该值。如果参数为空,则创建端点,否则使用提供的值。 我知道这不能完全满足您的需求,但它可以避免使用自定义资源解决方案。
示例:与VPC类似的UPSERT示例:
参数:
Vpc:
Type:AWS :: EC2 :: VPC :: Id
条件:
VpcNotSupplied:!等于[!Ref Vpc,'']
资源:
NewVpc:
Type:AWS :: EC2 :: VPC
Condition:VpcNotSupplied
属性:
CidrBlock:10.0.0.0/16
SecurityGroup:
Type:AWS :: EC2 :: SecurityGroup
属性:
GroupDescription:示例
GroupName:示例
VpcId:!如果[VpcNotSupplied,!Ref NewVpc,!Ref Vpc]
在这里,“Vpc”输入参数可以提供,如果您希望使用的VPC已经存在,则留空,如果要创建新的VPC,则留空。NewVPC资源使用Condition
仅在提供的Vpc参数值为空时创建。然后,安全组使用相同的条件来决定是否使用现有的VPC还是新创建的VPC。
希望这有意义。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前