Файл параметров облачной информации

Как установить JSON-файл сложных параметров с именами групп, которые я позже смогу использовать в стековом файле как!Ref DBUser?

Вот пример моего файла settings.json:

[
{
  "ParameterKey": "DBName",
  "ParameterValue": {
     "Default": "test",
     "Description": "The database name",
     "Type": "String",
     "MinLength": "1",
     "MaxLength": "64",
     "AllowedPattern": "[a-zA-Z][a-zA-Z0-9]*",
     "ConstraintDescription": "must begin with a letter and contain only alphanumeric characters."
  }
},
{
  "ParameterKey": "DBUser",
  "ParameterValue" : {
     "NoEcho": "true",
     "Default": "test",
     "Description": "The database admin account username",
     "Type": "String",
     "MinLength": "1",
     "MaxLength": "16",
     "AllowedPattern": "[a-zA-Z][a-zA-Z0-9]*",
     "ConstraintDescription": "must begin with a letter and contain only alphanumeric characters."
  }
}

]

Я получаю такие ошибки:

Parameter validation failed:
Unknown parameter in Parameters[0]: "Label", must be one of: ParameterKey, ParameterValue, UsePreviousValue, ResolvedValue

1 ответ

Я думаю, что вы путаете два разных файла.

Шаблон CloudFormation используется для определения параметров, ресурсов и результатов. parameters раздел выглядит так:

"VPCCIDR": {
  "Description": "CIDR Block for VPC",
  "Type": "String",
  "Default": "10.0.0.0/16",
  "AllowedValues": [
    "10.0.0.0/16"
  ]
},

Определение включает тип параметра, значение по умолчанию и т. Д.

Затем есть файл параметров, который можно использовать для передачи значений для параметров, определенных в шаблоне. Этот файл не определяет сами параметры - скорее, он предоставляет список значений для параметров, а не указывает их в командной строке.

Это выглядит как:

[
  {
    "ParameterKey": "string",
    "ParameterValue": "string",
    "UsePreviousValue": true|false,
    "ResolvedValue": "string"
  }
  ...
]

Исходя из вашего вопроса, я думаю, что вы должны использовать файл первого типа, который определяет все ресурсы, которые должны быть развернуты в стеке CloudFormation, тогда как ваш код (выше) пытается преобразовать эти поля в формат для файла второго типа,

См. Примеры шаблонов - AWS CloudFormation

Другие вопросы по тегам