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

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

使用 Cloud Control API 資源類型

若要搭配 使用資源類型 AWS Cloud Control API,該資源類型必須在您的 中存在並啟用 AWS 帳戶。支援 AWS 的資源類型為公有且一律啟用。您可以選擇啟用第三方發佈者提供的公有資源類型,也可以透過 AWS CloudFormation 延伸登錄檔啟用。

延伸登錄檔是 的一項功能 AWS CloudFormation ,其中包含有關可在您的帳戶中使用的資源類型的詳細資訊。除了 發佈的資源類型之外,這些類型還包括第三方發佈的資源類型 AWS。使用登錄檔,您可以管理帳戶中的資源類型,包括:

  • 檢視可用的和已啟用的資源類型。

  • 註冊私有資源類型以用於您的帳戶。

  • 啟用公有第三方資源類型。

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

  • 設定資源類型的帳戶層級組態屬性,如果有的話。

您也可以使用 AWS CloudFormation 登錄檔檢視資源類型的結構描述,其中包含有關如何搭配 Cloud Control 使用資源的重要資訊API,例如屬性定義和許可要求。如需詳細資訊,請參閱檢視資源類型結構描述

除了 之外 CloudFormation,還可以透過 CloudFormation 主控台使用登錄檔API。

注意

CloudFormation 登錄檔中列出的所有資源類型目前都支援 Cloud Control API。如需詳細資訊,請參閱判斷資源類型是否支援 Cloud Control API

如需資源類型管理選項的詳細資訊,請參閱 AWS CloudFormation 使用者指南 中的使用 CloudFormation 登錄檔。

使用 管理資源類型 AWS CloudFormation API

除了透過 AWS CloudFormation 主控台存取延伸登錄檔之外,您還可以使用 中 AWS CloudFormation API包含的操作來識別和管理帳戶中的資源類型。下表列出可用來探索、啟用和設定帳戶中可用資源類型的API操作。

CloudFormation API 操作 AWS CLI 命令 描述

DescribeType

describe-type

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

ListTypes

list-types

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

ActivateType

activate-type

啟用公有第三方資源類型,使其可用於您的帳戶。

DeactivateType

deactivate-type

停用您帳戶中的公有第三方資源類型。

ListTypeVersions

list-type-versions

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

SetTypeDefaultVersion

set-type-default-version

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

BatchDescribeTypeConfigurations

batch-describe-type-configurations

傳回指定資源類型的組態資料。

SetTypeConfiguration

set-type-configuration

指定帳戶中資源類型的組態資料。

RegisterType

register-type

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

DeregisterType

deregister-type

取消註冊私有第三方資源,將其從帳戶中的作用中使用中移除。

判斷資源類型是否支援 Cloud Control API

根據預設,在 CloudFormation 登錄檔中發佈的資源類型會自動支援 Cloud Control API 資源操作。這包括私有資源類型,以及公有第三方資源類型。不過, AWS CloudFormation 登錄檔也包含舊版資源類型,分類為不可佈建的 。這些資源類型目前不支援 Cloud Control API,您無法在資源操作中使用它們。

如需目前支援 Cloud Control 資源操作的 AWS 公有API資源類型清單,請參閱 支援 Cloud Control 的資源類型 API

您也可以使用 AWS Command Line Interface (AWS CLI) 產生支援的資源類型清單,或判斷特定資源類型是否支援 Cloud Control API。

使用 產生支援的資源清單 AWS CLI
  • 使用 list-types命令,搭配下列參數:

    • type – 指定 RESOURCE 以僅選取資源類型。

    • visibility – 指定 PUBLIC來選取公有資源或PRIVATE私有資源。

    • provisioning-type – 指定 FULLY_MUTABLEIMMUTABLE 僅選取可佈建的資源類型。

    例如,下列命令會從 CloudFormation 登錄檔中選取完全可變更的前 100 種公有資源類型。

    $ aws cloudformation list-types \ --type RESOURCE --visibility PUBLIC \ --provisioning-type FULLY_MUTABLE --max-results 100
判斷特定資源類型是否支援API使用 的 Cloud Control 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

檢視資源類型結構描述

在資源建立和更新操作期間,您可以指定要設定的資源屬性及其值。資源的屬性會在其資源類型結構描述 中定義。這包括資料類型、是否需要 屬性、有效值和其他屬性限制。

您可以使用 CloudFormation 主控台或 檢視資源類型的結構描述 AWS CLI。此外,AWS CloudFormation 使用者指南包含每個發佈可用資源類型的 AWS 參考主題。如需資源類型屬性的詳細資訊,除了使用範例之外,請參閱AWS 資源和屬性類型參考區段中的對應主題。

注意

並非所有 AWS CloudFormation 使用者指南中列出的資源類型都可以與 Cloud Control 搭配使用API。若要判斷資源類型是否可用,請參閱 支援 Cloud Control 的資源類型 API

如需定義如何撰寫資源類型結構描述之資源類型定義結構描述的詳細資訊,請參閱 CloudFormation CLI 延伸開發使用者指南 中的資源類型定義結構描述

如需有關如何檢視現有資源目前狀態的資訊,其中包含其目前屬性值,請參閱 使用 讀取資源 AWS Cloud Control API

使用 AWS CloudFormation 主控台檢視資源類型結構描述

  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. CloudFormation導覽窗格中的登錄檔 下,選取已啟用的延伸模組

  3. 資源類型索引標籤上,選取您要檢視資源結構描述的資源類型。

    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 元素。

例如,以下是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" ] } }