CloudFormation указывает значение None для параметра - PullRequest
0 голосов
/ 07 января 2019

Я пишу шаблон облачной информации, и у меня есть параметр для набора значений конфигурации для ресурсов AWS. Одно из значений - None, как указано в документации AWS. Однако, когда я ввожу null в облачную информацию, стек завершается с:

Template validation error: [/Parameters/.../AllowedValues/1] 'null' values are not allowed in templates.

Например, установка одной из многих конфигураций для эластичного бобового стебля, по умолчанию None:

Parameters:
  EC2KeyPairName:
    Description: EC2 key pair name for SSH access
    Type: AWS::EC2::KeyPair::KeyName
    Default: null

Resources:
  Type: AWS::ElasticBeanstalk::ConfigurationTemplate
    Properties:
      ApplicationName: !Ref Application
      SolutionStackName: !FindInMap [ StackMap, !Ref StackType, stackName ]
      OptionSettings:
        - Namespace: aws:autoscaling:launchconfiguration
          OptionName: EC2KeyName
          Value: !Ref EC2KeyPairName

Как использовать значение None в качестве одного из параметров параметра?

Ответы [ 2 ]

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

Пост от https://cloudonaut.io/optional-parameter-in-cloudformation/ предоставляет решение.

Использование AWS::NoValue устанавливает значение None для шаблонов облачной информации.

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

Определение параметра в шаблоне В следующем примере объявляется параметр с именем InstanceTypeParameter. Этот параметр позволяет указать тип экземпляра Amazon EC2 для стека, который будет использоваться при создании или обновлении стека.

Обратите внимание, что InstanceTypeParameter имеет значение по умолчанию t2.micro. Это значение, которое AWS CloudFormation использует для предоставления стека, если не указано другое значение.

Parameters: 
InstanceTypeParameter: 
Type: String
Default: t2.micro
AllowedValues: 
  - t2.micro
  - m1.small
  - m1.large
Description: Enter t2.micro, m1.small, or m1.large. Default is t2.micro.

Общие требования к параметрам При использовании параметров применяются следующие требования:

В шаблоне AWS CloudFormation может быть не более 60 параметров.

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

Каждому параметру должен быть присвоен тип параметра, поддерживаемый AWS CloudFormation. Для получения дополнительной информации см. Тип.

Каждому параметру должно быть присвоено значение во время выполнения, чтобы AWS CloudFormation успешно подготовил стек. При желании вы можете указать значение по умолчанию для использования AWS CloudFormation, если не указано другое значение.

Параметры должны быть объявлены и на них есть ссылки из одного и того же шаблона. Вы можете ссылаться на параметры в разделах Ресурсы и Выходы шаблона.

См: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...