我有以下非常简单的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.
是什么意思?我在Google上搜索了此错误消息,却一无所获。
答案 0 :(得分:3)
该错误消息可能令人困惑-尤其是在您有很多参数的情况下-并且似乎没有任何地方记录该错误消息。但是在文档中提到了here:
必须为每个参数分配AWS CloudFormation支持的参数类型。有关更多信息,请参见Type。
要修复此模板,只需添加一个类型:
---
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