Sub и Join в списке с разделителями-запятыми - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь создать определение задачи ECS (Fargate), в котором используется переменное число переменных среды, переданных в Command.Каждое имя переменной соответствует секрету в SecretsManager.

У меня возникли проблемы с осмысленным объединением этих функций.Следующий код просто передает все переменные в Command как список строк.

 SpecEnvVars:
   Type: CommaDelimitedList
   Default: "greeting,name,title,rank"
   Description: |
     The Environmental Variables to pull into the container, defined by their
     associated Secrets names

 ContainerDefinitions:
   - Name: !Ref 'ServiceName'
     Command: !Split
       - ','
       - !Join
         - ','
         - !Ref SpecEnvVars

Однако мне нужно разрешить элементы списка к секретам JSON.Разрешение секретов выполняется следующим образом:

!Sub '{{resolve:secretsmanager:test/${greeting}}}'

Как интегрировать Fn :: Sub с Split / Join, чтобы получить список строк SecretsManager JSON?

1 Ответ

0 голосов
/ 28 января 2019

Мне потребовалось некоторое время, чтобы найти правильную комбинацию функций, но я сделал это:

ContainerDefinitions:
  - Name: !Ref 'ServiceName'
    Command: !Split
      - ','
      - !Sub
        - '{{resolve:secretsmanager:test/${inner}}}'
        - inner: !Join
          - '}},{{resolve:secretsmanager:test/'
          - Ref: "SpecEnvVars"

Я хочу поддержать этот ответ: https://stackoverflow.com/a/50060983/9671763, потому что он действительно дал мнеответ - мне просто нужно адаптировать его для моего варианта использования.

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