Облачное формирование AWS; Разбиение шаблона на несколько файлов и передача переменных с помощью cfn-include - PullRequest
0 голосов
/ 30 августа 2018

У меня возникли некоторые проблемы с моим шаблоном формирования облака aws.

У меня есть общий файл staging.yaml, в котором я определяю все свои лямбды и apis. Проблема в том, что файл стал слишком большим. Поэтому я решил использовать этот пакет: https://www.npmjs.com/package/cfn-include. Поэтому я могу разбить файл на несколько шаблонов. Как таковой:

Fn::Merge:
 - !Include ./templates/api-lambdas/accounts.yaml
 - !Include ./templates/api-lambdas/officers.yaml
 - !Include ./templates/api-lambdas/branches.yaml

Мой вопрос: есть ли способ передачи переменных в эти включения? То есть:

- !include ./templates/api-lambdas/accounts/yaml, variables: {database: databaseName, environment: staging}

И account.yaml будет выглядеть так:

Environment:
 Variables:
  ENV: ${environment}
  DB_NAME: ${databaseName}

Спасибо!

Ответы [ 2 ]

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

Есть еще одна альтернатива: cfpack.js tool. Он позволяет вам разделить ваш гигантский шаблон на более мелкие шаблоны, которые будут объединены в один и развернуты в вашем стеке CloudFormation.

0 голосов
/ 04 сентября 2018

Может быть, вы хотите попробовать вложенные стеки (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) Обычно, когда файлы становятся слишком большими, чтобы их можно было прочитать, вскоре они могут достичь ограничения максимального размера шаблона. Там вы можете передать все параметры, которые есть в вашем корневом файле, в подстеки довольно просто и типично.

...