

# Organizar parâmetros do CloudFormation com metadados `AWS::CloudFormation::Interface`
<a name="aws-cloudformation-interface"></a>

`AWS::CloudFormation::Interface` é uma chave de metadados que define como os parâmetros são agrupados e classificados no console do CloudFormation. Por padrão, o console lista os parâmetros de entrada em ordem alfabética pelos IDs lógicos quando você cria ou atualiza pilhas no console. Usando essa chave, você pode definir seu próprio agrupamento e classificação de parâmetros de forma que os usuários possam especificar valores de parâmetros de forma eficiente. Por exemplo, você pode agrupar todos os parâmetros relacionados ao EC2 em um grupo e todos os parâmetros relacionados à VPC em outro grupo.

Na chave de metadados, você pode especificar os grupos a serem criados, os parâmetros a serem incluídos em cada grupo e a ordem na qual o console mostra cada parâmetro em seu grupo. 

Você também pode definir rótulos para parâmetros. Um rótulo é um nome amigável ou uma descrição que o console exibe em vez de um ID lógico do parâmetro. Os rótulos são úteis para ajudar os usuários a compreenderem os valores a serem especificados para cada parâmetro. Por exemplo, você pode rotular um parâmetro `KeyPair` `Select an EC2 key pair`.

Todos os parâmetros aos quais você faz referência na chave de metadados devem ser declarados na seção `Parameters` do modelo.

**nota**  
Somente o console do CloudFormation usa a chave de metadados `AWS::CloudFormation::Interface`. A AWS CLI e as chamadas da API não usam essa chave.

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

Para declarar essa entidade no modelo do CloudFormation, use a seguinte sintaxe:

### 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
```

## Propriedades
<a name="w2aac11c23c29c17c17"></a>

`ParameterGroups`  
Uma lista de tipos de parameter group, em que você especifica nomes de grupo, os parâmetros em cada grupo e a ordem na qual os parâmetros são mostrados.  
*Obrigatório*: não    
`Label`  
Um nome do grupo de parâmetros.  
*Obrigatório*: não  
`default`  
O rótulo padrão usado pelo console do CloudFormation para nomear um grupo de parâmetros.  
*Obrigatório*: não  
*Tipo:* string  
`Parameters`  
Uma lista de IDs lógicas de parâmetro que diferenciam maiúsculas de minúsculas a serem incluídas no grupo. Os parâmetros já devem ser definidos na seção `Parameters` do modelo. Um parâmetro pode ser incluído apenas em um grupo de parâmetros.  
O console lista os parâmetros que você não associa a um grupo de parâmetros em ordem alfabética no grupo `Other parameters`.  
*Obrigatório*: não  
*Tipo*: lista de valores de strings

`ParameterLabels`  
Um mapeamento de parâmetros e os nomes amigáveis deles que o console do CloudFormation mostra quando uma pilha é criada ou atualizada.  
*Obrigatório*: não    
Rótulo do parâmetro  
Um rótulo de um parâmetro. O rótulo define um nome ou uma descrição amigável que o console do CloudFormation mostra na página **Especificar parâmetros** quando uma pilha é criada ou atualizada. O rótulo do parâmetro deve ser o ID lógico que diferencia maiúsculas de minúsculas de um parâmetro válido que foi declarado na seção `Parameters` do modelo.  
*Obrigatório*: não  
`default`  
O rótulo padrão usado pelo console do CloudFormation para nomear um parâmetro.  
*Obrigatório*: não  
*Tipo:* string

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

O exemplo a seguir define dois parameter groups: `Network Configuration` e `Amazon EC2 Configuration`. O grupo `Network Configuration` inclui os parâmetros `VPCID`, `SubnetId`e `SecurityGroupID`, que são definidos na seção `Parameters` do modelo (não mostrado). A ordem na qual o console mostra esses parâmetros é definida pela ordem na qual os parâmetros são listados, começando com o parâmetro `VPCID`. O exemplo agrupa e classifica os parâmetros `Amazon EC2 Configuration` de forma semelhante.

O exemplo também define um rótulo para o parâmetro `VPCID`. O console mostrará a mensagem **Which VPC should this be deployed to?** (Em qual VPC isso deve ser implantado?) em vez de mostrar o ID lógico do parâmetro (`VPCID`).

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

### Grupos de parâmetros no console
<a name="w2aac11c23c29c17c19c11"></a>

Usando a chave de metadados deste exemplo, a figura a seguir mostra como o console exibe os grupos de parâmetros quando uma pilha é criada ou atualizada: **Grupos de parâmetros no console** 

![\[Console mostrando os parameter groups deste exemplo.\]](http://docs.aws.amazon.com/pt_br/AWSCloudFormation/latest/UserGuide/images/console-create-stack-parameter-groups.png)
