AWS::CloudFormation::Interface
メタデータを使用した CloudFormation パラメータの整理
AWS::CloudFormation::Interface
は、CloudFormation コンソールでパラメータをグループ化およびソートする方法を定義するメタデータキーです。デフォルトでは、コンソールでスタックを作成または更新すると、コンソールに入力パラメータが論理 ID のアルファベット順にリストされます。ユーザーがパラメーター値を効率的に指定できるように、このキーを使用して、パラメーターのグループ化とソートを独自に定義することができます。たとえば、すべての EC2 関連パラメーターを 1 つのグループに含め、すべての VPC 関連パラメーターを別のグループに含めることができます。
メタデータキーで、作成するグループ、各グループに含めるパラメーター、コンソールで各パラメーターがそのグループ内に表示される順序を指定できます。
パラメータのラベルを定義することもできます。ラベルは、パラメーターの論理 ID の代わりにコンソールに表示されるフレンドリ名または説明です。ラベルは、各パラメーターに指定する値をユーザーが理解するのに役立ちます。たとえば、KeyPair
パラメーターには Select an EC2 key pair
というラベルを付けることができます。
メタデータキーで参照するすべてのパラメーターは、テンプレートの Parameters
セクションで宣言する必要があります。
注記
CloudFormation コンソールのみが AWS::CloudFormation::Interface
メタデータキーを使用します。AWS CLI および API 呼び出しはこのキーを使用しません。
構文
CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。
JSON
"Metadata" : { "AWS::CloudFormation::Interface" : { "ParameterGroups": [ { "Label": { "default": "
Group Label
" }, "Parameters": [ "Parameter1
", "Parameter2
" ] } ], "ParameterLabels": { "Parameter1
": { "default": "Friendly Name for Parameter1
" } } } }
YAML
Metadata: AWS::CloudFormation::Interface: ParameterGroups: - Label: default:
Group Label
Parameters: -Parameter1
-Parameter2
ParameterLabels:Parameter1
: default:Friendly Name for Parameter1
プロパティ
ParameterGroups
-
パラメーターグループタイプ、グループ名を指定する場所、各グループ内のパラメーター、パラメーターが表示される順序のリスト。
必須: いいえ
Label
-
パラメーターグループの名前。
必須: いいえ
default
-
CloudFormation コンソールがパラメータグループの命名に使用するデフォルトのラベル。
必須: いいえ
タイプ: 文字列
Parameters
-
グループに含めるパラメーター論理 ID (大文字小文字が区別されます) のリスト。パラメーターは、テンプレートの
Parameters
セクションで既に定義されている必要があります。パラメーターは、1 つのパラメーターグループにのみ含めることができます。コンソールには、
Other parameters
グループ内の、パラメーターグループに関連付けないパラメーターがアルファベット順でリストされます。必須: いいえ
タイプ: 文字列値のリスト
ParameterLabels
-
スタックが作成または更新されたときに CloudFormation コンソールに表示されるパラメータとそのフレンドリ名のマッピング。
必須: いいえ
- パラメータラベル
-
パラメーターのラベル。ラベルは、スタックが作成または更新されるときに CloudFormation コンソールが [Specify Parameters] (パラメータを指定) に表示するフレンドリ名または説明を定義します。パラメータラベルは、テンプレートの
Parameters
セクションで宣言された有効なパラメーターの論理 ID (大文字と小文字を区別) にする必要があります。必須: いいえ
default
-
CloudFormation コンソールがパラメータの命名に使用するデフォルトのラベル。
必須: いいえ
タイプ: 文字列
例
次の例では、2 つのパラメーターグループ Network Configuration
および Amazon EC2 Configuration
を定義します。Network Configuration
グループには、VPCID
、SubnetId
、SecurityGroupID
の各パラメーターが含まれます。これらは、テンプレートの Parameters
セクション (非表示) で定義されます。コンソールにこれらのパラメーターが表示される順序は、パラメーターがリストされる順序によって定義されます (先頭は VPCID
パラメーター)。この例では、Amazon EC2 Configuration
パラメーターも同様にグループ化およびソートされています。
この例では、VPCID
パラメーターのラベルも定義しています。コンソールには、パラメータの論理 ID (VPCID
) の代わりに [Which VPC should this be deployed to? (どの VPC をこれにデプロイする必要がありますか。)] が表示されます。
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?"
コンソールに表示されたパラメータグループ
次の図は、この例のメタデータキーを使用すると、スタックが作成または更新されたときにパラメータグループがコンソールにどのように表示されるかを示しています。コンソールのパラメータグループ
