

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# CloudFormation Filtros de destino de ganchos
<a name="hooks-target-filtering"></a>

Este tópico fornece orientação sobre como configurar filtros de destino para CloudFormation Hooks. Você pode usar filtros de destino para obter um controle mais granular sobre quando e em quais recursos seu Hook é invocado. Você pode configurar filtros que vão desde a simples segmentação por tipo de recurso até combinações mais complexas de tipos de recursos, ações e pontos de invocação.

Para especificar um ou mais nomes de pilha como filtros na configuração do Hooks, adicione uma `TargetFilters` chave abaixo. `HookConfiguration`

`TargetFilters`suporta as seguintes propriedades. 

`Actions`  <a name="hooks-targetfilters-actions"></a>
Uma matriz de seqüências de caracteres que especifica as ações a serem direcionadas. Para ver um exemplo, consulte [Exemplo 1: filtro de destino básico](#target-filtering-example-1).  
*Valores válidos*: `CREATE` \$1 `UPDATE` \$1 `DELETE`  
Para`RESOURCE`,`STACK`, e `CLOUD_CONTROL` metas, todas as ações-alvo são aplicáveis. Para `CHANGE_SET` alvos, somente a `CREATE` ação é aplicável. Para obter mais informações, consulte [Alvos de gancho](hooks-concepts.md#hook-terms-hook-target).

`InvocationPoints`  <a name="hooks-targetfilters-invocationpoints"></a>
Uma matriz de strings que especifica os pontos de invocação a serem alvos.  
*Valores válidos*: `PRE_PROVISION`

`TargetNames`  <a name="hooks-targetfilters-targetnames"></a>
Uma matriz de seqüências de caracteres que especifica os nomes dos tipos de recursos a serem segmentados, por exemplo,`AWS::S3::Bucket`.   
Os nomes de destino oferecem suporte a nomes de alvos concretos e à correspondência completa de curingas. Para obter mais informações, consulte [Usando curingas com nomes de destino de Hook](wildcard-hook-targets.md).  
*Pattern*: `^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$`  
*Maximum*: `50`

`Targets`  <a name="hooks-targetfilters-targets"></a>
Uma matriz de objetos que especifica a lista de destinos a serem usados para filtragem de alvos.  
Cada alvo na matriz de alvos tem as seguintes propriedades.    
`Actions`  <a name="hooks-targetfilters-targets-actions"></a>
A ação para o alvo especificado.  
*Valores válidos*: `CREATE` \$1 `UPDATE` \$1 `DELETE`  
`InvocationPoints`  <a name="hooks-targetfilters-targets-invocationpoints"></a>
O ponto de invocação para o alvo especificado.  
*Valores válidos*: `PRE_PROVISION`  
`TargetNames`  <a name="hooks-targetfilters-targets-targetnames"></a>
O nome do tipo de recurso a ser segmentado.

**nota**  
Você não pode incluir a matriz de `Targets` objetos e as `InvocationPoints` matrizes `TargetNames``Actions`, ou ao mesmo tempo. Se você quiser usar esses três itens e`Targets`, deverá incluí-los na matriz de `Targets` objetos. Para ver um exemplo, consulte [Exemplo 2: Usando a matriz de `Targets` objetos](#target-filtering-example-2).

## Exemplos de filtros de destino
<a name="target-filtering-examples"></a>

Esta seção fornece exemplos que você pode seguir para criar filtros de destino para CloudFormation Hooks.

### Exemplo 1: filtro de destino básico
<a name="target-filtering-example-1"></a>

Para criar um filtro de destino básico que se concentre em tipos de recursos específicos, use o `TargetFilters` objeto com a `Actions` matriz. A configuração do filtro de destino a seguir invocará o Hook em todas as `Create` `Delete` ações e para as operações de destino especificadas (nesse caso, ambas `RESOURCE` as `STACK` operações). `Update`

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "TargetFilters": {
        "Actions": [
           "Create",
           "Update",
           "Delete"
        ]
      }
    }
  }
}
```

### Exemplo 2: Usando a matriz de `Targets` objetos
<a name="target-filtering-example-2"></a>

Para filtros mais avançados, você pode usar a matriz de `Targets` objetos para listar combinações específicas de destino, ação e ponto de invocação. A configuração do filtro de destino a seguir invocará o Hook before `CREATE` e as `UPDATE` ações nos buckets do S3 e nas tabelas do DynamoDB. Isso se aplica tanto às `RESOURCE` operações `STACK` quanto às operações.

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "TargetFilters": {
        "Targets": [
          {
             "TargetName": "AWS::S3::Bucket",
             "Action": "CREATE",
             "InvocationPoint": "PRE_PROVISION"
          },
          {
             "TargetName": "AWS::S3::Bucket",
             "Action": "UPDATE",
             "InvocationPoint": "PRE_PROVISION"
          },
          {
             "TargetName": "AWS::DynamoDB::Table",
             "Action": "CREATE",
             "InvocationPoint": "PRE_PROVISION"
          },
          {
             "TargetName": "AWS::DynamoDB::Table",
             "Action": "UPDATE",
             "InvocationPoint": "PRE_PROVISION"
          }
        ]               
      }
    }
  }
}
```