

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

# Operasi sumber daya API Kontrol Cloud
<a name="resource-operations"></a>

Gunakan AWS Cloud Control API untuk melakukan atau konstruksi kata kerja perintah lainnya membuat, membaca, memperbarui, menghapus, dan membuat daftar (-L) operasi pada sumber daya di Anda. Akun AWS

**Topics**
+ [Prasyarat](#resource-operations-prerequisites)
+ [Menentukan kredensional](#resource-operations-permissions)
+ [Memastikan permintaan unik](#resource-operations-idempotency)
+ [Pertimbangan-pertimbangan](#resource-operations-considerations)
+ [Membuat sebuah sumber daya](resource-operations-create.md)
+ [Memperbarui sumber daya](resource-operations-update.md)
+ [Menghapus sumber daya](resource-operations-delete.md)
+ [Menemukan sumber daya](resource-operations-list.md)
+ [Membaca sumber daya](resource-operations-read.md)
+ [Mengelola permintaan sumber daya](resource-operations-manage-requests.md)
+ [Mengidentifikasi sumber daya dengan AWS Cloud Control API](resource-identifier.md)

## Prasyarat untuk menggunakan sumber daya dengan Cloud Control API
<a name="resource-operations-prerequisites"></a>

Untuk menyediakan sumber daya tertentu menggunakan Cloud Control API, jenis sumber daya tersebut harus mendukung Cloud Control API dan tersedia untuk digunakan di Anda Akun AWS.
+ **Sumber daya yang tersedia untuk digunakan di Akun AWS**

  Agar tersedia untuk digunakan di akun Anda, jenis sumber daya publik harus diaktifkan, dan jenis sumber daya pribadi harus terdaftar. Jenis AWS sumber daya yang didukung bersifat publik dan selalu diaktifkan. Untuk informasi selengkapnya, lihat [Menggunakan tipe sumber daya Cloud Control API](resource-types.md).
+ **Sumber daya yang mendukung Cloud Control API**

  Untuk daftar jenis AWS sumber daya yang mendukung Cloud Control API, lihat[Tipe sumber daya yang mendukung API Cloud Control](supported-resources.md).

  Jenis sumber daya pihak ketiga, baik publik maupun pribadi, mendukung Cloud Control API.

  Untuk detail tentang cara menentukan apakah jenis sumber daya tertentu mendukung Cloud Control API, lihat[Menentukan apakah jenis sumber daya mendukung Cloud Control API](resource-types.md#resource-types-determine-support).

Untuk informasi tentang menggunakan jenis sumber daya, lihat[Menggunakan tipe sumber daya Cloud Control API](resource-types.md).

## Menentukan kredensi untuk Cloud Control API
<a name="resource-operations-permissions"></a>

Sebagai bagian dari menjalankan operasi pada AWS sumber daya atas nama Anda, Cloud Control API harus melakukan panggilan ke AWS layanan dasar yang benar-benar menyediakan sumber daya tersebut. Untuk melakukannya, Cloud Control API memerlukan kredensi yang diperlukan untuk mengakses layanan tersebut. Ada dua cara bagi Anda untuk mengaktifkan Cloud Control API untuk memperoleh kredensil tersebut:
+ **Kredensi pengguna**

  Secara default, Cloud Control API membuat sesi sementara menggunakan kredensi AWS pengguna Anda, dan menggunakannya untuk melakukan panggilan yang diperlukan ke layanan hilir AWS . Sesi ini berlangsung hingga 24 jam, setelah itu panggilan yang tersisa AWS oleh Cloud Control API akan gagal.
+ **Kredensi peran layanan**

  Anda juga dapat menentukan peran layanan untuk Cloud Control API untuk diasumsikan selama operasi sumber daya, saat Anda membuat permintaan sumber daya. Di antara keuntungan lainnya, menentukan peran layanan memungkinkan Cloud Control API untuk melakukan panggilan ke AWS layanan yang mendasarinya hingga 36 jam.

  Untuk menggunakan peran layanan, tentukan `RoleArn` parameter permintaan operasi sumber daya.

  Karena tindakan Cloud Control API merupakan bagian dari CloudFormation layanan, peran layanan yang Anda tentukan diasumsikan oleh CloudFormation service (`cloudformation.amazonaws.com`). Untuk informasi selengkapnya, lihat [peran CloudFormation layanan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html) di *Panduan AWS CloudFormation Pengguna*.

Izin yang diperlukan untuk setiap penangan sumber daya didefinisikan di `handlers` bagian skema jenis sumber daya tersebut. Untuk informasi selengkapnya tentang melihat skema sumber daya, lihat. [Melihat skema tipe sumber daya](resource-types.md#resource-types-schemas) `handlers`Bagian ini didefinisikan dalam [skema definisi tipe sumber daya](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers).

## Memastikan permintaan operasi sumber daya unik saat menggunakan Cloud Control API
<a name="resource-operations-idempotency"></a>

Sebagai praktik terbaik, kami sangat menyarankan Anda menentukan token idempotensi dengan membuat, menghapus, dan memperbarui permintaan operasi sumber daya. Lebih disukai, tentukan token yang unik untuk setiap permintaan, seperti pengidentifikasi unik universal (UUID). Token semacam itu memastikan permintaan dapat disambiguasi dalam kasus di mana permintaan harus dicoba ulang.

`update-resource`Operasi`create-resource`,`delete-resource`, dan semua mengambil `client-token` parameter, yang dapat diatur ke token idempotensi.

## Pertimbangan saat menggunakan Cloud Control API
<a name="resource-operations-considerations"></a>

Sebaiknya Anda mempertimbangkan perilaku layanan berikut saat melakukan operasi sumber daya menggunakan Cloud Control API:
+ Cloud Control API melakukan setiap operasi sumber daya secara individual dan independen dari operasi sumber daya lainnya.
+ Permintaan operasi sumber daya tunggal ke Cloud Control API mungkin sebenarnya terdiri dari beberapa panggilan ke layanan dasar yang menyediakan sumber daya. Karena itu, permintaan sumber daya mungkin gagal ketika hanya sebagian selesai, sehingga hanya beberapa perubahan yang diminta diterapkan ke sumber daya.
+ Jika operasi sumber daya gagal pada titik mana pun, Cloud Control API tidak mengembalikan sumber daya ke status sebelumnya.
+ Anda hanya dapat melakukan satu operasi sumber daya pada satu waktu pada sumber daya tertentu menggunakan Cloud Control API. Namun, sumber daya masih dapat dioperasikan secara langsung, melalui layanan dasar yang menyediakannya. Kami sangat menyarankan untuk tidak melakukan pendekatan ini karena dapat menyebabkan perilaku yang tidak terduga.

# Membuat sumber daya dengan AWS Cloud Control API
<a name="resource-operations-create"></a>

Gunakan `create-resource` perintah untuk membuat sumber daya.

## Menyusun status sumber daya yang diinginkan
<a name="resource-operations-create-desiredstate"></a>

Agar Cloud Control API dapat membuat sumber daya, Anda harus menentukan *status sumber daya yang diinginkan* yang ingin Anda buat. Status yang diinginkan terdiri dari daftar properti sumber daya yang ingin Anda tentukan, dan nilai yang diinginkan.

Properti sumber daya didefinisikan dalam skema tipe sumber dayanya. Ini termasuk apakah properti diperlukan, nilai yang valid, dan kendala properti lainnya. Untuk informasi selengkapnya tentang melihat definisi properti sumber daya, lihat[Melihat skema tipe sumber daya](resource-types.md#resource-types-schemas).

Status yang diinginkan yang Anda tentukan harus valid terhadap skema tipe sumber daya.

Sebagai contoh, misalkan Anda ingin membuat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)sumber daya dengan nama tertentu dan kebijakan retensi 90 hari. Sebagai langkah pertama, Anda harus menyusun status sumber daya yang diinginkan, diformat sebagai teks JSON.

```
{
  "LogGroupName": "CloudApiLogGroup",
  "RetentionInDays": 90
}
```

Saat Anda memanggil `create-resource` perintah, Anda dapat meneruskan status yang diinginkan secara langsung sebaris sebagai string, atau, untuk definisi status yang diinginkan yang lebih rumit, tentukan lokasi file.

Perintah berikut AWS Command Line Interface (AWS CLI) membuat sumber daya dan menentukan dalam `desired-state` parameter bahwa `RetentionInDays` properti sumber daya diatur ke`90`, selain menentukan nama grup log.

```
$ aws cloudcontrol create-resource --type-name AWS::Logs::LogGroup \
    --desired-state '{"LogGroupName": "CloudApiLogGroup", "RetentionInDays":90}'
```

## Melacak kemajuan permintaan sumber daya buat
<a name="resource-operations-create-progress"></a>

`create-resource`Perintah mengembalikan `ProgressEvent` objek yang dapat Anda gunakan untuk memantau status permintaan pembuatan sumber daya saat ini. Untuk informasi selengkapnya, lihat [Melacak kemajuan permintaan operasi sumber daya](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Memperbarui sumber daya dengan AWS Cloud Control API
<a name="resource-operations-update"></a>

Gunakan `update-resource` perintah untuk membuat pembaruan ke sumber daya yang ada. Ini termasuk sumber daya yang awalnya tidak disediakan menggunakan Cloud Control API.

**penting**  
Kami sangat menyarankan agar tidak menggunakan Cloud Control API untuk memperbarui sumber daya yang berada di bawah pengelolaan aktif oleh layanan lain. Melakukannya dapat menyebabkan hasil yang tidak terduga. Misalnya, jangan gunakan Cloud Control API untuk memperbarui sumber daya yang saat ini merupakan bagian dari CloudFormation tumpukan.

Untuk memperbarui sumber daya yang ada, Anda harus menentukan pengenal sumber daya. Untuk informasi selengkapnya tentang menentukan pengenal sumber daya, lihat[Menggunakan pengenal utama sumber daya](resource-identifier.md#resource-identifier-using).

Memperbarui sumber daya memerlukan perubahan nilai properti sumber daya. Properti sumber daya didefinisikan dalam skema tipe sumber dayanya. Ini termasuk apakah properti diperlukan, nilai yang valid, dan kendala properti lainnya. Untuk informasi selengkapnya tentang melihat definisi properti sumber daya, lihat[Melihat skema tipe sumber daya](resource-types.md#resource-types-schemas).

## Menyusun dokumen patch
<a name="resource-operations-update-patch"></a>

Untuk memperbarui sumber daya, pertama-tama Anda mendefinisikan pembaruan sebagai daftar *operasi tambalan* yang terdapat dalam dokumen patch JSON. Dokumen patch ini harus mematuhi standar yang ditentukan dalam [https://datatracker.ietf.org/doc/html/rfc6902](https://datatracker.ietf.org/doc/html/rfc6902)JSON) Patch.

Setiap operasi patch mendefinisikan pembaruan tunggal ke properti sumber daya tertentu. Properti berikut diperlukan:
+ `op`: Jenis operasi. Cloud Control API mendukung semua operasi yang ditentukan dalam RFC 6902:`add`,,,`remove`, `replace``move`, `copy` dan. `test`
+ `path`: Jalur ke properti sumber daya, relatif terhadap `properties` bagian skema sumber daya.

Tergantung pada operasi, properti tambahan mungkin diperlukan. Lihat RFC 6902 untuk spesifik.

Saat menggunakan `update-resource` perintah, Anda dapat menentukan dokumen patch sebaris sebagai string, atau menentukan lokasi file.

Contoh berikut memperbarui kebijakan retensi [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)sumber daya yang diberi nama `CloudControlApiLogGroup` menjadi 90 hari.

```
$ aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup \
    --identifier CloudControlApiLogGroup \
    --patch-document '[{"op":"replace","path":"RetentionInDays","value":90}]'
```

## Bagaimana Cloud Control API memperbarui sumber daya
<a name="resource-operations-update-how"></a>

Untuk memperbarui sumber daya, Cloud Control API pertama-tama mengambil status sumber daya saat ini dan kemudian memperbarui sumber daya dalam proses dua langkah: 
+ Cloud Control API menggabungkan operasi tambalan yang ditentukan dalam permintaan pembaruan dengan status sumber daya saat ini, untuk menghasilkan status sumber daya yang diinginkan setelah diperbarui. Operasi diterapkan secara berurutan dalam urutan yang muncul dalam dokumen patch. Setiap operasi dalam urutan diterapkan ke status sumber daya saat ini; status sumber daya yang dihasilkan menjadi target operasi berikutnya.

  Pada titik ini, seluruh permintaan pembaruan gagal jika:
  + Operasi tambalan yang disertakan dalam permintaan tidak valid.
  + Operasi patch `op` tipe `test` gagal.

  Dalam kasus seperti itu, seluruh permintaan pembaruan gagal dan Cloud Control API tidak membuat pembaruan ke sumber daya.
+ Cloud Control API kemudian memanggil pengendali pembaruan dari jenis sumber daya untuk memperbarui sumber daya.

  Jika pengendali pembaruan gagal pada titik mana pun, *Cloud Control API tidak mengembalikan sumber daya ke status sebelumnya*.

Misalnya, pertimbangkan dokumen patch berikut yang didefinisikan untuk memperbarui [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)sumber daya. Dokumen tersebut berisi dua operasi tambalan. Operasi pertama adalah tipe `test` dan memeriksa untuk melihat apakah kebijakan retensi sumber daya disetel ke 3653 hari. Jika demikian, sumber daya lulus pengujian dan Cloud Control API melanjutkan ke operasi berikutnya. Operasi ini menggantikan nilai kebijakan retensi saat ini dengan 180 hari. Jika kebijakan retensi sumber daya disetel ke nilai selain 3653 hari, `test` operasi pertama gagal dan Cloud Control API tidak pernah menjalankan `replace` operasi kedua.

```
[
  {
    "op": "test",
    "path": "/RetentionInDays",
    "value":3653
  },
  {
    "op": "replace",
    "path": "/RetentionInDays",
    "value":180
  }
]
```

## Melacak kemajuan permintaan sumber daya pembaruan
<a name="resource-operations-update-progress"></a>

`update-resource`Perintah mengembalikan `ProgressEvent` objek yang dapat Anda gunakan untuk melacak status saat ini dari permintaan operasi sumber daya Anda. Untuk informasi selengkapnya, lihat [Melacak kemajuan permintaan operasi sumber daya](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Menghapus sumber daya dengan AWS Cloud Control API
<a name="resource-operations-delete"></a>

Gunakan `delete-resource` perintah untuk menghapus sumber daya yang ada. Anda dapat menghapus sumber daya baik sumber daya awalnya disediakan menggunakan Cloud Control API atau tidak.

**penting**  
Kami sangat menyarankan agar tidak menggunakan Cloud Control API untuk menghapus sumber daya yang berada di bawah pengelolaan aktif oleh layanan lain. Melakukannya dapat menyebabkan hasil yang tidak terduga. Misalnya, jangan gunakan Cloud Control API untuk menghapus sumber daya yang saat ini merupakan bagian dari CloudFormation tumpukan.

Untuk memperbarui sumber daya yang ada, Anda harus menentukan pengenal sumber daya. Untuk informasi selengkapnya tentang menemukan pengenal sumber daya, lihat[Menggunakan pengenal utama sumber daya](resource-identifier.md#resource-identifier-using).

Contoh berikut menghapus sumber [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)daya dengan nama. `CloudControlApiLogGroup`

```
$ aws cloudcontrol delete-resource \
    --type-name AWS::Logs::LogGroup --identifier CloudControlApiLogGroup
```

## Melacak kemajuan permintaan sumber daya hapus
<a name="resource-operations-delete-progress"></a>

`delete-resource`Perintah mengembalikan `ProgressEvent` objek yang dapat Anda gunakan untuk melacak status saat ini dari permintaan operasi sumber daya Anda. Untuk informasi selengkapnya, lihat [Melacak kemajuan permintaan operasi sumber daya](resource-operations-manage-requests.md#resource-operations-manage-requests-track).

# Menemukan sumber daya dengan AWS Cloud Control API
<a name="resource-operations-list"></a>

Gunakan `list-resources` perintah untuk menemukan sumber daya yang saat ini disediakan di dan. Akun AWS Wilayah AWS Ini mencakup semua sumber daya dari jenis sumber daya yang ditentukan, terlepas dari apakah sumber daya tersebut disediakan melalui Cloud Control API, langsung melalui layanan yang mendasarinya, atau mekanisme lainnya (seperti menjadi bagian dari AWS CloudFormation tumpukan).

Informasi yang dikembalikan untuk setiap sumber daya meliputi:
+ Pengidentifikasi utama sumber daya.
+ Secara opsional, ini mungkin termasuk *bagian atau semua* properti sumber daya, merinci status sumber daya saat ini. Untuk informasi selengkapnya, lihat [Melihat skema tipe sumber daya](resource-types.md#resource-types-schemas).

Contoh berikut mengembalikan daftar sumber `AWS::Logs::LogGroup` daya.

```
$ aws cloudcontrol list-resources --type-name AWS::Logs::LogGroup
```

Cloud Control API mengembalikan daftar sumber daya di akun Anda dari jenis sumber daya yang ditentukan. Misalnya, `list-resources` mengembalikan properti pengenal dan sumber daya utama dari semua sumber `AWS::Logs::LogGroup` daya di akun Anda, terlepas dari apakah sumber daya tersebut disediakan oleh Cloud Control API. Informasi yang dikembalikan menyerupai yang berikut ini, tergantung pada sumber daya di akun Anda.

```
{
  "TypeName": "AWS::Logs::LogGroup",
  "ResourceDescriptions":
  [
    {
      "Identifier": "CloudControlExample", 
      "Properties": '{"RetentionInDays":180, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}'
    },
    {
      "Identifier": "AnotherLogGroupResourceExample", 
      "Properties": '{"RetentionInDays":90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:AnotherLogGroupResourceExample:*"}'
    }
  ]
}
```

Contoh berikut meminta daftar sumber `AWS::Kinesis::Stream` daya.

```
$ aws cloudcontrol list-resources --type-name AWS::Kinesis::Stream
```

Untuk aliran Kinesis, Cloud Control API menampilkan pengenal utama setiap aliran, bersama dengan *subset* properti sumber daya. Dalam hal ini, hanya satu properti,`Name`. Anda kemudian dapat menggunakan pengenal utama aliran `get-resource` untuk meminta status penuh sumber daya saat ini.

```
{
    "TypeName": "AWS::Kinesis::Stream",
    "ResourceDescriptions": [
        {
            "Identifier": "MyKinesisStream",
            "Properties": '{"Name": "MyKinesisStream"}'
        },
        {
            "Identifier": "AnotherStream",
            "Properties": '{"Name": "AnotherStream"}'
        }
    ]
}
```

## Sumber daya yang membutuhkan informasi tambahan
<a name="resource-operations-list-containers"></a>

Sumber daya tertentu mengharuskan Anda memberikan informasi tambahan tentang sumber daya yang ingin Anda daftarkan sebagai bagian dari permintaan Anda. Dalam kasus ini, Anda harus menggunakan `ResourceModel` parameter untuk menentukan properti ini.

Tabel di bawah ini mencantumkan sumber daya ini, dan properti yang akan Anda tentukan dalam `ResourceModel` parameter selama permintaan daftar.


| Sumber daya | Properti yang dibutuhkan | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)  |  `RestApiId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)  |  `RestApiId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)  |  `TypeArn` atau `TypeName`  | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)   | `DomainName` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)   | `DomainName` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)  |  `TransitGatewayMulticastDomainId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)  |  `TransitGatewayMulticastDomainId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html) | `Cluster`, `Service`, dan `ID` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)  |  `ClusterName`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)  |  `ClusterName`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)  |  `LoadBalancerArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)  |  `ListenerArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)  |  `SchemaVersionId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)  |  `ProjectId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)  |  `PortalId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)  |  `IndexId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)  |  `IndexId`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)  |  `FlowArn`  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)  |  `FlowArn`  | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)   | `PackagingGroupId` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)   | `PackagingGroupId` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/cloudcontrolapi/latest/userguide/resource-operations-list.html)  | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)  | `AwsAccountId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)  | `DBProxyName` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)   | `Bucket` | 
|   [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)   | `OutpostId` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)  | `InstanceArn`, `PermissionSetArn`, `PrincipalId`, `PrincipalType`, `TargetId`, dan `TargetType` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)  | `InstanceArn` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)  | `InstanceArn` dan `PermissionSetArn` | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)  | `Scope` | 

# Membaca sumber daya dengan AWS Cloud Control API
<a name="resource-operations-read"></a>

Menggunakan pengenal utama sumber daya, Anda dapat memanggil `get-resource` perintah untuk mengambil informasi rinci tentang sumber daya. Untuk informasi tentang mengambil pengenal utama sumber daya, lihat. [Mengidentifikasi sumber daya dengan AWS Cloud Control API](resource-identifier.md)

Informasi yang dikembalikan oleh `get-resource` menyertakan skema sumber daya, yang merinci status sumber daya saat ini, termasuk nilai properti, peristiwa yang didukung, dan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Melihat skema tipe sumber daya](resource-types.md#resource-types-schemas).

Contoh berikut mengembalikan keadaan saat ini dari `AWS::Logs::LogGroup` sumber daya bernama`LogGroupResourceExample`. Untuk `AWS::Logs::LogGroup` sumber daya, nama grup log adalah pengenal utamanya.

```
$ aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier LogGroupResourceExample
```

# Mengelola permintaan operasi sumber daya dengan AWS Cloud Control API
<a name="resource-operations-manage-requests"></a>

Karena operasi sumber daya bersifat asinkron, permintaan sumber daya seperti `create-resource` dan `update-resource` mengembalikan `ProgressEvent` objek yang berisi informasi tentang status saat ini dari sumber daya Anda membuat atau memperbarui permintaan.

Misalnya, permintaan pembuatan sumber daya mungkin awalnya mengembalikan `ProgressEvent` objek berikut.

```
{
    "ProgressEvent": {
        "EventTime": "2021-08-09T18:17:15.219Z",
        "TypeName": "AWS::Logs::LogGroup",
        "OperationStatus": "IN_PROGRESS",
        "Operation": "CREATE",
        "Identifier": "LogGroupResourceExample",
        "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
    }
}
```

Informasi yang dikembalikan dalam `ProgressEvent` objek termasuk token permintaan yang kemudian dapat Anda gunakan untuk melacak atau membatalkan permintaan operasi sumber daya.

**catatan**  
Permintaan operasi sumber daya kedaluwarsa setelah tujuh hari.

## Daftar permintaan operasi sumber daya aktif
<a name="resource-operations-manage-requests-list"></a>

Gunakan `list-resource-requests` perintah untuk mengembalikan daftar permintaan operasi sumber daya aktif untuk Akun AWS dan Wilayah AWS. Anda dapat memfilter daftar berdasarkan jenis permintaan dan status.

Permintaan operasi sumber daya kedaluwarsa setelah tujuh hari.

Contoh berikut mengembalikan permintaan operasi sumber daya aktif, tetapi menyaring permintaan pembuatan sumber daya apa pun yang masih berlangsung.

```
$ aws cloudcontrol list-resource-requests --resource-request-status-filter \
    Operations=CREATE,OperationStatuses=IN_PROGRESS
