

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Cloud Control API の開始方法
<a name="getting-started"></a>

この短いチュートリアルを使用して、 でリソースオペレーションの実行を開始します AWS クラウドコントロール API。Cloud Control API を使用してリソースを作成、読み込み、更新、削除、および一覧表示するための基本事項について説明します。

**Topics**
+ [ステップ 1: リソースを作成する](#getting-started-step1)
+ [ステップ 2: リソースを読み込む (説明する)](#getting-started-step2)
+ [ステップ 3: リソースを更新する](#getting-started-step3)
+ [ステップ 4: 特定のタイプの全リソースを一覧表示する](#getting-started-list)
+ [ステップ 5: リソースを削除する](#getting-started-cleanup)
+ [次の手順](#getting-started-next-steps)

## ステップ 1: リソースを作成する
<a name="getting-started-step1"></a>

このチュートリアルでは、タイプ `[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)` のリソースを作成します。このロググループに **CloudControlExample** という名前を付け、保持ポリシーを 90 日間に設定します。

1.  AWS Command Line Interface (AWS CLI) で、次のパラメータを指定して `create-resource` コマンドを実行します。
   + `AWS::Logs::LogGroup` として `type-name` を指定します。
   + 必要なプロパティを設定する JSON を含む文字列として `desired-state` を指定します。

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

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

   Cloud Control API は、リソースオペレーションリクエストのステータスに関する情報を含む `ProgressEvent` オブジェクトを返します。

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:07:23.347Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "IN_PROGRESS",
           "Operation": "CREATE",
           "Identifier": "CloudControlExample",
           "RequestToken": "758f4a4e-fef4-491a-9b07-123456789012"
       }
   }
   ```

1. リソースオペレーションリクエストのステータスを追跡するには、以下のパラメータを使用して `get-resource-request-status` コマンドを実行します。
   + `ProgressEvent` オブジェクトに返される `RequestToken` プロパティ値として `request-token` パラメータを指定します。

   ```
   $ aws cloudcontrol get-resource-request-status --request-token 758f4a4e-fef4-491a-9b07-123456789012
   ```

   Cloud Control API は、リソースオペレーションリクエストのステータスに関する情報を含む `ProgressEvent` オブジェクトを返します。Cloud Control API はリソースの作成に成功すると、`OperationStatus` 値を `SUCCESS` に設定します。

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:29:23.326Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "SUCCESS",
           "Operation": "CREATE",
           "Identifier": "CloudControlExample",
           "RequestToken": "758f4a4e-fef4-491a-9b07-123456789012"
       }
   }
   ```

## ステップ 2: リソースを読み込む (説明する)
<a name="getting-started-step2"></a>

次に、先ほど作成したリソースの現在の状態を読み取ります。
+ で AWS CLI、次のパラメータを指定して `get-resource` コマンドを実行します。
  + リソースを作成したときに `ProgressEvent` オブジェクトに返された `identifier` プロパティ値として `identifier` を指定します。この場合は、`CloudControlExample` (ロググループに指定した名前) です。

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

  Cloud Control API は、プロパティおよび設定のモデルなど、リソースの現在の状態に関する詳細情報を返します。この場合、これにはリソースの作成時に Amazon CloudWatch Events によって生成されたプロパティである `Arn` が含まれます。

  ```
  {
      "TypeName": "AWS::Logs::LogGroup", 
      "ResourceDescription": {
          "Identifier": "CloudControlExample", 
          "ResourceModel": '{"RetentionInDays": 90, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}'
      }
  }
  ```

## ステップ 3: リソースを更新する
<a name="getting-started-step3"></a>

次に、ロググループを更新して、保持ポリシーを 180 日に倍増します。

1. で AWS CLI、次のパラメータを指定して `update-resource` コマンドを実行します。
   + `AWS::Logs::LogGroup` として `type-name` を指定します。
   + リソースを作成したときに `ProgressEvent` オブジェクトに返された `identifier` プロパティ値として `identifier` を指定します。この場合は、`CloudControlExample` (ロググループに指定した名前) です。
   + 保持ポリシーを 180 日に更新する置き換えオペレーションを表す JSON を含む文字列として `patch-document` パラメータを指定します。

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

     パッチドキュメントの作成の詳細については、「」を参照してください[パッチドキュメントの作成](resource-operations-update.md#resource-operations-update-patch)。

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

   Cloud Control API は、リソースオペレーションリクエストのステータスに関する情報を含む `ProgressEvent` オブジェクトを返します。

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:29:22.547Z", 
           "ResourceModel": '{"RetentionInDays":180,"LogGroupName":"CloudControlExample"}',
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "IN_PROGRESS",
           "Operation": "UPDATE",
           "Identifier": "CloudControlExample", 
           "RequestToken": "2026055d-f21c-4b50-bd40-123456789012"
       }
   }
   ```

1. リソースオペレーションリクエストのステータスを追跡するには、以下のパラメータを使用して `get-resource-request-status` コマンドを実行します。
   + `ProgressEvent` オブジェクトに返される `RequestToken` プロパティ値として `request-token` パラメータを指定します。

   ```
   $ aws cloudcontrol get-resource-request-status --request-token 2026055d-f21c-4b50-bd40-123456789012
   ```

   Cloud Control API は、リソースオペレーションリクエストのステータスに関する情報を含む `ProgressEvent` オブジェクトを返します。Cloud Control API はリソースを正常に更新すると、`OperationStatus` 値を `SUCCESS` に設定します。

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:29:23.326Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "SUCCESS",
           "Operation": "UPDATE",
           "Identifier": "CloudControlExample",
           "RequestToken": "2026055d-f21c-4b50-bd40-123456789012"
       }
   }
   ```

## ステップ 4: 特定のタイプの全リソースを一覧表示する
<a name="getting-started-list"></a>

次に、Cloud Control API を使用して AWS アカウント内のリソースを検出します。
+ で AWS CLI、次のパラメータを指定して `list-resources` コマンドを実行します。
  + `AWS::Logs::LogGroup` として `type-name` を指定します。

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

  Cloud Control API は、アカウント内の `AWS::Logs::LogGroup` リソースのリストをプライマリ識別子で返します。これには、このチュートリアルの一部として作成したリソースである `CloudControlExample` のほか、アカウントに既に存在する他のロググループも含まれます。また、`AWS::Logs::LogGroup` リソースの場合、`list-resources` によって返される情報には各リソースのプロパティが含まれます。

  ```
  {
      "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:*"}'
          },
      ]
  }
  ```

## ステップ 5: リソースを削除する
<a name="getting-started-cleanup"></a>

最後に、ロググループを削除してこのチュートリアルからクリーンアップします。

1. で AWS CLI、次のパラメータを指定して `delete-resource` コマンドを実行します。
   + `AWS::Logs::LogGroup` として `type-name` を指定します。
   + リソースを作成したときに `ProgressEvent` オブジェクトに返された `identifier` プロパティ値として `identifier` を指定します。この場合は、**`CloudControlExample`** (ロググループに指定した名前) です。

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

   Cloud Control API は、リソースオペレーションリクエストのステータスに関する情報を含む `ProgressEvent` オブジェクトを返します。

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:50:20.037Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "IN_PROGRESS",
           "Operation": "DELETE",
           "Identifier": "CloudControlExample",
           "RequestToken": "bb0ed9cd-84f9-44c2-b638-123456789012"
       }
   }
   ```

1. リソースオペレーションリクエストのステータスを追跡するには、以下のパラメータを使用して `get-resource-request-status` コマンドを実行します。
   + `ProgressEvent` オブジェクトに返される `RequestToken` プロパティ値として `request-token` パラメータを指定します。

   ```
   $ aws cloudcontrol get-resource-request-status --request-token bb0ed9cd-84f9-44c2-b638-123456789012
   ```

   Cloud Control API は、リソースオペレーションリクエストのステータスに関する情報を含む `ProgressEvent` オブジェクトを返します。Cloud Control API はリソースを正常に削除すると、`OperationStatus` 値を `SUCCESS` に設定します。

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:50:20.831Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "SUCCESS",
           "Operation": "DELETE",
           "Identifier": "CloudControlExample",
           "RequestToken": "bb0ed9cd-84f9-44c2-b638-123456789012"
       }
   }
   ```

## 次の手順
<a name="getting-started-next-steps"></a>

リソースでの Cloud Control API の使用に関する詳細と例については、「」を参照してください[Cloud Control API リソースオペレーション](resource-operations.md)。