

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwendung von Platzhaltern mit Hook-Zielnamen
<a name="wildcard-hook-targets"></a>

Sie können Platzhalter als Teil des Zielnamens verwenden. Sie können Platzhalterzeichen (`*`und`?`) in Ihren Hook-Zielnamen verwenden. Das Sternchen (`*`) steht für eine beliebige Kombination von Zeichen. Das Fragezeichen (`?`) steht für ein beliebiges einzelnes Zeichen. Sie können mehrere `*` `?` UND-Zeichen in einem Zielnamen verwenden.

**Example : Beispiele für Platzhalter für Zielnamen in Hook-Schemas**  
Das folgende Beispiel zielt auf alle Ressourcentypen ab, die von Amazon S3 unterstützt werden.  

```
{
...
    "handlers": {
       "preCreate": {
            "targetNames": [
                "AWS::S3::*"
            ],
            "permissions": []
       }
    }
...
}
```
Das folgende Beispiel entspricht allen Ressourcentypen, deren Name Bucket "" enthält.  

```
{
...
    "handlers": {
       "preCreate": {
            "targetNames": [
                "AWS::*::Bucket*"
            ],
            "permissions": []
       }
    }
...
}
```
Das `AWS::*::Bucket*` könnte zu einem der folgenden konkreten Ressourcentypen aufgelöst werden:  
+ `AWS::Lightsail::Bucket`
+ `AWS::S3::Bucket`
+ `AWS::S3::BucketPolicy`
+ `AWS::S3Outpost::Bucket`
+ `AWS::S3Outpost::BucketPolicy`

**Example : Beispiele für Platzhalter für Zielnamen in Hook-Konfigurationsschemas**  
Die folgende Beispielkonfiguration ruft den Hook für `CREATE` Operationen auf allen Amazon S3 S3-Ressourcentypen und für `UPDATE` Operationen auf allen benannten Tabellenressourcentypen wie `AWS::DynamobDB::Table` oder `AWS::Glue::Table` auf.  

```
{
   "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"
                    }
                 ]               
            }
        }
   }
}
```
Die folgende Beispielkonfiguration ruft die Hook for `CREATE` - und `UPDATE` -Operationen für alle Amazon S3 S3-Ressourcentypen sowie die `UPDATE` Operationen für `CREATE` und für alle benannten Tabellenressourcentypen wie `AWS::DynamobDB::Table` oder `AWS::Glue::Table` auf.  

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

**Example : `Include` spezifische Stapel**  
Das folgende Beispiel spezifiziert eine `Include` Liste. Der Hook wird nur aufgerufen, wenn der Stackname mit `stack-test-` beginnt.  

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

**Example : `Exclude` spezifische Stapel**  
Das folgende Beispiel spezifiziert eine `Exclude` Liste. Der Hook wird für jeden Stack aufgerufen, der nicht mit `stack-test-` beginnt.  

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

**Example : Kombinieren `Include` und `Exclude` für bestimmte Stapel**  
Wenn `Include` und `Exclude` -Listen angegeben sind, wird der Hook nur für Stapel aufgerufen, `Include` die in der Liste übereinstimmen und nicht in der Liste übereinstimmen. `Exclude` Im folgenden Beispiel wird der Hook für alle Stapel aufgerufen, die mit beginnen, mit `stack-test-` Ausnahme der Stapel mit dem Namen, und. `stack-test-1` `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 : spezifische Rollen `Include`**  
Das folgende Beispiel spezifiziert eine `Include` Liste mit zwei Platzhaltermustern. Der erste Eintrag führt den Hook für jede Rolle aus, die mit `hook-role` in any `partition` und `account-id` beginnt. Der zweite Eintrag führt any für jede Rolle in einer beliebigen Rolle aus`partition`, die zu gehört `account-id``123456789012`.  

```
{
  "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 : `Exclude` spezifische Rollen**  
Das folgende Beispiel spezifiziert eine `Exclude` Liste mit zwei Platzhaltermustern. Beim ersten Eintrag wird die Hook-Ausführung übersprungen, wenn eine Rolle `exempt` in ihrem Namen beliebig `partition` und beliebig `account-id` steht. Der zweite Eintrag überspringt die Hook-Ausführung, wenn eine Rolle, die zu `account-id` `123456789012` gehört, zusammen mit der Stack-Operation verwendet wird.  

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

**Example : ARN-Muster kombinieren `Include` und `Exclude` für bestimmte Rollen**  
Wenn `Include` und `Exclude` -Listen angegeben sind, wird der Hook nur für Stacks aufgerufen, die mit Rollen verwendet werden, die denen entsprechen`Include`, die nicht in der `Exclude` Liste übereinstimmen. Im folgenden Beispiel wird der Hook bei Stack-Operationen mit einem beliebigen`partition`, und `role` Namen aufgerufen`account-id`, es sei denn, die Rolle gehört zu. `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 : Kombiniert Stacknamen und Rollen mit allen Kriterien**  
Der folgende Hook enthält einen Platzhalter für Stacknamen und einen Platzhalter für Stack-Rollen. Da der als angegeben `FilteringCriteria` ist`ALL`, wird der Hook nur für Stacks aufgerufen, die sowohl das Matching als auch das Matching enthalten. `StackName` `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 : Kombiniert `StackNames` und `StackRoles` mit beliebigen Kriterien**  
Der folgende Hook enthält einen Platzhalter für Stacknamen und einen Platzhalter für Stack-Rollen. Da der als angegeben `FilteringCriteria` ist`ANY`, wird der Hook für den Stack aufgerufen, der entweder Matching oder Matching `StackNames` hat. `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*"]
        }
      }
    }
  }
}
```