Файл параметров облачной информации
Как установить 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, тогда как ваш код (выше) пытается преобразовать эти поля в формат для файла второго типа,