使用云控制API示例 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

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

使用云控制API示例 AWS CLI

以下代码示例向您展示了如何使用 AWS Command Line Interface 与 Cloud Control 配合使用来执行操作和实现常见场景API。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例显示了如何使用create-resource

AWS CLI

创建资源

以下create-resource示例创建了一个名为 AWS:: Kinesis:: Stream 的资源 ResourceExample,其保留期为 168 小时,分片计数为 3。

aws cloudcontrol create-resource \ --type-name AWS::Kinesis::Stream \ --desired-state "{\"Name\": \"ResourceExample\",\"RetentionPeriodHours\":168, \"ShardCount\":3}"

输出:

{ "ProgressEvent": { "EventTime": 1632506656.706, "TypeName": "AWS::Kinesis::Stream", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "ResourceExample", "RequestToken": "20999d87-e304-4725-ad84-832dcbfd7fc5" } }

有关更多信息,请参阅 Cloud Control API 用户指南中的创建资源

以下代码示例显示了如何使用delete-resource

AWS CLI

删除资源

以下delete-resource示例从您的账户中删除带有标识符 ResourceExample 的 AWS:: Kinesis:: Stream 资源。 AWS

aws cloudcontrol delete-resource \ --type-name AWS::Kinesis::Stream \ --identifier ResourceExample

输出:

{ "ProgressEvent": { "TypeName": "AWS::Kinesis::Stream", "Identifier": "ResourceExample", "RequestToken": "e48f26ff-d0f9-4ab8-a878-120db1edf111", "Operation": "DELETE", "OperationStatus": "IN_PROGRESS", "EventTime": 1632950300.14 } }

有关更多信息,请参阅 Cloud Control API 用户指南中的删除资源

以下代码示例显示了如何使用get-resource-request-status

AWS CLI

获取资源请求的状态信息

以下get-resource-request-status示例返回有关指定资源请求的状态信息。

aws cloudcontrol get-resource-request-status \ --request-token "e1a6b86e-46bd-41ac-bfba-001234567890"

输出:

{ "ProgressEvent": { "TypeName": "AWS::Kinesis::Stream", "Identifier": "Demo", "RequestToken": "e1a6b86e-46bd-41ac-bfba-001234567890", "Operation": "CREATE", "OperationStatus": "FAILED", "EventTime": 1632950268.481, "StatusMessage": "Resource of type 'AWS::Kinesis::Stream' with identifier 'Demo' already exists.", "ErrorCode": "AlreadyExists" } }

有关更多信息,请参阅 Cloud Control API 用户指南中的管理资源操作请求

以下代码示例显示了如何使用get-resource

AWS CLI

获取资源的当前状态

以下get-resource示例返回名为:: Kinesis AWS:: Stream 资源的当前状态。 ResourceExample

aws cloudcontrol get-resource \ --type-name AWS::Kinesis::Stream \ --identifier ResourceExample

输出:

{ "TypeName": "AWS::Kinesis::Stream", "ResourceDescription": { "Identifier": "ResourceExample", "Properties": "{\"Arn\":\"arn:aws:kinesis:us-west-2:099908667365:stream/ResourceExample\",\"RetentionPeriodHours\":168,\"Name\":\"ResourceExample\",\"ShardCount\":3}" } }

有关更多信息,请参阅 Cloud Control API 用户指南中的读取资源的当前状态

以下代码示例显示了如何使用list-resource-requests

AWS CLI

列出活动资源操作请求

以下list-resource-requests示例列出了您的 AWS 账户中的资源请求CREATE和失败的UPDATE操作。

aws cloudcontrol list-resource-requests \ --resource-request-status-filter Operations=CREATE,OperationStatuses=FAILED

输出:

{ "ResourceRequestStatusSummaries": [ { "TypeName": "AWS::Kinesis::Stream", "Identifier": "Demo", "RequestToken": "e1a6b86e-46bd-41ac-bfba-633abcdfdbd7", "Operation": "CREATE", "OperationStatus": "FAILED", "EventTime": 1632950268.481, "StatusMessage": "Resource of type 'AWS::Kinesis::Stream' with identifier 'Demo' already exists.", "ErrorCode": "AlreadyExists" } ] }

有关更多信息,请参阅 Cloud Control API 用户指南中的管理资源操作请求

以下代码示例显示了如何使用list-resources

AWS CLI

列出给定类型的资源

以下list-resources示例列出了在您的账户中配置的 AWS:: Kinesis:: Stream 资源。 AWS

aws cloudcontrol list-resources \ --type-name AWS::Kinesis::Stream

输出:

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

有关更多信息,请参阅《云控制API用户指南》中的发现资源

以下代码示例显示了如何使用update-resource

AWS CLI

更新现有资源的属性

以下update-resource示例将名为:: Logs AWS:: LogGroup 资源的保留策略更新 ExampleLogGroup 为 90 天。

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

输出:

{ "ProgressEvent": { "EventTime": "2021-08-09T18:17:15.219Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "UPDATE", "Identifier": "ExampleLogGroup", "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789" } }

有关更多信息,请参阅 Cloud Control API 用户指南中的更新资源