【问题标题】:How can I ref a variable in ImportValue in cloudformation?如何在 cloudformation 中引用 ImportValue 中的变量?
【发布时间】:2021-01-14 10:52:39
【问题描述】:

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

Parameters:

    EnvironmentName:
        Description: An environment name 
        Type: String

...

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

【问题讨论】:

  • 嗨。这个问题的进展如何?任何答案都有助于对抗它?

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

AWS docs 所示,您可以使用ImportValueSub 来实现您想要的:

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

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

【讨论】:

    【解决方案2】:

    假设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}
    

    【讨论】:

      猜你喜欢
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      • 2020-08-06
      • 2018-02-28
      • 2019-07-09
      • 1970-01-01
      • 2021-07-17
      相关资源
      最近更新 更多