```

Informasi yang dikembalikan untuk setiap operasi sumber daya mencakup token permintaan yang kemudian dapat Anda gunakan untuk melacak atau membatalkan permintaan operasi sumber daya.

```
{
    "ResourceRequestStatusSummaries": [
        {
            "EventTime": "2021-08-09T18:17:16.591Z",
            "TypeName": "AWS::Logs::LogGroup",
            "OperationStatus": "SUCCESS",
            "Operation": "CREATE",
            "Identifier": "LogGroupResourceExample",
            "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
        }
    ]
}
```

## Melacak kemajuan permintaan operasi sumber daya
<a name="resource-operations-manage-requests-track"></a>

Gunakan `get-resource-request-status` perintah untuk melacak kemajuan permintaan operasi sumber daya Anda. Perintah ini mengambil token permintaan yang disertakan dalam `ProgressEvent` objek yang dihasilkan selama permintaan operasi sumber daya awal. (Anda juga dapat mengambil token permintaan untuk permintaan operasi sumber daya menggunakan `list-resource-requests` perintah.) `get-resource-request-status`Perintah mengembalikan `ProgressEvent` objek diperbarui yang berisi informasi tentang keadaan permintaan saat ini.

Lihat contoh berikut ini.

```
$ aws cloudcontrol get-resource-request-status \
    --request-token 5f40c577-3534-4b20-9599-0b0123456789
