

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# CloudFormation Filtres cibles Hooks
<a name="hooks-target-filtering"></a>

Cette rubrique fournit des conseils sur la configuration des filtres cibles pour les CloudFormation Hooks. Vous pouvez utiliser des filtres cibles pour contrôler de manière plus précise quand et sur quelles ressources votre Hook est invoqué. Vous pouvez configurer des filtres allant du simple ciblage des types de ressources à des combinaisons plus complexes de types de ressources, d'actions et de points d'invocation.

Pour spécifier un ou plusieurs noms de pile en tant que filtres dans votre configuration Hooks, ajoutez une `TargetFilters` clé sous`HookConfiguration`.

`TargetFilters`prend en charge les propriétés suivantes. 

`Actions`  <a name="hooks-targetfilters-actions"></a>
Un tableau de chaînes qui indique les actions à cibler. Pour obtenir un exemple, consultez [Exemple 1 : filtre cible de base](#target-filtering-example-1).  
*Valeurs valides* : `CREATE` \$1 `UPDATE` \$1 `DELETE`  
Pour `RESOURCE``STACK`, et les `CLOUD_CONTROL` cibles, toutes les actions cibles sont applicables. Pour `CHANGE_SET` les cibles, seule l'`CREATE`action est applicable. Pour de plus amples informations, veuillez consulter [Crochet et cibles](hooks-concepts.md#hook-terms-hook-target).

`InvocationPoints`  <a name="hooks-targetfilters-invocationpoints"></a>
Un tableau de chaînes qui indique les points d'invocation vers la cible.  
*Valeurs valides* : `PRE_PROVISION`

`TargetNames`  <a name="hooks-targetfilters-targetnames"></a>
Un tableau de chaînes qui indique les noms des types de ressources à cibler, par exemple`AWS::S3::Bucket`.   
Les noms de cibles prennent en charge les noms de cibles concrets et la correspondance complète des caractères génériques. Pour de plus amples informations, veuillez consulter [Utilisation de caractères génériques avec les noms de cibles Hook](wildcard-hook-targets.md).  
*Modèle* : `^[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>
Tableau d'objets qui indique la liste des cibles à utiliser pour le filtrage des cibles.  
Chaque cible du tableau de cibles possède les propriétés suivantes.    
`Actions`  <a name="hooks-targetfilters-targets-actions"></a>
Action pour la cible spécifiée.  
*Valeurs valides* : `CREATE` \$1 `UPDATE` \$1 `DELETE`  
`InvocationPoints`  <a name="hooks-targetfilters-targets-invocationpoints"></a>
Point d'invocation pour la cible spécifiée.  
*Valeurs valides* : `PRE_PROVISION`  
`TargetNames`  <a name="hooks-targetfilters-targets-targetnames"></a>
Nom du type de ressource à cibler.

**Note**  
Vous ne pouvez pas inclure à la fois le tableau `TargetNames` d'`Targets`objets et `InvocationPoints` les tableaux`Actions`, ou. Si vous souhaitez utiliser ces trois éléments`Targets`, vous devez les inclure dans le tableau `Targets` d'objets. Pour obtenir un exemple, consultez [Exemple 2 : Utilisation du tableau `Targets` d'objets](#target-filtering-example-2).

## Exemples de filtres cibles
<a name="target-filtering-examples"></a>

Cette section fournit des exemples que vous pouvez suivre pour créer des filtres cibles pour les CloudFormation Hooks.

### Exemple 1 : filtre cible de base
<a name="target-filtering-example-1"></a>

Pour créer un filtre cible de base qui se concentre sur des types de ressources spécifiques, utilisez l'`TargetFilters`objet avec le `Actions` tableau. La configuration de filtre cible suivante invoquera le Hook on all `Create``Update`, et `Delete` des actions pour les opérations cibles spécifiées (dans ce cas, les deux `RESOURCE` et les `STACK` opérations).

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

### Exemple 2 : Utilisation du tableau `Targets` d'objets
<a name="target-filtering-example-2"></a>

Pour des filtres plus avancés, vous pouvez utiliser le tableau d'`Targets`objets pour répertorier des combinaisons spécifiques de cibles, d'actions et de points d'invocation. La configuration de filtre cible suivante invoquera le Hook before `CREATE` et les `UPDATE` actions sur les buckets S3 et les tables DynamoDB. Cela s'applique à la fois aux `RESOURCE` opérations `STACK` et aux opérations.

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