

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á.

# Usando curingas com nomes de destino de Hook
<a name="wildcard-hook-targets"></a>

Você pode usar curingas como parte do nome do alvo. Você pode usar caracteres curinga (`*`e`?`) nos nomes de destino do Hook. O asterisco (`*`) representa qualquer combinação de caracteres. O ponto de interrogação (`?`) representa qualquer caractere único. Você pode usar vários `*` `?` caracteres em um nome de destino.

**Example : Exemplos de curingas de nome de destino em esquemas Hook**  
O exemplo a seguir tem como alvo todos os tipos de recursos suportados pelo Amazon S3.  

```
{
...
    "handlers": {
       "preCreate": {
            "targetNames": [
                "AWS::S3::*"
            ],
            "permissions": []
       }
    }
...
}
```
O exemplo a seguir corresponde a todos os tipos de recursos que têm Bucket "" no nome.  

```
{
...
    "handlers": {
       "preCreate": {
            "targetNames": [
                "AWS::*::Bucket*"
            ],
            "permissions": []
       }
    }
...
}
```
Eles `AWS::*::Bucket*` podem ser resolvidos por qualquer um dos seguintes tipos de recursos concretos:  
+ `AWS::Lightsail::Bucket`
+ `AWS::S3::Bucket`
+ `AWS::S3::BucketPolicy`
+ `AWS::S3Outpost::Bucket`
+ `AWS::S3Outpost::BucketPolicy`

**Example : Exemplos de curingas de nome de destino nos esquemas de configuração do Hook**  
O exemplo de configuração a seguir invoca o Hook para `CREATE` operações em todos os tipos de recursos do Amazon S3 e `UPDATE` para operações em todos os tipos de recursos de tabela nomeados, como ou. `AWS::DynamobDB::Table` `AWS::Glue::Table`  

```
{
   "CloudFormationConfiguration": {
        "HookConfiguration": {
            "TargetStacks": "ALL",
            "FailureMode": "FAIL",
            "Properties": {},
            "TargetFilters":{
                 "Targets": [
                    {
                        "TargetName": "AWS::S3::*",
                        "Action": "CREATE",
                        "InvocationPoint": "PRE_PROVISION"
                    },
                    {
                        "TargetName": "AWS::*::Table",
                        "Action": "UPDATE",
                        "InvocationPoint": "PRE_PROVISION"
                    }
                 ]               
            }
        }
   }
}
```
O exemplo de configuração a seguir invoca o Hook for `CREATE` and `UPDATE` operations em todos os tipos de recursos do Amazon S3, e também `CREATE` for `UPDATE` and operations em todos os tipos de recursos de tabela nomeados, como ou. `AWS::DynamobDB::Table` `AWS::Glue::Table`  

```
{
   "CloudFormationConfiguration": {
        "HookConfiguration": {
            "TargetStacks": "ALL",
            "FailureMode": "FAIL",
            "Properties": {},
            "TargetFilters":{
                "TargetNames": [
                    "AWS::S3::*",
                    "AWS::*::Table"
                ],
                "Actions": [
                    "CREATE",
                    "UPDATE"
                ],
                "InvocationPoints": [
                    "PRE_PROVISION"
                ]
            }
        }
   }
}
```

**Example : `Include` pilhas específicas**  
Os exemplos a seguir especificam uma `Include` lista. O Hook só é invocado se os nomes das pilhas começarem com. `stack-test-`  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackNames": {
          "Include": [
            "stack-test-*"
          ]
        }
      }
    }
  }
}
```

**Example : `Exclude` pilhas específicas**  
Os exemplos a seguir especificam uma `Exclude` lista. O Hook é invocado em qualquer pilha que não comece com. `stack-test-`  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackNames": {
          "Exclude": [
            "stack-test-*"
          ]
        }
      }
    }
  }
}
```

**Example : Combinando `Include` e `Exclude` para pilhas específicas**  
Se `Include` as `Exclude` listas forem especificadas, o Hook só será invocado em pilhas correspondentes às `Include` que não coincidem na `Exclude` lista. No exemplo a seguir, o Hook é invocado em todas as pilhas que começam com, `stack-test-` exceto nas pilhas chamadas`stack-test-1`, e. `stack-test-2` `stack-test-3`  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackNames": {
          "Include": [
            "stack-test-*"
          ],
          "Exclude": [
            "stack-test-1",
            "stack-test-2",
            "stack-test-3"
          ]
        }
      }
    }
  }
}
```

**Example : funções `Include` específicas**  
O exemplo a seguir especifica uma `Include` lista com dois padrões curinga. A primeira entrada executará o Hook para qualquer função que comece com `hook-role` qualquer `partition` `account-id` e. A segunda entrada será executada para qualquer função em qualquer uma `partition` que pertença `account-id` `123456789012` a.  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackRoles": {
          "Include": [
            "arn:*:iam::*:role/hook-role*",
            "arn:*:iam::123456789012:role/*
          ]
        }
      }
    }
  }
}
```

**Example : funções `Exclude` específicas**  
Os exemplos a seguir especificam uma `Exclude` lista com dois padrões curinga. A primeira entrada ignorará a execução do Hook quando uma função estiver `exempt` em seu nome em qualquer `partition` um. `account-id` A segunda entrada ignorará a execução do Hook quando uma função pertencente a `account-id` `123456789012` for usada com a operação de pilha.  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackRoles": {
          "Exclude": [
            "arn:*:iam::*:role/*exempt*",
            "arn:*:iam::123456789012:role/*
          ]
        }
      }
    }
  }
}
```

**Example : Combinando `Include` e `Exclude` para funções específicas de padrões de ARN**  
Se `Include` as `Exclude` listas forem especificadas, o Hook só será invocado em pilhas usadas com funções que correspondam às `Include` que não coincidem na `Exclude` lista. No exemplo a seguir, o Hook é invocado em operações de pilha com qualquer `role` nome `partition``account-id`,, e, exceto se a função pertencer a. `account-id` `123456789012`  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackRoles": {
          "Include": [
            "arn:*:iam::*:role/*"
          ],
          "Exclude": [
            "arn:*:iam::123456789012:role/*"
          ]
        }
      }
    }
  }
}
```

**Example : Combinando nomes e funções da pilha com todos os critérios**  
O gancho a seguir inclui um curinga de nome de pilha e um curinga de função de pilha. Como o `FilteringCriteria` é especificado como`ALL`, o Hook só é invocado para pilhas que tenham a correspondência `StackName` e a correspondência. `StackRoles`  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ALL",
        "StackNames": {
          "Include": [
            "stack-test-*"
          ]
        },
        "StackRoles": {
          "Include": ["arn:*:iam::*:role/hook-role*"]
        }
      }
    }
  }
}
```

**Example : Combinando `StackNames` e `StackRoles` com qualquer critério**  
O gancho a seguir inclui um curinga de nome de pilha e um curinga de função de pilha. Como o `FilteringCriteria` é especificado como`ANY`, o Hook é invocado para a pilha que tem correspondência `StackNames` ou correspondência. `StackRoles`  

```
{
  "CloudFormationConfiguration": {
    "HookConfiguration": {
      "HookInvocationStatus": "ENABLED",
      "TargetOperations": [
        "STACK",
        "RESOURCE"
      ],
      "FailureMode": "WARN",
      "Properties": {},
      "StackFilters": {
        "FilteringCriteria": "ANY",
        "StackNames": {
          "Include": [
            "stack-test-*"
          ]
        },
        "StackRoles": {
            "Include": ["arn:*:iam::*:role/hook-role*"]
        }
      }
    }
  }
}
```