```



## Membatalkan permintaan operasi sumber daya
<a name="resource-operations-manage-requests-cancel"></a>

Gunakan `cancel-resource-request` perintah untuk membatalkan permintaan operasi sumber daya yang sedang berlangsung. Karena Anda hanya dapat melakukan satu operasi pada sumber daya tertentu pada satu waktu, mungkin ada kasus di mana Anda perlu membatalkan operasi sumber daya saat ini untuk membuat sumber daya tersedia sehingga operasi lain dapat dilakukan di atasnya.

Membatalkan permintaan sumber daya tidak menjamin bahwa Cloud Control API dapat segera membatalkan semua operasi sumber daya. Sebaliknya, Cloud Control API akan berhenti melakukan panggilan lebih lanjut ke event handler resource. Permintaan operasi sumber daya tunggal ke Cloud Control API mungkin sebenarnya terdiri dari beberapa panggilan ke layanan dasar yang menyediakan sumber daya. Karena itu, membatalkan permintaan operasi sumber daya mungkin membuat permintaan selesai sebagian, sehingga hanya beberapa perubahan yang diminta diterapkan ke sumber daya. Cloud Control API tidak memutar kembali sumber daya ke status sebelumnya.

Hanya permintaan operasi sumber daya dengan status `PENDING` atau `IN_PROGRESS` dapat dibatalkan.

**catatan**  
Meskipun `CancelResourceRequest` pemanggilan membatalkan operasi yang dilakukan oleh Cloud Control API, panggilan tidak menghentikan operasi asinkron apa pun yang mungkin sudah dimulai pada layanan hilir.

# Mengidentifikasi sumber daya dengan AWS Cloud Control API
<a name="resource-identifier"></a>

Setiap jenis sumber daya memiliki properti yang didefinisikan sebagai *pengenal utamanya*. Nilai properti ini harus unik untuk setiap sumber daya dari jenis yang diberikan Akun AWS dan Wilayah AWS. Misalnya, banyak jenis sumber daya menyertakan `Name` properti yang harus unik untuk setiap sumber daya dari jenis itu. Dalam beberapa kasus, pengidentifikasi utama didefinisikan sebagai kombinasi dari beberapa properti yang bersama-sama membentuk pengidentifikasi unik. Dengan menggunakan pengenal utama ini, dikombinasikan dengan jenis sumber daya, Anda dapat menentukan dengan tepat sumber daya mana yang ingin Anda lakukan operasi sumber daya seperti `update-resource` atau`delete-resource`.

Selain itu, beberapa jenis sumber daya mendefinisikan *pengidentifikasi sekunder* yang juga dapat digunakan untuk mengidentifikasi sumber daya secara unik dari jenis itu.

Untuk menentukan properti sumber daya (atau kombinasi properti) yang merupakan pengidentifikasi utama untuk tipe sumber daya, lihat `primaryIdentifier` atribut skema tipe sumber daya. Skema ini mencakup pengidentifikasi sekunder yang didefinisikan, juga. Untuk informasi selengkapnya, lihat [Melihat skema tipe sumber daya](resource-types.md#resource-types-schemas).

## Mendapatkan pengenal utama sumber daya
<a name="resource-identifier-getting"></a>

Anda dapat menemukan *nilai* pengenal untuk sumber daya tertentu dengan menggunakan perintah Cloud Control API. Masing-masing perintah berikut mengembalikan `ProgressEvent` objek yang berisi pengenal utama dari sumber daya yang ditentukan:
+ 

  ```
  cancel-resource-request
  ```
+ 

  ```
  create-resource
  ```
+ 

  ```
  get-resource-request-status
  ```
+ 

  ```
  list-resource-requests
  ```

## Menggunakan pengenal utama sumber daya
<a name="resource-identifier-using"></a>

Saat menggunakan perintah Cloud Control API, Anda dapat menentukan pengenal utama atau pengenal sekunder apa pun yang ditentukan untuk jenis sumber daya dalam skema sumber dayanya. Anda hanya dapat menentukan satu pengenal. Pengidentifikasi primer dapat ditentukan sebagai string atau JSON; pengidentifikasi sekunder harus ditentukan sebagai JSON.

Untuk pengidentifikasi primer majemuk (yaitu, yang terdiri dari beberapa properti sumber daya yang dirangkai bersama), untuk menentukan pengidentifikasi utama sebagai string, daftarkan nilai properti *dalam urutan yang ditentukan dalam definisi pengidentifikasi utama, dipisahkan* oleh. `|`

Misalnya, pengidentifikasi utama untuk sumber daya didefinisikan sebagai:

`"primaryIdentifier": [ "/properties/DatabaseName", "/properties/TableName" ]`

Jadi, untuk menentukan pengenal utama sumber daya sebagai string, Anda menggunakan format berikut.

`DatabaseName|TableName`

Misalnya, diberikan database dengan nama database `MyDatabase` dan nama tabel`MyTable`, Anda menentukan`MyDatabase|MyTable`.

Untuk pengidentifikasi senyawa yang ditentukan sebagai JSON, urutan properti tidak diperlukan, seperti yang ditunjukkan pada contoh berikut.

```
{
  "TableName": "MyTable",
  "DatabaseName": "MyDatabase"
}
```

Untuk informasi selengkapnya tentang pengenal sumber daya, lihat [primary identifier](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) di *CloudFormation Command Line Interface User Move* for Extension Development.