AWS::CloudFormation::Interface
AWS::CloudFormation::Interface
是一种元数据键,用于定义参数在 Amazon CloudFormation 控制台中的分组和排序方式。在控制台中创建或更新堆栈时,默认情况下控制台会依照输入参数的逻辑 ID 的字母顺序将其列出。您可以借助此键定义自己的参数分组和排序方法,以便用户高效地指定参数值。例如,您可以将所有 EC2 相关的参数放到一个组中、将所有 VPC 相关的参数放到另一个组中。
在元数据键中,您可以指定要创建的组、每个组包含的参数以及控制台在其分组中显示各个参数时的顺序。
您还可以定义参数标签。标签是控制台显示的易记名称或描述,以代替参数的逻辑 ID。标签可帮助用户了解为每个参数指定的值。例如,您可以将 KeyPair
参数标记为 Select an EC2 key pair
。
在元数据键中引用的所有参数都必须在模板的 Parameters
部分中声明。
注意
仅 CloudFormation 控制台使用 AWS::CloudFormation::Interface
元数据键。Amazon CLI 和 API 调用不使用此键。
语法
要在 CloudFormation 模板中声明此实体,请使用以下语法:
JSON
"Metadata" : { "AWS::CloudFormation::Interface" : { "ParameterGroups" : [
ParameterGroup, ...
], "ParameterLabels" :ParameterLabel
} }
YAML
Metadata: AWS::CloudFormation::Interface: ParameterGroups: -
ParameterGroup
ParameterLabels:ParameterLabel
属性
ParameterGroups
-
参数组类型的列表、指定组名称的地方、每个组中的参数以及参数的显示顺序。
必需:否
类型:AWS::CloudFormation::Interface ParameterGroup
更新要求:没有中断
ParameterLabels
-
创建或更新堆栈时,CloudFormation 控制台显示的参数与易记名称的映射。
必需:否
类型:AWS::CloudFormation::Interface ParameterLabel
更新要求:没有中断
示例
以下示例定义了两个参数组:Network Configuration
和 Amazon EC2 Configuration
。Network Configuration
组包含 VPCID
、SubnetId
和 SecurityGroupID
参数 (在模板的 Parameters
部分中定义,未显示)。参数的列出顺序定义了控制台显示这些参数的顺序,以 VPCID
参数开始。以下示例以相似方式分组和排序 Amazon EC2 Configuration
参数。
该示例还为 VPCID
参数定义了一个标签。控制台将显示应将此元素部署到哪个 VPC?,而不是参数的逻辑 ID (VPCID
)。
JSON
"Metadata" : { "AWS::CloudFormation::Interface" : { "ParameterGroups" : [ { "Label" : { "default" : "Network Configuration" }, "Parameters" : [ "VPCID", "SubnetId", "SecurityGroupID" ] }, { "Label" : { "default":"Amazon EC2 Configuration" }, "Parameters" : [ "InstanceType", "KeyName" ] } ], "ParameterLabels" : { "VPCID" : { "default" : "Which VPC should this be deployed to?" } } } }
YAML
Metadata: AWS::CloudFormation::Interface: ParameterGroups: - Label: default: "Network Configuration" Parameters: - VPCID - SubnetId - SecurityGroupID - Label: default: "Amazon EC2 Configuration" Parameters: - InstanceType - KeyName ParameterLabels: VPCID: default: "Which VPC should this be deployed to?"
控制台中的参数组
下图展示了使用本示例中的元数据键后,在创建或更新堆栈时控制台如何显示参数组:控制台中的参数组
