Добавление различных значений параметров в один ресурс в Cloudformation — YAML

#amazon-web-services #yaml #amazon-cloudformation

Вопрос:

Я пытаюсь объединить два значения параметров в файле yaml и получаю ошибку. Один параметр имеет тип в виде значений, разделенных запятыми, а другой я готовлю, используя комбинацию различных параметров.
парам1= конечная точка 1,конечная точка 2,конечная точка 3
парам2= !Sub ${имя приложения}.${env}.Ожидаемый вывод конечной точки: конечная точка 1,конечная точка 2, $param2

Мне нужно передать оба из них, чтобы создать правило прослушивания в aws, и оба они будут предоставлены во время выполнения, когда пользователь заполнит необходимую информацию.

Я попробовал что-то вроде:

 - Field: host-header
  Values: 
    - !Ref param1
    - !Join
      - ','
      - !Sub ${appname}.${env}.endpoint
 

Но выше не получается с ошибкой:

 Template validation error: Template error: every Fn::Join object requires two parameters, (1) a string delimiter and (2) a list of strings to be joined or a function that returns a list of strings (such as Fn::GetAZs) to be joined.
 

Пожалуйста, помогите.

Ответ №1:

Ты не можешь этого сделать. Первым параметром должна быть литеральная строка, а не какая-либо функция. Из документов:

Для разделителя Fn::Join вы не можете использовать какие-либо функции. Вы должны указать строковое значение.