

# `AWS::CloudFormation::Interface` メタデータを使用した CloudFormation パラメータの整理
<a name="aws-cloudformation-interface"></a>

`AWS::CloudFormation::Interface` は、CloudFormation コンソールでパラメータをグループ化およびソートする方法を定義するメタデータキーです。デフォルトでは、コンソールでスタックを作成または更新すると、コンソールに入力パラメータが論理 ID のアルファベット順にリストされます。ユーザーがパラメーター値を効率的に指定できるように、このキーを使用して、パラメーターのグループ化とソートを独自に定義することができます。たとえば、すべての EC2 関連パラメーターを 1 つのグループに含め、すべての VPC 関連パラメーターを別のグループに含めることができます。

メタデータキーで、作成するグループ、各グループに含めるパラメーター、コンソールで各パラメーターがそのグループ内に表示される順序を指定できます。

パラメータのラベルを定義することもできます。ラベルは、パラメーターの論理 ID の代わりにコンソールに表示されるフレンドリ名または説明です。ラベルは、各パラメーターに指定する値をユーザーが理解するのに役立ちます。たとえば、`KeyPair` パラメーターには `Select an EC2 key pair` というラベルを付けることができます。

メタデータキーで参照するすべてのパラメーターは、テンプレートの `Parameters` セクションで宣言する必要があります。

**注記**  
CloudFormation コンソールのみが `AWS::CloudFormation::Interface` メタデータキーを使用します。AWS CLI および API 呼び出しはこのキーを使用しません。

## 構文
<a name="aws-resource-cloudformation-interface-syntax"></a>

CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### JSON
<a name="aws-resource-cloudformation-interface-syntax.json"></a>

```
"Metadata" : {
  "AWS::CloudFormation::Interface" : {
    "ParameterGroups": [
      {
        "Label": {
          "default": "Group Label"
        },
        "Parameters": [
          "Parameter1",
          "Parameter2"
        ]
      }
    ],
    "ParameterLabels": {
      "Parameter1": {
        "default": "Friendly Name for Parameter1"
      }
    }
  }
}
```

### YAML
<a name="aws-resource-cloudformation-interface-syntax.yaml"></a>

```
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: Group Label
        Parameters:
          - Parameter1
          - Parameter2
    ParameterLabels:
      Parameter1:
        default: Friendly Name for Parameter1
```

## プロパティ
<a name="w2aac11c23c29c17c17"></a>

`ParameterGroups`  
パラメーターグループタイプ、グループ名を指定する場所、各グループ内のパラメーター、パラメーターが表示される順序のリスト。  
*必須:* いいえ    
`Label`  
パラメーターグループの名前。  
*必須:* いいえ  
`default`  
CloudFormation コンソールがパラメータグループの命名に使用するデフォルトのラベル。  
*必須:* いいえ  
タイプ: 文字列  
`Parameters`  
グループに含めるパラメーター論理 ID (大文字小文字が区別されます) のリスト。パラメーターは、テンプレートの `Parameters` セクションで既に定義されている必要があります。パラメーターは、1 つのパラメーターグループにのみ含めることができます。  
コンソールには、`Other parameters` グループ内の、パラメーターグループに関連付けないパラメーターがアルファベット順でリストされます。  
*必須:* いいえ  
*タイプ*: 文字列値のリスト

`ParameterLabels`  
スタックが作成または更新されたときに CloudFormation コンソールに表示されるパラメータとそのフレンドリ名のマッピング。  
*必須:* いいえ    
パラメータラベル  
パラメーターのラベル。ラベルは、スタックが作成または更新されるときに CloudFormation コンソールが [**Specify Parameters**] (パラメータを指定) に表示するフレンドリ名または説明を定義します。パラメータラベルは、テンプレートの `Parameters` セクションで宣言された有効なパラメーターの論理 ID (大文字と小文字を区別) にする必要があります。  
*必須:* いいえ  
`default`  
CloudFormation コンソールがパラメータの命名に使用するデフォルトのラベル。  
*必須:* いいえ  
タイプ: 文字列

## 例
<a name="w2aac11c23c29c17c19"></a>

次の例では、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
<a name="aws-cloudformation-interface-example.json"></a>

```
"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
<a name="aws-cloudformation-interface-example.yaml"></a>

```
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?"
```

### コンソールに表示されたパラメータグループ
<a name="w2aac11c23c29c17c19c11"></a>

次の図は、この例のメタデータキーを使用すると、スタックが作成または更新されたときにパラメータグループがコンソールにどのように表示されるかを示しています。**コンソールのパラメータグループ** 

![\[コンソールにこの例のパラメータグループが表示されます。\]](http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/images/console-create-stack-parameter-groups.png)
