Ошибка формата шаблона CloudFormation: каждый объект Parameters должен содержать член типа - PullRequest
0 голосов
/ 29 марта 2019

У меня есть следующий очень простой шаблон CloudFormation:

---
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  InstanceType:
    Description: 'EC2 Instance Type'
    Default: t2.micro
Resources:
  EC2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: ami-08589eca6dcc9b39c
      InstanceType: !Ref InstanceType
      KeyName: default

При проверке этого шаблона с помощью:

▶ aws cloudformation validate-template --template-body file://cloudformation.yml

Я получаю следующее зашифрованное сообщение об ошибке:

An error occurred (ValidationError) when calling the ValidateTemplate operation:
  Template format error: Every Parameters object must contain a Type member.           

Что это значит?Я погуглил это сообщение об ошибке и ничего не нашел.

1 Ответ

3 голосов
/ 29 марта 2019

Сообщение об ошибке может сбивать с толку - особенно если у вас много параметров - и оно нигде не документировано. Тем не менее, в документах упоминается здесь :

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

Таким образом, чтобы исправить этот шаблон, просто добавьте тип:

---
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  InstanceType:
    Type: String  ## ADD THIS LINE
    Description: 'EC2 Instance Type'
    Default: t2.micro
Resources:
  EC2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: ami-08589eca6dcc9b39c
      InstanceType: !Ref InstanceType
      KeyName: default

См. Также связанные вопросы здесь, при переполнении стека.

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