Как использовать параметры List и Map в Cloudformation - PullRequest
0 голосов
/ 27 апреля 2018

В моем шаблоне облачной информации у меня 78 параметров. Вот почему я получаю ошибку, потому что у нас не может быть больше 60 параметров.

Я хотел забить некоторые из моих параметров на карту. Кто-нибудь делал это? Я не получаю правильный пример того, как иметь параметры на карте, а затем использовать их в шаблоне CF.

Пожалуйста, ведите меня.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Не думаю, что вы можете использовать Map в качестве типа параметра. Но вы можете использовать CommaDelimitedList вместо?

78 параметров - это много, разве вы не можете использовать какой-либо из разделов Mappings / Conditions, чтобы облегчить вам задачу? Или, может быть, хорошим решением может быть разбиение вашего стека на несколько меньших выделенных стеков, ссылающихся друг на друга с помощью output export / import ?

0 голосов
/ 27 апреля 2018

В соответствии с документацией AWS

Карты определены так:

"RegionMap" : {
  "us-east-1"      : { "32" : "ami-6411e20d", "64" : "ami-7a11e213" },
  "us-west-1"      : { "32" : "ami-c9c7978c", "64" : "ami-cfc7978a" },
  "eu-west-1"      : { "32" : "ami-37c2f643", "64" : "ami-31c2f645" },
  "ap-southeast-1" : { "32" : "ami-66f28c34", "64" : "ami-60f28c32" },
  "ap-northeast-1" : { "32" : "ami-9c03a89d", "64" : "ami-a003a8a1" }
}

Тогда вы можете получить к ним доступ следующим образом:

"Resources" : {
    "myEC2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "32"]},
        "InstanceType" : "m1.small"
      }
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...