Как добавить две переменные в Cloudformation Fn :: Sub в UserData - PullRequest
0 голосов
/ 07 февраля 2019

Я могу добавить 1 переменную, но не могу добавить вторую, я являюсь системным администратором и не очень хорошо разбираюсь в YAML

UserData:  
    Fn::Base64: !Sub  
       - |+  
        #!/bin/bash -xe  
        NEW_HOSTNAME=${test}  
       - test:   
             Fn::FindInMap: [Regions, !Ref "AWS::Region", Name]   

Я хотел бы добавить еще одну переменную FindInMap после теста, ноЯ не могу.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019
UserData: 
              Fn::Base64: !Sub
               - |
                  #!/bin/bash
                  NEW_HOSTNAME=${hostName}
               -  {
                  share: !FindInMap [Regions, !Ref "AWS::Region", SHARE],
                  hostName: !Join ["", [!Ref Name, !FindInMap [Regions, 
                                                         !Ref"AWS::Region",USERDATA] ] ]
                  }
0 голосов
/ 07 февраля 2019

Вы можете сделать это следующим образом:

UserData:
  Fn::Base64: !Sub
    - |
      #!/bin/bash -xe
      foo=${foo}
      baz=${baz}
    - foo: !FindInMap [FooMap, Foo, Value]
      baz: !FindInMap [FooMap, Baz, Value]

Он также может быть отформатирован как:

UserData:
  Fn::Base64: !Sub
    - |
      #!/bin/bash -xe
      foo=${foo}
      baz=${baz}
    - {
        foo: !FindInMap [FooMap, Foo, Value],
        baz: !FindInMap [FooMap, Baz, Value]
      }

См. Также документы для функции Fn::FindInMap.

Обратите внимание, что я удалил |+, который является функцией YAML и говорит о том, чтобы сохранить завершающие символы новой строки.Это действительно не требуется здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...