使用资源类型 - Cloud Control API
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用资源类型

重要

Cloud Control API 不支持中国(北京)区域或中国(宁夏)区域中的第三方资源类型。

扩展注册表是一项功能 Amazon CloudFormation ,其中包含有关您的账户中可用资源类型的详细信息。您可以使用注册表管理账户中的资源类型,包括:

  • 查看可用的资源类型。

  • 设置资源类型的账户级别配置属性(如果有)。

您还可以使用 Amazon CloudFormation 注册表查看资源类型的架构,其中包含有关如何通过 Cloud Control API 使用该资源的重要信息,例如属性定义和权限要求。有关更多信息,请参阅 查看资源类型架构

除了 CloudFormation API 之外,还可以通过 CloudFormation 控制台访问注册表。

注意

目前并非 CloudFormation 注册表中列出的所有资源类型都支持 Cloud Control API。有关更多信息,请参阅 确定资源类型是否支持 Cloud Control API

有关资源类型管理选项的更多信息,请参阅Amazon CloudFormation 用户指南》中的使用 CloudFormation 注册表

使用 Amazon CloudFormation API 管理资源类型

除了通过 Amazon CloudFormation 控制台访问扩展注册表外,您还可以使用 Amazon CloudFormation API 中包含的操作来识别和管理账户中的资源类型。下表列出了可用于发现和配置账户中的可用资源类型的 API 操作。

CloudFormation API 操作 Amazon CLI 命令 描述

DescribeType

describe-type

返回有关资源类型的详细信息。

ListTypes

list-types

返回有关资源类型的摘要信息。

确定资源类型是否支持 Cloud Control API

默认情况下,在注册表中发布的 Amazon 资源类型会自动支持 Cloud Control API 资源操作。但是, Amazon CloudFormation 注册表还包含归类为不可配置的旧资源类型。这些资源类型目前不支持 Cloud Control API,您无法在资源操作中使用它们。

重要

Cloud Control API 不支持中国(北京)区域或中国(宁夏)区域中的第三方资源类型。

有关当前支持 Cloud Control API 资源操作的 Amazon 公共资源类型的列表,请参阅支持 Cloud Control API 的资源类型

您还可以使用 Amazon Command Line Interface (Amazon CLI) 生成支持的资源类型列表或确定特定资源类型是否支持 Cloud Control API。

使用生成支持的资源列表 Amazon CLI
  • 结合下列参数使用 list-types 命令:

    • type:指定 RESOURCE 可仅选择资源类型。

    • visibility:指定 PUBLIC 可选择公共资源。

    • provisioning-type:指定 FULLY_MUTABLEIMMUTABLE 可仅选择那些可预置的资源类型。

    例如,以下命令从 CloudFormation 注册表中选择前 100 个完全可变的公共资源类型。

    $ aws cloudformation list-types \ --type RESOURCE --visibility PUBLIC \ --provisioning-type FULLY_MUTABLE --max-results 100
使用以下方法确定特定资源类型是否支持云控制 API Amazon CLI
  • 使用 describe-type 命令可返回资源类型的详细信息。

    具有 FULLY_MUTABLEIMMUTABLEProvisioningType 的资源类型支持 Cloud Control API 资源操作。

    以下示例返回 AWS::Logs::LogGroup 资源类型的详细信息。

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

查看资源类型架构

在资源创建和更新操作期间,您可以指定要设置的资源属性及其值。资源的属性在其资源类型架构中定义。这包括数据类型、属性是否为必需属性、有效值和其他属性约束。

您可以使用 CloudFormation 控制台或查看资源类型的架构 Amazon CLI。此外,《Amazon CloudFormation 用户指南》还包含 Amazon 发布的每种可用资源类型的参考主题。有关资源类型属性的详细信息以及使用示例,请参阅Amazon 资源和属性类型参考部分中的相应主题。

注意

并非《Amazon CloudFormation 用户指南》中列出的所有资源类型都可与 Cloud Control API 结合使用。要确定资源类型是否可用,请参阅支持 Cloud Control API 的资源类型

有关资源类型定义架构(定义如何创作资源类型架构)的详细信息,请参阅《扩展开发 CloudFormation CLI 用户指南》中的资源类型定义架构

有关如何查看现有资源的当前状态(包括其当前属性值)的信息,请参见读取资源的当前状态

使用 Amazon CloudFormation 控制台查看资源类型架构

  1. 登录 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台,网址为 https://console.aws.amazon.com/cloudformation

  2. CloudFormation导航窗格的注册表下,选择已激活的扩展

  3. 资源类型选项卡上,选择要查看其资源架构的资源类型。

    CloudFormation 显示资源类型详细信息页面。架构选项卡上显示了资源架构。

使用查看资源类型架构 Amazon CLI

  • 运行 describe-type

    在返回的输出中,Schema 结构包含资源类型架构。

    例如,以下命令会返回有关 AWS::Logs::LogGroup 资源类型的信息。

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

查看资源属性的属性

资源类型属性在资源类型架构的 properties 部分中定义。这包括属性数据类型、属性是否为必需属性,以及任何约束,例如允许的值或所需模式。

此外,在资源级别设置的某些属性可以控制何时或是否可以指定属性。这包括:

  • 定义为 required 的属性必须在资源创建期间以所需状态来指定。

  • 定义为 createOnlyProperties 的属性可以由用户进行设置,但只能在资源创建期间设置。

  • 用户无法设置定义为 readOnlyProperties 的属性。

  • 定义为 writeOnlyProperties 的属性可以由用户在创建或更新资源时指定,但在读取或列出请求期间无法返回。

查看支持的资源操作

您可以通过参考资源类型架构的 handlers 部分来确定资源类型支持哪些操作。如果资源类型支持某项操作,则此操作会在 handlers 部分中列出,并且包含一个列出处理程序所需权限的 permissions 元素。

例如,以下是 AWS::Logs::LogGroup 资源类型的资源类型架构的 handlers 部分。此部分表明该资源类型支持所有五种资源操作,并列出了每个处理程序所需的权限。

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