我要求用户选择一个现有的VPC:
Parameters:
MyVPC:
Type: AWS::EC2::VPC::Id
然后在我的"资源"块中,我正在尝试获取该 VPC 的 CIDR 块。
当我尝试这个时:
- Fn::GetAtt:
- MyVPC
- CidrBlock
我得到:
Template error: instance of Fn::GetAtt references undefined resource MyVPC
我明白了,因为从技术上讲,MyVPC是一个参数而不是资源。
那么如何获取用户选择的VPC网段呢?
我认为这是不可能的。
Parameter
只是一个 VPCID,而不是 VPC 本身。
GetAtt
命令需要模板中的Resource
,但模板不存在。
您需要将 CIDR 块添加为另一个参数,或者创建一个 Lambda 支持的自定义资源来获取信息并将其提供给模板。