

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

# Cloud Control API リソースタイプの使用
<a name="resource-types"></a>

でリソースタイプを使用するには AWS クラウドコントロール API、そのリソースタイプが に存在し、アクティブ化されている必要があります AWS アカウント。サポートされている AWS リソースタイプはパブリックで、常にアクティブ化されます。 AWS CloudFormation 拡張機能レジストリを通じて、サードパーティーのパブリッシャーが提供するパブリックリソースタイプを有効にすることもできます。

*拡張機能レジストリ*は、アカウントで使用できるリソースタイプに関する詳細情報 AWS CloudFormation を含む の機能です。これには、 AWSが公開したリソースタイプだけでなく、サードパーティが公開したリソースタイプも含まれる場合があります。レジストリを使用して、以下を含む、アカウントのリソースタイプの管理を行うことができます。
+ 利用可能でアクティブ化されたリソースタイプを表示する。
+ アカウントで使用するためのプライベートリソースタイプを登録する。
+ サードパーティのパブリックリソースタイプをアクティブ化する。
+ アカウントのリソースタイプのデフォルトバージョンを設定するなど、リソースタイプのバージョンを管理する。
+ リソースタイプのアカウントレベル設定プロパティを設定する (存在する場合)。

 CloudFormation レジストリを使用してリソースタイプのスキーマを表示することもできます。これには、プロパティ定義やアクセス許可要件など、Cloud Control API でリソースを使用する方法に関する重要な情報が含まれています。詳細については、「[リソースタイプのスキーマの表示](#resource-types-schemas)」を参照してください。

このレジストリは、CloudFormation API に加えて、CloudFormation コンソールからも入手できます。

**注記**  
現時点では、CloudFormation レジストリにリストされているすべてのリソースタイプが Cloud Control API をサポートしているわけではありません。詳細については、「[リソースタイプが Cloud Control API をサポートしているかどうかの判断](#resource-types-determine-support)」を参照してください。

リソースタイプ管理オプションの詳細については、「AWS CloudFormation ユーザーガイド」の「[CloudFormation レジストリの使用](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html)」を参照してください。

## CloudFormation API を使用したリソースタイプの管理
<a name="resource-types-manage-APIs"></a>

 CloudFormation コンソールから拡張機能レジストリにアクセスするだけでなく、 CloudFormation API に含まれるオペレーションを使用して、アカウントのリソースタイプを識別および管理できます。以下の表は、アカウントで使用できるリソースタイプの検出、アクティブ化、設定を行うために使用できる API オペレーションの一覧です。


| CloudFormation API オペレーション | AWS CLI コマンド | 説明 | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type.html)  | リソースタイプに関する詳細情報を返します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ListTypes.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ListTypes.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-types.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-types.html)  | リソースタイプに関する概要情報を返します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html)  | サードパーティのパブリックリソースタイプをアクティブ化し、アカウントで使用できるようにします。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeactivateType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeactivateType.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deactivate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deactivate-type.html)  | アカウント内のサードパーティのパブリックリソースタイプを非アクティブ化します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ListTypeVersions.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ListTypeVersions.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-type-versions.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-type-versions.html)  | リソースタイプのバージョンに関する概要情報を返します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeDefaultVersion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeDefaultVersion.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-default-version.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-default-version.html)  | リソースタイプのデフォルトバージョンを指定します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_BatchDescribeTypeConfigurations.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_BatchDescribeTypeConfigurations.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/batch-describe-type-configurations.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/batch-describe-type-configurations.html)  | 指定されたリソースタイプの設定データを返します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html)  | アカウント内のリソースタイプの設定データを指定します。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/register-type.html)  | サードパーティのプライベートリソースを登録し、アカウントで使用できるようにします。 | 
|  [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeregisterType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeregisterType.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deregister-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deregister-type.html)  | サードパーティのプライベートリソースの登録を解除し、アカウントでのアクティブな使用を停止します。 | 

## リソースタイプが Cloud Control API をサポートしているかどうかの判断
<a name="resource-types-determine-support"></a>

デフォルトでは、CloudFormation レジストリで公開されているリソースタイプは、自動的に Cloud Control API のリソースオペレーションをサポートします。これには、サードパーティのパブリックリソースタイプに加えて、プライベートリソースタイプも含まれます。ただし、 AWS CloudFormation レジストリには、*プロビジョニング不可*に分類されるレガシーリソースタイプも含まれています。これらのリソースタイプは、現在のところ Cloud Control API をサポートしていないため、リソースオペレーションには使用できません。

現在 Cloud Control API リソースオペレーションをサポートしている AWS パブリックリソースタイプのリストについては、「」を参照してください[Cloud Control API をサポートするリソースタイプ](supported-resources.md)。

 AWS Command Line Interface (AWS CLI) を使用して、サポートされているリソースタイプのリストを生成したり、特定のリソースタイプが Cloud Control API をサポートしているかどうかを確認したりすることもできます。

**を使用してサポートされているリソースのリストを生成する AWS CLI**
+ `list-types` コマンドを次のパラメータと共に使用します。
  + `type` – リソースタイプだけを選択するには `RESOURCE` を指定します。
  + `visibility` — パブリックリソースを選択するには `PUBLIC` を指定し、プライベートリソースを選択するには `PRIVATE` を指定します。
  + `provisioning-type` — プロビジョニング可能なリソースタイプだけを選択するには `FULLY_MUTABLE` または `IMMUTABLE` を指定します。

  例えば、次のコマンドでは、CloudFormation レジストリから完全に変更可能な最初の 100 個のパブリックリソースタイプが選択されます。

  ```
  $ aws cloudformation list-types \
      --type RESOURCE --visibility PUBLIC \
      --provisioning-type FULLY_MUTABLE --max-results 100
  ```

