Amazon web services CloudFormation模板格式错误:每个参数对象必须包含一个类型成员

Amazon web services CloudFormation模板格式错误:每个参数对象必须包含一个类型成员,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有以下非常简单的CloudFormation模板: --- AWST模板格式版本:2010-09-09 参数: 实例类型: 描述:“EC2实例类型” 默认值:t2.micro 资源: EC2状态: 类型:“AWS::EC2::实例” 特性: 图像ID:ami-08589eca6dcc9b39c 实例类型:!Ref实例类型 关键字名称:默认值 使用以下命令验证此模板时: ▶ aws cloudformation验证模板--模板正文file://cloudformation.yml 我收到以下

我有以下非常简单的CloudFormation模板:

---
AWST模板格式版本:2010-09-09
参数:
实例类型:
描述:“EC2实例类型”
默认值:t2.micro
资源:
EC2状态:
类型:“AWS::EC2::实例”
特性:
图像ID:ami-08589eca6dcc9b39c
实例类型:!Ref实例类型
关键字名称:默认值
使用以下命令验证此模板时:

▶ aws cloudformation验证模板--模板正文file://cloudformation.yml
我收到以下神秘的错误消息:

调用ValidateTemplate操作时发生错误(ValidationError): 模板格式错误:每个参数对象必须包含一个类型成员。
这是什么意思?我在谷歌上搜索了这个错误消息,但什么也没找到。

这个错误消息可能会让人困惑——特别是如果你有很多参数的话——而且似乎在任何地方都没有记录。然而,文件中提到:

必须为每个参数指定AWS CloudFormation支持的参数类型。有关详细信息,请参阅

因此,要修复此模板,只需添加一个类型:

---
AWST模板格式版本:2010-09-09
参数:
实例类型:
类型:字符串##添加此行
描述:“EC2实例类型”
默认值:t2.micro
资源:
EC2状态:
类型:“AWS::EC2::实例”
特性:
图像ID:ami-08589eca6dcc9b39c
实例类型:!Ref实例类型
关键字名称:默认值
另请参见此处的堆栈溢出