繁体   English   中英

如何在 cloudformation 中引用 ImportValue 中的变量?

[英]How can I ref a variable in ImportValue in cloudformation?

我有一个 cloudformation 模板,需要根据传入的参数导入一个值。 下面是代码。 但我不能结合!ImportValue!Ref 如何在ImportValue function 中使用EnvironmentName

Parameters:

    EnvironmentName:
        Description: An environment name 
        Type: String

...

VpcConfig:
        SecurityGroupIds:
          - !ImportValue # how can I reference EnvironmentName
...

AWS 文档中所示,您可以将ImportValueSub一起使用来实现您想要的:

VpcConfig:
        SecurityGroupIds:
          - Fn::ImportValue: 
              !Sub "${EnvironmentName}"

您可能需要调整缩进以匹配您的模板。

可以说Environment是两个模板中的参数

模板 1 中的安全组:

MySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
        GroupName: !Sub 'My Group - ${Environment}'
        GroupDescription: 'my group'
        SecurityGroupIngress:
            - IpProtocol: 'icmp'
              FromPort: '-1'
              ToPort: '-1'
              CidrIp: '0.0.0.0/0'

从模板 1 导出:

MySecurityGroup:
    Description: 'Security Group Test'
    Value: !Ref 'MySecurityGroup'
    Export:
        Name: !Sub 'MySecurityGroup-${Environment}'

导入为

VpcConfig:
    SecurityGroupIds:
                - Fn::ImportValue: !Sub MySecurityGroup-${Environment}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM