我要求用户选择现有的 VPC:
Parameters:
MyVPC:
Type: AWS::EC2::VPC::Id
然后在我的“资源” block 中,我尝试获取该 VPC 的 CIDR block 。
当我尝试这个时:
- Fn::GetAtt:
- MyVPC
- CidrBlock
我得到:
Template error: instance of Fn::GetAtt references undefined resource MyVPC
我猜是因为从技术上讲,MyVPC 是一个参数而不是资源。
那么如何获取用户选择的VPC的网段呢?
最佳答案
我认为这是不可能的。
参数
只是一个VPCID,而不是VPC本身。
GetAtt
命令需要模板中的Resource
,但该模板中不存在。
您需要将 CIDR block 添加为另一个参数,或者创建 Lambda 支持的 Custom Resource这将获取信息并使其可供模板使用。
关于amazon-web-services - 如何获取用户在CloudFormation中选择的VPC的CIDR block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52047985/