

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# CloudFormation Filter target kait
<a name="hooks-target-filtering"></a>

Topik ini memberikan panduan tentang mengonfigurasi filter target untuk CloudFormation Hooks. Anda dapat menggunakan filter target untuk kontrol yang lebih terperinci atas kapan dan sumber daya mana Hook Anda dipanggil. Anda dapat mengonfigurasi filter mulai dari penargetan tipe sumber daya sederhana hingga kombinasi jenis sumber daya, tindakan, dan titik pemanggilan yang lebih kompleks.

Untuk menentukan satu atau beberapa nama tumpukan sebagai filter dalam konfigurasi Hooks Anda, tambahkan `TargetFilters` kunci di bawah`HookConfiguration`.

`TargetFilters`mendukung properti berikut. 

`Actions`  <a name="hooks-targetfilters-actions"></a>
Sebuah array string yang menentukan tindakan untuk menargetkan. Sebagai contoh, lihat [Contoh 1: Filter target dasar](#target-filtering-example-1).  
*Nilai yang valid*: `CREATE` \$1 `UPDATE` \$1 `DELETE`  
Untuk`RESOURCE`,`STACK`, dan `CLOUD_CONTROL` target, semua tindakan target dapat diterapkan. Untuk `CHANGE_SET` target, hanya `CREATE` tindakan yang berlaku. Untuk informasi selengkapnya, lihat [Target kait](hooks-concepts.md#hook-terms-hook-target).

`InvocationPoints`  <a name="hooks-targetfilters-invocationpoints"></a>
Sebuah array string yang menentukan titik pemanggilan ke target.  
*Nilai yang valid*: `PRE_PROVISION`

`TargetNames`  <a name="hooks-targetfilters-targetnames"></a>
Sebuah array string yang menentukan nama jenis sumber daya untuk menargetkan, misalnya,`AWS::S3::Bucket`.   
Nama target mendukung nama target konkret dan pencocokan wildcard lengkap. Untuk informasi selengkapnya, lihat [Menggunakan wildcard dengan nama target Hook](wildcard-hook-targets.md).  
*Pola:* `^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$`  
*Maksimum*: `50`

`Targets`  <a name="hooks-targetfilters-targets"></a>
Sebuah array objek yang menentukan daftar target yang akan digunakan untuk target pemfilteran.  
Setiap target dalam array target memiliki properti berikut.    
`Actions`  <a name="hooks-targetfilters-targets-actions"></a>
Tindakan untuk target yang ditentukan.  
*Nilai yang valid*: `CREATE` \$1 `UPDATE` \$1 `DELETE`  
`InvocationPoints`  <a name="hooks-targetfilters-targets-invocationpoints"></a>
Titik pemanggilan untuk target yang ditentukan.  
*Nilai yang valid*: `PRE_PROVISION`  
`TargetNames`  <a name="hooks-targetfilters-targets-targetnames"></a>
Nama jenis sumber daya untuk ditargetkan.

**catatan**  
Anda tidak dapat menyertakan array `Targets` objek dan`TargetNames`,`Actions`, atau `InvocationPoints` array pada saat yang sama. Jika Anda ingin menggunakan ketiga item ini dan`Targets`, Anda harus memasukkannya ke dalam array `Targets` objek. Sebagai contoh, lihat [Contoh 2: Menggunakan array `Targets` objek](#target-filtering-example-2).

## Contoh filter target
<a name="target-filtering-examples"></a>

Bagian ini memberikan contoh yang dapat Anda ikuti untuk membuat filter target untuk CloudFormation Hooks.

### Contoh 1: Filter target dasar
<a name="target-filtering-example-1"></a>

Untuk membuat filter target dasar yang berfokus pada jenis sumber daya tertentu, gunakan `TargetFilters` objek dengan `Actions` array. Konfigurasi filter target berikut akan memanggil Hook pada semua`Create`,`Update`, dan `Delete` tindakan untuk operasi target yang ditentukan (dalam hal ini, keduanya `RESOURCE` dan `STACK` operasi).

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

### Contoh 2: Menggunakan array `Targets` objek
<a name="target-filtering-example-2"></a>

Untuk filter yang lebih canggih, Anda dapat menggunakan array `Targets` objek untuk mencantumkan kombinasi target, tindakan, dan titik pemanggilan tertentu. Konfigurasi filter target berikut ini akan memanggil Hook sebelum `CREATE` dan `UPDATE` tindakan pada bucket S3 dan tabel DynamoDB. Ini berlaku untuk keduanya `STACK` dan `RESOURCE` operasi.

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