使用資源類型 - 雲端控制 API

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用資源類型

要將資源類型與AWS Cloud Control API,則該資源類型必須存在並激活在您的AWS 帳戶。支援AWS資源類型是公共的,並且始終激活。您也可以選擇激活由第三方發佈者提供的公共資源類型。執行此操作以及其他資源類型管理任務,通過AWS CloudFormation延伸註冊機構。

所以此延伸註冊機構是AWS CloudFormation,其中包含您賬户中可用資源類型的詳細資訊。這些資源類型可以包括由第三方發佈的資源類型,以及由AWS。使用註冊表,您可以管理帳户中的資源類型,包括:

  • 查看可用和已激活的資源類型。

  • 註冊私有資源類型以便在您的帳户中使用。

  • 激活公用第三方資源類型。

  • 管理資源類型版本,包括在您的帳户中設定資源類型的預設版本。

  • 設置資源類型的帳户級配置屬性(如果有)。

您也可以使用AWS CloudFormation註冊表以查看資源類型的架構,其中包含有關如何將資源與 Cloud Control API 結合使用的重要信息,例如屬性定義和權限要求。如需詳細資訊,請參閱「」查看資源類型方案

註冊表可通過 CloudFormation 控制台,以及 CloudFormation API。

注意

並非所有資源類型在 CloudFormation 註冊表當前支持雲控制 API。如需詳細資訊,請參閱「」確定資源類型是否支持雲控制 API

如需資源類型管理選項的詳細資訊,請參使用 CloudFormation 註冊表中的AWS CloudFormation使用者指南

使用AWS CloudFormationAPI

除了通過AWS CloudFormation控制台中,您可以使用AWS CloudFormationAPI 來識別和管理賬户中的資源類型。下表列出了可用於發現、激活和配置賬户中可用的資源類型的 API 操作。

CloudFormation API 操作 AWS CLI 命令 Description (描述)

DescribeType

Resource type

傳回資源類型的詳細資訊。

ListTypes

Lesource type

傳回資源類型的摘要資訊。

激活類型

激活類型

激活公用第三方資源類型,使其可用於您的帳户。

停用類型

停用類型

在您的帳户中停用公共第三方資源類型。

ListTypeVersions

列表類型版本

傳回資源類型版本的摘要資訊。

SetTypeDefaultVersion

組合類型的預設版本

指定資源類型的預設版本。

批次描述間塊形象

批量描述類型配置

傳回指定資源類型的配置數據。

設置配置

集類型配置

指定帳户中資源類型的配置數據。

RegisterType

寄存器類型

註冊私有第三方資源,使其可用於您的帳户。

DeregisterType

取消註冊類型

取消註冊私有第三方資源,將其從帳户中的活動使用中刪除。

確定資源類型是否支持雲控制 API

默認情況下,發佈在 CloudFormation 註冊表自動支持雲控制 API 資源操作。除了公共第三方資源類型之外,還包括私有資源類型。但是,AWS CloudFormation註冊表還包含舊資源類型,分類為不可預配。這些資源類型目前不支持雲控制 API,您不能在資源操作中使用它們。

有關AWS當前支持雲控制 API 資源操作的公共資源類型,請參閲支持雲控制 API 的資源類型

您也可以使用AWS Command Line Interface(AWS CLI)生成受支持的資源類型列表,或確定特定資源類型是否支持雲控制 API。

生成受支持的資源列表,使用AWS CLI

  • 使用list-types命令,使用下列參數:

    • type— 指定RESOURCE以僅選擇資源類型。

    • visibility— 指定PUBLIC選擇公共資源,或PRIVATE以獲取私有資源。

    • provisioning-type— 指定FULLY_MUTABLE或者IMMUTABLE以僅選擇那些可預配的資源類型。

    例如,以下命令選擇前 100 個公共資源類型,這些資源類型完全可從 CloudFormation 註冊機構。

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

確定特定資源類型是否支持雲控制 API,使用AWS CLI

  • 使用describe-type命令返回資源類型的詳細信息。

    使用ProvisioningType任何一個FULLY_MUTABLE或者IMMUTABLE支持雲控制 API 資源操作。

    下列範例傳回AWS::Logs::LogGroup 資源類型。

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

查看資源類型方案

在資源創建和更新操作期間,您可以指定要設置的資源屬性及其值。資源的屬性在其資源類型架構。這包括數據類型、屬性是否為必需、有效值和其他屬性約束。

您可以使用 CloudFormation 主控台或AWS CLI。此外,AWS CloudFormation使用者指南包含每個可用資源類型的參考主題,AWS發佈。適用於有關資源類型屬性的詳細信息,以及使用示例,請參閲AWS資源和屬性類型參考區段。

注意

並非所有資源類型在AWS CloudFormation使用者指南可與雲控制 API 一起使用。要確定資源類型是否可用,請參閲支持雲控制 API 的資源類型

有關定義如何創建資源類型架構的資源類型定義架構的詳細信息,請參閲資源類型定義方案中的CloudFormation CLI 擴展開發用户指南

有關如何查看現有資源的當前狀態(包括其當前屬性值)的信息,請參閲閲讀資源

查看資源類型架構使用AWS CloudFormation安慰

  1. 請登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/cloudformation 的 AWS CloudFormation 主控台。

  2. 在 中CloudFormation導航窗格中的登錄,選擇激活延伸項目

  3. Resource types選項卡中,選擇您想要查看資源架構的資源類型。

    CloudFormation 顯示資源類型詳細信息頁面。資源模式顯示在結構描述標籤。

查看資源類型架構使用AWS 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元素,該元素列出了處理程序所需的權限。

例如,下面是handlers部分的資源類型架構的AWS::Logs::LogGroup 資源類型。本節顯示此資源類型支持所有五個資源操作,並列出了每個處理程序所需的權限。

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