

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

# Cloud Control API リソースオペレーション
<a name="resource-operations"></a>

 AWS クラウドコントロール API を使用して、 内のリソースに対して作成、読み取り、更新、削除、および一覧表示 (-L) オペレーションを実行するか、その他のコマンド動詞構築を行います AWS アカウント。

**Topics**
+ [前提条件](#resource-operations-prerequisites)
+ [認証情報の指定](#resource-operations-permissions)
+ [リクエストが一意であることの確認](#resource-operations-idempotency)
+ [考慮事項](#resource-operations-considerations)
+ [リソースを作成](resource-operations-create.md)
+ [リソースの更新](resource-operations-update.md)
+ [リソースの削除](resource-operations-delete.md)
+ [リソースの検出](resource-operations-list.md)
+ [リソースの読み取り](resource-operations-read.md)
+ [リソースリクエストの管理](resource-operations-manage-requests.md)
+ [を使用したリソースの識別 AWS クラウドコントロール API](resource-identifier.md)

## Cloud Control API でリソースを使用するための前提条件
<a name="resource-operations-prerequisites"></a>

Cloud Control API を使用して特定のリソースをプロビジョニングするには、そのリソースタイプが Cloud Control API をサポートしていて、 AWS アカウントで使用できる必要があります。
+ **で使用できるリソース AWS アカウント**

  アカウントで使用できるようにするには、パブリックリソースタイプをアクティブ化し、プライベートリソースタイプを登録する必要があります。サポートされている AWS リソースタイプはパブリックであり、常にアクティブ化されます。詳細については、「[Cloud Control API リソースタイプの使用](resource-types.md)」を参照してください。
+ **Cloud Control API をサポートするリソース**

  Cloud Control API をサポートする AWS リソースタイプのリストについては、「」を参照してください[Cloud Control API をサポートするリソースタイプ](supported-resources.md)。

  サードパーティリソースタイプは、パブリックもプライベートも Cloud Control API をサポートしています。

  特定のリソースタイプが Cloud Control API をサポートしているかどうかを確認する方法の詳細については、「[リソースタイプが Cloud Control API をサポートしているかどうかの判断](resource-types.md#resource-types-determine-support)」を参照してください。

リソースタイプの使用方法の詳細については、「[Cloud Control API リソースタイプの使用](resource-types.md)」を参照してください。

## Cloud Control API の認証情報の指定
<a name="resource-operations-permissions"></a>

ユーザーに代わって AWS リソースに対してオペレーションを実行する一環として、Cloud Control API は、それらのリソースを実際にプロビジョニングする基盤となる AWS サービスを呼び出す必要があります。そのために、Cloud Control API は、それらのサービスにアクセスする際に求められる認証情報を必要とします。Cloud Control API でこれらの認証情報を取得できるようにするには、次の 2 つの方法があります。
+ **ユーザー認証情報**

  デフォルトでは、Cloud Control API は AWS ユーザー認証情報を使用して一時セッションを作成し、これを使用してダウンストリーム AWS サービスに必要な呼び出しを行います。このセッションは最大 24 時間続き、その後、Cloud Control API AWS による残りの呼び出しはすべて失敗します。
+ **サービスロール認証情報**

  リソースリクエストを行う際に、リソースオペレーション中に引き受けるサービスロールを Cloud Control API に対して指定することもできます。その他の利点としては、サービスロールを指定することで、Cloud Control API は基盤となる AWS サービスを最大 36 時間呼び出せるようになるという点が挙げられます。

  サービスロールを使用するには、リソースオペレーションリクエストの `RoleArn` パラメータを指定します。

  Cloud Control API アクションは CloudFormation サービスの一部であるため、指定したサービスロールは CloudFormation サービス () によって引き受けられます`cloudformation.amazonaws.com`。詳細については、「AWS CloudFormation ユーザーガイド」の「[CloudFormation サービスロール](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)」を参照してください。

各リソースハンドラーに必要な権限は、そのリソースタイプのスキーマの `handlers` セクションで定義されます。リソーススキーマの表示の詳細については、「[リソースタイプのスキーマの表示](resource-types.md#resource-types-schemas)」を参照してください。`handlers` セクションは[リソースタイプ定義スキーマ](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-handlers)で定義されます。

## Cloud Control API を使用する際、リソースオペレーションリクエストが一意であることを確認する
<a name="resource-operations-idempotency"></a>

ベストプラクティスとして、作成、削除、および更新リソースオペレーションリクエストでは冪等性トークンを指定することを強くお勧めします。できれば、普遍一意識別子 (UUID) など、リクエストごとに一意のトークンを指定してください。このようなトークンがあれば、リクエストを再試行しなければならない場合でもリクエストのあいまいさを解消できます。

`create-resource`、`delete-resource`、`update-resource` の各オペレーションにはすべて `client-token` パラメータがあり、このパラメータは冪等性トークンに設定できます。

## Cloud Control API を使用するときの考慮事項
<a name="resource-operations-considerations"></a>

Cloud Control API を使用してリソースオペレーションを実行する場合は、以下のサービス動作を考慮することをお勧めします。
+ Cloud Control API は、各リソースオペレーションを個別に、他のリソースオペレーションとは独立して実行します。
+ Cloud Control API への単一のリソースオペレーションリクエストは、実際には、リソースをプロビジョニングする基盤となるサービスへの複数の呼び出しで構成されている場合があります。このため、リソースリクエストは、部分的にしか完了していない場合は失敗となり、リクエストされた変更の一部だけがリソースに適用されてしまうことがあります。
+ リソースオペレーションがいずれかの時点で失敗しても、Cloud Control API はリソースを以前の状態にロールバックしません。
+ Cloud Control API を使用すると、特定のリソースに対して一度に 1 つのリソースオペレーションしか実行できません。ただし、リソースは、そのリソースをプロビジョニングした基盤となるサービスを通じて直接操作することはできます。予測できない動作を引き起こす可能性があるため、この方法は使用しないことを強くお勧めします。

# を使用したリソースの作成 AWS クラウドコントロール API
<a name="resource-operations-create"></a>

`create-resource` コマンドを使用してリソースを作成します。

## リソースの目的の状態の作成
<a name="resource-operations-create-desiredstate"></a>

Cloud Control API でリソースを作成するには、作成するリソースの目的の状態を指定する必要があります。目的の状態は、指定するリソースプロパティとその目的の値のリストで構成されます。

リソースのプロパティはリソースタイプスキーマで定義されます。これには、そのプロパティが必須かどうか、有効な値、プロパティのその他の制約が含まれます。リソースプロパティ定義の表示の詳細については、「[リソースタイプのスキーマの表示](resource-types.md#resource-types-schemas)」を参照してください。

指定する目的の状態は、リソースタイプスキーマに対して有効である必要があります。

たとえば、特定の名前と 90 日間の保持ポリシーを持つ [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)リソースを作成するとします。最初のステップとして、リソースの目的の状態を JSON テキスト形式で作成する必要があります。

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

`create-resource` コマンドを呼び出すときに、目的の状態を文字列としてインラインで直接渡すことができます。また、目的の状態の定義がより複雑な場合は、ファイルの場所を指定できます。

次の AWS Command Line Interface (AWS CLI) コマンドは、 リソースを作成し、 `desired-state`パラメータで、ロググループ名を指定することに加えて`90`、リソースの `RetentionInDays`プロパティを に設定することを指定します。

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

## リソース作成リクエストの進行状況の追跡
<a name="resource-operations-create-progress"></a>

`create-resource` コマンドは、リソース作成リクエストの現在のステータスを監視するために使用できる `ProgressEvent` オブジェクトを返します。詳細については、「[リソースオペレーションリクエストの進行状況の追跡](resource-operations-manage-requests.md#resource-operations-manage-requests-track)」を参照してください。

# を使用したリソースの更新 AWS クラウドコントロール API
<a name="resource-operations-update"></a>

`update-resource` コマンドを使用して、既存のリソースを更新します。これには、Cloud Control API を使用してもともとプロビジョニングされていなかったリソースも含まれます。

**重要**  
Cloud Control API を使用して、他のサービスによってアクティブに管理されているリソースを更新しないことを強くお勧めします。これを行うと、予期しない結果につながる可能性があります。例えば、Cloud Control API を使用して、現在 CloudFormation スタックの一部であるリソースを更新しないでください。

既存のリソースを更新するには、リソースの識別子を指定する必要があります。リソースの識別子の決定方法の詳細については、「[リソースのプライマリ識別子の使用](resource-identifier.md#resource-identifier-using)」を参照してください。

リソースを更新すると、リソースプロパティの値が変更されます。リソースのプロパティはリソースタイプスキーマで定義されます。これには、そのプロパティが必須かどうか、有効な値、プロパティのその他の制約が含まれます。リソースプロパティ定義の表示の詳細については、「[リソースタイプのスキーマの表示](resource-types.md#resource-types-schemas)」を参照してください。

## パッチドキュメントの作成
<a name="resource-operations-update-patch"></a>

リソースを更新するには、まず JSON パッチドキュメントに含まれるパッチオペレーションのリストとして更新を定義します。このパッチドキュメントは、「[RFC 6902 - JavaScript Object Notation (JSON) Patch](https://datatracker.ietf.org/doc/html/rfc6902)」で定義されている標準に準拠している必要があります。

各パッチオペレーションでは、特定のリソースプロパティの 1 回の更新が定義されます。以下は必須プロパティです。
+ `op`: オペレーションのタイプ。Cloud Control API は、RFC 6902 で定義されているすべてのオペレーション (`add`、`remove`、`replace`、`move`、`copy`、`test`) をサポートします。
+ `path`: リソーススキーマの `properties` セクションを基準とした、リソースプロパティへのパス。

オペレーションによっては、追加のプロパティが必要になる場合があります。詳細については、「RFC 6902」を参照してください。

`update-resource` コマンドを使用するときは、パッチドキュメントを文字列としてインラインで指定することも、ファイルの場所を指定することもできます。

次の例では、 という名前の[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)リソースの保持ポリシー`CloudControlApiLogGroup`を 90 日に更新します。

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

## Cloud Control API がリソースを更新する方法
<a name="resource-operations-update-how"></a>

Cloud Control API は、リソースを更新するために、まずリソースの現在の状態を取得し、次に 2 ステッププロセスでリソースを更新します。
+ Cloud Control API は、更新リクエストで指定されたパッチオペレーションとリソースの現在の状態を組み合わせて、更新後のリソースの目的の状態を生成します。オペレーションは、パッチドキュメントに表示されている順序でシーケンシャルに適用されます。シーケンス内の各オペレーションは、リソースの現在の状態に適用され、結果のリソースの状態が次のオペレーションの対象になります。

  この時点で、次の場合、更新リクエスト全体が失敗します。
  + リクエストに含まれているパッチオペレーションが無効です。
  + `op` タイプ `test` のパッチオペレーションが失敗しています。

  このような場合は更新リクエスト全体が失敗し、Cloud Control API はリソースを更新しません。
+ その後、Cloud Control API はリソースタイプの更新ハンドラーを呼び出してリソースを更新します。

  更新ハンドラーがいずれかの時点で失敗しても、Cloud Control API はリソースを以前の状態にロールバックしません。

たとえば、 [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)リソースを更新するために定義されている次のパッチドキュメントを考えてみましょう。このドキュメントには 2 つのパッチオペレーションが含まれています。最初のオペレーションはタイプ `test` で、リソースの保持ポリシーが 3653 日に設定されているかどうかを確認します。そのようになっていたら、リソースはテストに合格となり、Cloud Control API は次のオペレーションに進みます。このオペレーションにより、現在の保持ポリシーの値が 180 日に置き換えられます。リソースの保持ポリシーが 3653 日以外の値に設定されている場合、最初の `test` オペレーションは失敗となり、Cloud Control API は 2 番目の `replace` オペレーションを実行しません。

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

## リソース更新リクエストの進行状況の追跡
<a name="resource-operations-update-progress"></a>

`update-resource` コマンドは、リソースオペレーションリクエストの現在のステータスを追跡するために使用できる `ProgressEvent` オブジェクトを返します。詳細については、「[リソースオペレーションリクエストの進行状況の追跡](resource-operations-manage-requests.md#resource-operations-manage-requests-track)」を参照してください。

# を使用したリソースの削除 AWS クラウドコントロール API
<a name="resource-operations-delete"></a>

`delete-resource` コマンドを使用して、既存のリソースを削除します。Cloud Control API を使用してもともとリソースがプロビジョニングされていたかどうかに関係なく、リソースを削除することができます。

**重要**  
Cloud Control API を使用して、他のサービスによってアクティブに管理されているリソースを削除しないことを強くお勧めします。これを行うと、予期しない結果につながる可能性があります。例えば、現在 CloudFormation スタックの一部であるリソースを削除するために Cloud Control API を使用しないでください。

既存のリソースを更新するには、リソースの識別子を指定する必要があります。リソースの識別子の検索方法の詳細については、「[リソースのプライマリ識別子の使用](resource-identifier.md#resource-identifier-using)」を参照してください。

次の例では、 という名前の [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)リソースを削除します`CloudControlApiLogGroup`。

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

## リソース削除リクエストの進行状況の追跡
<a name="resource-operations-delete-progress"></a>

`delete-resource` コマンドは、リソースオペレーションリクエストの現在のステータスを追跡するために使用できる `ProgressEvent` オブジェクトを返します。詳細については、「[リソースオペレーションリクエストの進行状況の追跡](resource-operations-manage-requests.md#resource-operations-manage-requests-track)」を参照してください。

# を使用した リソースの検出 AWS クラウドコントロール API
<a name="resource-operations-list"></a>

`list-resources` コマンドを使用して、 AWS アカウント および AWS リージョンで現在プロビジョニングされているリソースを検出します。これには、Cloud Control API を介してプロビジョニングされたか、基盤となるサービスを介して直接プロビジョニングされたか、またはその他のメカニズム ( AWS CloudFormation スタックの一部であるなど) を介してプロビジョニングされたかにかかわらず、指定されたリソースタイプのすべてのリソースが含まれます。

各リソースについて返される情報には以下が含まれます。
+ そのリソースのプライマリ識別子。
+ オプションで、リソースの現在の状態を詳述するリソースのプロパティ (一部またはすべて) を含めることができます。詳細については、「[リソースタイプのスキーマの表示](resource-types.md#resource-types-schemas)」を参照してください。

次の例では、`AWS::Logs::LogGroup` リソースのリストが返されます。

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

Cloud Control API は、アカウント内の、指定されたリソースタイプのリソースのリストを返します。この例では、`list-resources` は、Cloud Control API によってプロビジョニングされたかどうかにかかわらず、アカウント内のすべての `AWS::Logs::LogGroup` リソースのプライマリ識別子とリソースプロパティを返します。アカウント内のリソースに応じて、返される情報は次のようになります。

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

次の例では、`AWS::Kinesis::Stream` リソースのリストをリクエストします。

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

Kinesis ストリームの場合、Cloud Control API は、各ストリームのプライマリ識別子とリソースプロパティのサブセットを返します。この場合、プロパティは `Name` の 1 つだけです。次に、ストリームのプライマリ識別子を `get-resource` と共に使用して、リソースの現在の状態をすべてリクエストすることもできます。

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

## 追加情報を必要とするリソース
<a name="resource-operations-list-containers"></a>

特定のリソースでは、リクエストの一部として一覧表示するリソースに関する追加情報を提供する必要があります。このような場合は、`ResourceModel` パラメータを使用して、そのプロパティを指定する必要があります。

以下の表は、そのようなリソースと、リストリクエスト時に `ResourceModel` パラメータに指定するプロパティの一覧です。


| リソース | 必要なプロパティ | 
| --- | --- | 
|  [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`、または `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`、および `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/ja_jp/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/ja_jp/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/ja_jp/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`、および `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` および `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` | 

# を使用したリソースの読み取り AWS クラウドコントロール API
<a name="resource-operations-read"></a>

リソースのプライマリ識別子を使用して `get-resource` コマンドを呼び出し、リソースに関する詳細情報を取得できます。リソースのプライマリ識別子の取得方法の詳細については、「[を使用したリソースの識別 AWS クラウドコントロール API](resource-identifier.md)」を参照してください。

`get-resource` によって返される情報には、プロパティ値、サポートされているイベント、必要な権限など、リソースの現在の状態を詳述するリソースのスキーマが含まれています。詳細については、「[リソースタイプのスキーマの表示](resource-types.md#resource-types-schemas)」を参照してください。

次の例では、`LogGroupResourceExample` という名前の `AWS::Logs::LogGroup` リソースの現在の状態が返されます。`AWS::Logs::LogGroup` リソースの場合、プライマリ識別子はロググループの名前です。

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

# を使用したリソースオペレーションリクエストの管理 AWS クラウドコントロール API
<a name="resource-operations-manage-requests"></a>

リソースオペレーションは非同期であるため、`create-resource` や `update-resource` などのリソースリクエストは、リソース作成または更新リクエストの現在の状態に関する情報が含まれる `ProgressEvent` オブジェクトを返します。

例えば、リソース作成リクエストは、最初に次の `ProgressEvent` オブジェクトを返す場合があります。

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

`ProgressEvent` オブジェクトで返される情報には、リソースオペレーションリクエストを追跡またはキャンセルするために使用できるリクエストトークンが含まれます。

**注記**  
リソースオペレーションリクエストは 7 日後に有効期限が切れます。

## アクティブなリソースオペレーションリクエストのリスト
<a name="resource-operations-manage-requests-list"></a>

`list-resource-requests` コマンドを使用して、 AWS アカウント および のアクティブなリソースオペレーションリクエストのリストを返します AWS リージョン。リクエストタイプとステータスでリストをフィルタリングできます。

リソースオペレーションリクエストは 7 日後に有効期限が切れます。

次の例では、アクティブなリソースオペレーションリクエストが返されますが、進行中のリソース作成リクエストは除外されます。

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

各リソースオペレーションで返される情報には、リソースオペレーションリクエストを追跡またはキャンセルするために使用できるリクエストトークンが含まれます。

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

## リソースオペレーションリクエストの進行状況の追跡
<a name="resource-operations-manage-requests-track"></a>

`get-resource-request-status` コマンドを使用して、リソースオペレーションリクエストの進行状況を追跡します。このコマンドは、最初のリソースオペレーションリクエスト時に生成された `ProgressEvent` オブジェクトに含まれるリクエストトークンを取得します。(`list-resource-requests` コマンドを使用して、リソースオペレーションリクエストのリクエストトークンを取得することもできます。) `get-resource-request-status` コマンドは、リクエストの現在の状態に関する情報を含む更新された `ProgressEvent` オブジェクトを返します。

次の例を参照してください。

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



## リソースオペレーションリクエストのキャンセル
<a name="resource-operations-manage-requests-cancel"></a>

`cancel-resource-request` コマンドを使用して、現在進行中のリソースオペレーションリクエストをキャンセルします。特定のリソースでは一度に 1 つのオペレーションしか実行できないため、別のオペレーションを実行できるように、現在のリソースオペレーションをキャンセルしてリソースを利用できるようにする必要がある場合があります。

リソースリクエストをキャンセルしても、Cloud Control API がすべてのリソースオペレーションを直ちにキャンセルできるとは限りません。より正確に言えば、Cloud Control API はリソースイベントハンドラーへのさらなる呼び出しを停止します。Cloud Control API への単一のリソースオペレーションリクエストは、実際には、リソースをプロビジョニングする基盤となるサービスへの複数の呼び出しで構成されている場合があります。このため、リソースオペレーションリクエストをキャンセルすると、リクエストが部分的に完了したままになり、リクエストされた変更の一部だけがリソースに適用されてしまうことがあります。Cloud Control API は、リソースを以前の状態にロールバックしません。

キャンセルできるのは、ステータスが `PENDING` または `IN_PROGRESS` のリソースオペレーションリクエストのみです。

**注記**  
`CancelResourceRequest` の呼び出しによって、Cloud Control API が実行したオペレーションはキャンセルされますが、ダウンストリームサービスで既に開始されている非同期オペレーションは終了しません。

# を使用したリソースの識別 AWS クラウドコントロール API
<a name="resource-identifier"></a>

すべてのリソースタイプには、プライマリ識別子として定義されるプロパティがあります。このプロパティの値は、特定の AWS アカウント および 内のそのタイプのリソースごとに一意である必要があります AWS リージョン。例えば、多くのリソースタイプには、そのタイプのリソースごとに一意でなければならない `Name` プロパティがあります。場合によっては、プライマリ識別子は、複数のプロパティの組み合わせ (これらが組み合わさって一意の識別子になる) として定義されます。このプライマリ識別子をリソースタイプと組み合わせて使用することで、`update-resource` や `delete-resource` などのリソースオペレーションを実行するリソースを正確に指定できます。

また、リソースタイプの中には、そのタイプのリソースを一意に識別するためにも使用できるセカンダリ識別子を定義するものもあります。

どのリソースプロパティ (またはプロパティの組み合わせ) がリソースタイプのプライマリ識別子であるかを判断するには、リソースタイプスキーマの `primaryIdentifier` 属性を参照してください。このスキーマには、定義されているセカンダリ識別子も含まれています。詳細については、「[リソースタイプのスキーマの表示](resource-types.md#resource-types-schemas)」を参照してください。

## リソースのプライマリ識別子の取得
<a name="resource-identifier-getting"></a>

特定のリソースの識別子の値は、Cloud Control API コマンドを使用して確認できます。以下の各コマンドは、指定されたリソースのプライマリ識別子が含まれる `ProgressEvent` オブジェクトを返します。
+ 

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

  ```
  create-resource
  ```
+ 

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

  ```
  list-resource-requests
  ```

## リソースのプライマリ識別子の使用
<a name="resource-identifier-using"></a>

Cloud Control API コマンドを使用する場合、リソーススキーマでリソースタイプに定義されているプライマリ識別子または任意のセカンダリ識別子を指定することができます。識別子は 1 つだけ指定できます。プライマリ識別子は文字列または JSON として指定できます。セカンダリ識別子は JSON として指定する必要があります。

複合プライマリ識別子 (つまり、連結された複数のリソースプロパティで構成されたもの) の場合、プライマリ識別子を文字列として指定するには、プロパティ値を `|` で区切り、プライマリ識別子の定義で指定されている順序でリストします。

例えば、 リソースのプライマリ識別子は次のように定義されます。

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

そのため、 リソースのプライマリ識別子を文字列として指定するには、次の形式を使用します。

`DatabaseName|TableName`

例えば、データベース名が `MyDatabase` で、テーブル名が `MyTable` のデータベースであれば、`MyDatabase|MyTable` と指定します。

JSON として指定された複合識別子の場合は、次の例に示すように、プロパティの順序を考慮する必要はありません。

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

リソース識別子の詳細については、「CloudFormation Command Line Interface User Move for Extension Development」の「[primaryidentifier](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier)」を参照してください。