**を使用して特定のリソースタイプが Cloud Control API をサポートしているかどうかの確認 AWS CLI**
+ `describe-type` コマンドを使用して、リソースタイプの詳細を返します。

  `ProvisioningType` が `FULLY_MUTABLE` または `IMMUTABLE` のリソースタイプは、Cloud Control API のリソースオペレーションをサポートします。

  次の例では、`AWS::Logs::LogGroup` リソースタイプの詳細が返されます。

  ```
  $ aws cloudformation describe-type \
      --type RESOURCE --type-name AWS::Logs::LogGroup
  ```

## リソースタイプのスキーマの表示
<a name="resource-types-schemas"></a>

リソースの作成および更新オペレーションでは、設定するリソースプロパティとその値を指定します。リソースのプロパティはリソースタイプスキーマで定義されます。これには、データタイプ、そのプロパティが必須かどうか、有効な値、プロパティのその他の制約が含まれます。

リソースタイプスキーマは、CloudFormation コンソールまたは AWS CLIを使用して表示できます。さらに、「AWS CloudFormation ユーザーガイド」には、 AWS が公開している使用可能な各リソースタイプのリファレンストピックが記載されています。リソースタイプのプロパティの詳細と使用例については、「[AWS リソースおよびプロパティタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)」セクションの該当するトピックを参照してください。

**注記**  
「AWS CloudFormation ユーザーガイド」に記載されているすべてのリソースタイプが Cloud Control API で使用できるわけではありません。リソースタイプが使用可能かどうかを判断するには、「」を参照してください[Cloud Control API をサポートするリソースタイプ](supported-resources.md)。

リソースタイプスキーマの作成方法を定義するリソースタイプ定義スキーマの詳細については、「CloudFormation CLI User Guide for Extension Development」の「[Resource type definition schema](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html)」を参照してください。

現在のプロパティ値を含む既存のリソースの現在の状態を表示する方法については、「」を参照してください[を使用したリソースの読み取り AWS クラウドコントロール API](resource-operations-read.md)。<a name="resource-operations-create-view-schema-console"></a>

## CloudFormation コンソールを使用したリソースタイプスキーマの表示
<a name="resource-operations-create-view-schema-console"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. **CloudFormation** のナビゲーションペインで、**[レジストリ]** の下にある **[アクティブ化済みの拡張機能]** を選択します。

1. **[リソースタイプ]** タブで、リソーススキーマを表示するリソースタイプを選択します。

   CloudFormation により、そのリソースタイプの詳細ページが表示されます。リソーススキーマは **[スキーマ]** タブに表示されます。<a name="resource-operations-create-view-schema-cli"></a>

## を使用したリソースタイプスキーマの表示 AWS CLI
<a name="resource-operations-create-view-schema-cli"></a>
+ `[describe-type](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-type.html)` を実行します。

  返される出力では、`Schema` 構造にリソースタイプスキーマが含まれています。

  例えば、次のコマンドは、`AWS::Logs::LogGroup` リソースタイプに関する情報を返します。

  ```
  $ aws cloudformation describe-type \
      --type RESOURCE --type-name AWS::Logs::LogGroup
  ```

### リソースプロパティ属性の表示
<a name="resource-types-schemas-properties"></a>

リソースタイププロパティはリソースタイプスキーマの `properties` セクションで定義されます。これには、そのプロパティのデータタイプ、プロパティが必須かどうか、許容値や必須パターンなどの制約が含まれます。

さらに、リソースレベルで設定される特定の属性によって、プロパティをいつ指定できるか、または指定できるかどうかが決まります。これには、以下が含まれます。
+ `required` として定義されたプロパティは、リソース作成時に目的の状態で指定する必要があります。
+ `createOnlyProperties` として定義されたプロパティはユーザーが設定できますが、リソースの作成中に限られます。
+ `readOnlyProperties` として定義されたプロパティは、ユーザーが設定することはできません。
+ `writeOnlyProperties` として定義されたプロパティは、リソースの作成または更新時にユーザーが指定できますが、読み取りまたはリストのリクエスト時に返すことはできません。

### サポートされているリソースオペレーションの表示
<a name="resource-types-schemas-events"></a>

リソースタイプがサポートするオペレーションは、そのリソースタイプスキーマの `handlers` セクションを参照することで確認できます。リソースタイプがオペレーションをサポートしている場合は、`handlers` セクションにリストされます。そこには、ハンドラーが必要とする権限をリストする `permissions` 要素も含まれます。

例えば、以下は `AWS::Logs::LogGroup` リソースタイプのリソースタイプスキーマの `handlers` セクションです。このセクションは、このリソースタイプが 5 つのリソースオペレーションすべてをサポートしていることを示し、各ハンドラーが必要とする権限をリストしています。

```
  "handlers": {
    "create": {
      "permissions": [
        "logs:DescribeLogGroups",
        "logs:CreateLogGroup",
        "logs:PutRetentionPolicy"
      ]
    },
    "read": {
      "permissions": [
        "logs:DescribeLogGroups"
      ]
    },
    "update": {
      "permissions": [
        "logs:DescribeLogGroups",
        "logs:AssociateKmsKey",
        "logs:DisassociateKmsKey",
        "logs:PutRetentionPolicy",
        "logs:DeleteRetentionPolicy"
      ]
    },
    "delete": {
      "permissions": [
        "logs:DescribeLogGroups",
        "logs:DeleteLogGroup"
      ]
    },
    "list": {
      "permissions": [
        "logs:DescribeLogGroups"
      ]
    }
  }
```