我有一个cloudformation模板。我将 VPC 作为输入。我想从 VPC 输入获取 CidrBlock 值。我怎样才能做到这一点?
我可以将 AWS::EC2::VPC::Id
作为输入,但这似乎只是对物理 ID 的引用。我尝试将 AWS::EC2::VPC
作为输入,但云形成似乎无法识别此类型。
这是我的代码:
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
pVpc:
Description: "The VPC"
Type: AWS::EC2::VPC::Id
Resources:
rSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: !Ref pVpc
SecurityGroupIngress:
- IpProtocol: -1
CidrIp: "0.0.0.0/0"
# !GetAtt pVpc.CidrBlock # <-- How can I do this?
最佳答案
除非您部署 Lambda 支持的自定义资源
,该资源将您的 VPC Id
作为输入并返回关联的 CIDR block
,否则您无法执行此操作。
其他选项是从创建 VPC 的 CFT 导出 CIDR block ,并在当前 CFT 中引用导出的变量。
关于amazon-web-services - 如何从输入到cloudformation的VPC对象中获取CidrBlock值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111622/