AWS::CloudFormation::Interface
AWS::CloudFormation::Interface 是一种元数据键,用于定义参数在 Amazon CloudFormation 控制台中的分组和排序方式。在控制台中创建或更新堆栈时,控制台会依照输入参数逻辑 ID 的字母顺序列出它们。您可以借助此键定义自己的参数分组和排序方法,以便用户高效地指定参数值。例如,您可以将所有 EC2 相关的参数放到一个组中、将所有 VPC 相关的参数放到另一个组中。
除了分组和排序参数外,您还可以定义参数的标签。标签是控制台显示的易记名称或描述,以代替参数的逻辑 ID。标签可帮助用户了解为每个参数指定的值。例如,您可以将 KeyPair 参数标记为 Select an EC2 key
pair。
注意
仅 CloudFormation 控制台使用 AWS::CloudFormation::Interface 元数据键。Amazon CLI 和 API 调用不使用此键。
语法
要在 CloudFormation 模板中声明此实体,请使用以下语法:
JSON
"Metadata" : { "AWS::CloudFormation::Interface" : { "ParameterGroups" : [ParameterGroup, ...], "ParameterLabels" :ParameterLabel} }
YAML
Metadata: AWS::CloudFormation::Interface: ParameterGroups: -ParameterGroupParameterLabels:ParameterLabel
属性
ParameterGroups-
参数组类型的列表、指定组名称的地方、每个组中的参数以及参数的显示顺序。
必需:否
类型: Amazon::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?"
控制台中的参数组
下图展示了使用本示例中的元数据键后,在创建或更新堆栈时控制台如何显示参数组:控制台中的参数组