Преобразование CommaDelimitedList of Role в список Arns в облачной информации - PullRequest
0 голосов
/ 25 июня 2018

У меня есть шаблон облачной информации, генерирующий ключ KMS с документом политики для предоставления ролям доступа к ключу. Теперь я хочу, чтобы роли были параметром CommaDelimitedList шаблона Cloudformation, и я не знаю размер в расширенном. Итак, у меня есть такой ввод:

["role1", "role2", ...]

и должны сгенерировать это:

Principal:
  AWS:
  - !Sub "arn:aws:iam::${AWS::AccountId}:role/role1",
  - !Sub "arn:aws:iam::${AWS::AccountId}:role/role2",
  ...

Возможно ли это преобразование в облачной информации?

1 Ответ

0 голосов
/ 26 июня 2018

Невозможно.

Что вам нужно сделать, это передать список ARN.Например:

SomeParam:
    "Fn::Join":
        - ","
        -
            - !GetAtt "role1.Arn"
            - !GetAtt "role2.Arn"

И просто используйте его напрямую, CommaDelimitedList автоматически преобразуется в список посредством CloudFormation при передаче в качестве параметра:

Principal:
    AWS: !Ref "RolesParameter"

Если у вас есть только имена ролей, вам нужнопостроить ARN самостоятельно, как в вашем вопросе, но перед тем, как передать в качестве аргумента:

SomeParam:
    "Fn::Join":
        - ","
        -
            - !Sub "arn:aws:iam::${AWS::AccountId}:role/role1"
            - !Sub "arn:aws:iam::${AWS::AccountId}:role/role2"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...