

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

En este tema se proporciona una guía sobre la configuración de los filtros de destino para CloudFormation Hooks. Puedes usar filtros de destino para tener un control más detallado sobre cuándo y en qué recursos se invoca tu Hook. Puedes configurar filtros que van desde una segmentación simple por tipos de recursos hasta combinaciones más complejas de tipos de recursos, acciones y puntos de invocación.

Para especificar uno o más nombres de pila como filtros en tu configuración de Hooks, añade una `TargetFilters` clave a continuación. `HookConfiguration`

`TargetFilters`admite las siguientes propiedades. 

`Actions`  <a name="hooks-targetfilters-actions"></a>
Una matriz de cadenas que especifica las acciones a las que dirigirse. Para ver un ejemplo, consulta [Ejemplo 1: filtro de destino básico](#target-filtering-example-1).  
*Valores válidos*: `CREATE` \$1 `UPDATE` \$1 `DELETE`  
Para `RESOURCE``STACK`, y `CLOUD_CONTROL` los objetivos, son aplicables todas las acciones objetivo. En el caso de `CHANGE_SET` los objetivos, solo se aplica la `CREATE` acción. Para obtener más información, consulte [¡Gancho los objetivos](hooks-concepts.md#hook-terms-hook-target).

`InvocationPoints`  <a name="hooks-targetfilters-invocationpoints"></a>
Una matriz de cadenas que especifica los puntos de invocación al objetivo.  
*Valores válidos*: `PRE_PROVISION`

`TargetNames`  <a name="hooks-targetfilters-targetnames"></a>
Una matriz de cadenas que especifica los nombres de los tipos de recursos a los que se dirige, por ejemplo,`AWS::S3::Bucket`.   
Los nombres de destino admiten nombres de destino concretos y la coincidencia completa de caracteres comodín. Para obtener más información, consulte [Uso de caracteres comodín con nombres de objetivos de Hook](wildcard-hook-targets.md).  
*Patrón*: `^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$`  
*Máximo*: `50`

`Targets`  <a name="hooks-targetfilters-targets"></a>
Matriz de objetos que especifica la lista de objetivos que se van a utilizar para el filtrado de objetivos.  
Cada objetivo de la matriz de objetivos tiene las siguientes propiedades.    
`Actions`  <a name="hooks-targetfilters-targets-actions"></a>
La acción del objetivo especificado.  
*Valores válidos*: `CREATE` \$1 `UPDATE` \$1 `DELETE`  
`InvocationPoints`  <a name="hooks-targetfilters-targets-invocationpoints"></a>
El punto de invocación del objetivo especificado.  
*Valores válidos*: `PRE_PROVISION`  
`TargetNames`  <a name="hooks-targetfilters-targets-targetnames"></a>
El nombre del tipo de recurso al que se va a destinar.

**nota**  
No puede incluir la matriz de `Targets` objetos y las `InvocationPoints` matrices `TargetNames``Actions`, o al mismo tiempo. Si desea utilizar estos tres elementos`Targets`, debe incluirlos en la matriz de `Targets` objetos. Para ver un ejemplo, consulta [Ejemplo 2: Uso de la matriz de `Targets` objetos](#target-filtering-example-2).

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

Esta sección proporciona ejemplos que puedes seguir para crear filtros de destino para CloudFormation Hooks.

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

Para crear un filtro de destino básico que se centre en tipos de recursos específicos, utilice el `TargetFilters` objeto con la `Actions` matriz. La siguiente configuración del filtro de destino invocará el Hook en todas `Create` `Delete` las operaciones de destino especificadas (en este caso, tanto como `RESOURCE` las `STACK` operaciones). `Update`

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

### Ejemplo 2: Uso de la matriz de `Targets` objetos
<a name="target-filtering-example-2"></a>

Para filtros más avanzados, puedes usar la matriz de `Targets` objetos para enumerar combinaciones específicas de objetivos, acciones y puntos de invocación. La siguiente configuración de filtro de destino invocará el Hook antes `CREATE` y `UPDATE` las acciones en los buckets S3 y las tablas de DynamoDB. Se aplica a ambas operaciones. `STACK` `RESOURCE`

```
{
  "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"
          }
        ]               
      }
    }
  }
}
```