代码之家  ›  专栏  ›  技术社区  ›  Dawid Fieluba

带FindInMap的CloudFormation嵌套Sub

  •  0
  • Dawid Fieluba  · 技术社区  · 7 年前

    我试图实现的是解析存储为字符串的变量 映射

    Mappings:
      Constants: 
        UserDataTest:
          Test: "echo ${NestedVariable}\n"
    

    我想尽快解决 用户数据

      UserData: !Base64
        Fn::Join:
          - ''
          - - "#!/bin/bash\n"
            - Fn::Sub: 
              - !FindInMap [Constants, UserDataTest, Test]
              - NestedVariable: xyz
    

    Fn::子 应为字符串。

    调用CreateStack时出错(ValidationError) 不要指定预期的参数。指定一个字符串作为第一个参数, 在字符串中替换


     - Fn::Sub: 
       - ${TestValue}
       - { NestedVariable: xyz, TestValue: !FindInMap [Constants, UserDataTest, Test] }
    

    其结果是:

    echo${NestedVariable}


    - Fn::Sub: 
      - Fn::Sub: 
        - ${TestValue}
        - TestValue: !FindInMap [Constants, UserDataTest, Test]
      - NestedVariable: xyz
    


    0 回复  |  直到 7 年前