我有一个堆栈来创建一个VPC。
此堆栈导出名为VPCID的VPC ID的输出。像这样的厕所。
Outputs:
Output0:
Description: The ID of the VPC
Value: !Ref VPC0
Export:
Name: VPCID我可以将输出导入到子堆栈中。
sghttps:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: 'HTTPS'
GroupName: https
SecurityGroupIngress:
- FromPort: 443
ToPort: 443
IpProtocol: tcp
CidrIp: '0.0.0.0/0'
Description: 'HTTPS from EVERYWHERE'
SecurityGroupEgress:
- FromPort: 0
ToPort: 0
IpProtocol: '-1'
CidrIp: '0.0.0.0/0'
VpcId: !ImportValue VPCID
Tags:
- Key: CF
Value: true现在,我需要访问子堆栈中这个VPC的属性CidrBlock。
像这样的人。
sgmongodb:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: 'MONGODB'
GroupName: mongodb
SecurityGroupIngress:
- FromPort: 27017
ToPort: 27017
IpProtocol: tcp
CidrIp: !ImportValue VPCID.CidrBlock
Description: 'MongoDB from our VPC TCP'或者像这样。
sgmongodb:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: 'MONGODB'
GroupName: mongodb
SecurityGroupIngress:
- FromPort: 27017
ToPort: 27017
IpProtocol: tcp
CidrIp: !ImportValue 'Fn::GetAtt':
- VPCID
- CidrBlock
Description: 'MongoDB from our VPC TCP'我知道CidrBlock的价值是可以导出的。
Outputs:
Output0:
Description: The ID of the VPC
Value: !Ref VPC0
Export:
Name: VPCID
Output1:
Description: CidrBlock
Value: !GetAtt VPC0.CidrBlock
Export:
Name: VPCIDCidrBlock但是,可定位是否只传递主VPS (在本例中为VPCID)资源,并在子堆栈中获取属性CidrBlock?
我找不到严谨的语法。有什么想法吗?
发布于 2021-06-28 21:33:56
但是,可定位是否只传递主VPS (在本例中为VPCID)资源,并在子堆栈中获取属性CidrBlock?
不,没有子模块中的定制资源。这样的资源将以lambda函数的形式出现,它将VPCID作为输入参数,使用AWS查询VPC的CIDR范围,并将其返回到子堆栈以供进一步使用。
如果您不想创建自定义资源,则还必须导出CIDR范围以及所需的任何其他信息。
https://stackoverflow.com/questions/68168326
复制相似问题