使用 的資源群組範例 AWS CLI - AWS Command Line Interface

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

使用 的資源群組範例 AWS CLI

下列程式碼範例示範如何搭配 AWS Command Line Interface Resource Groups 使用 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 create-group

AWS CLI

範例 1:建立標籤型資源群組

下列create-group範例會在目前區域中建立 Amazon EC2執行個體的標籤型資源群組。它基於使用金鑰 Name和值 標記的資源查詢WebServers。群組名稱為 tbq-WebServer。查詢位於傳遞至命令的個別JSON檔案中。

aws resource-groups create-group \ --name tbq-WebServer \ --resource-query file://query.json

query.json 的內容:

{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" }

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }

範例 2:建立 CloudFormation 堆疊型資源群組

下列create-group範例會建立名為 的 AWS CloudFormation 堆疊型資源群組sampleCFNstackgroup。查詢包含資源群組支援的指定 CloudFormation 堆疊中的所有 AWS 資源。

aws resource-groups create-group \ --name cbq-CFNstackgroup \ --resource-query file://query.json

query.json 的內容:

{ "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" }

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' } }

如需詳細資訊,請參閱資源群組使用者指南中的建立群組。 AWS

  • 如需API詳細資訊,請參閱 命令參考 CreateGroup中的 。 AWS CLI

下列程式碼範例示範如何使用 delete-group

AWS CLI

更新資源群組的描述

下列delete-group範例會更新指定的資源群組。

aws resource-groups delete-group \ --group-name tbq-WebServer

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer", "Name": "tbq-WebServer" } }

如需詳細資訊,請參閱資源群組使用者指南中的刪除群組。 AWS

  • 如需API詳細資訊,請參閱 命令參考 DeleteGroup中的 。 AWS CLI

下列程式碼範例示範如何使用 get-group-query

AWS CLI

取得連接至資源群組的查詢

下列get-group-query範例顯示連接至指定資源群組的查詢。

aws resource-groups get-group-query \ --group-name tbq-WebServer

輸出:

{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
  • 如需API詳細資訊,請參閱 命令參考 GetGroupQuery中的 。 AWS CLI

下列程式碼範例示範如何使用 get-group

AWS CLI

取得資源群組的相關資訊

下列get-group範例顯示指定資源群組的詳細資訊。若要取得連接至群組的查詢,請使用 get-group-query

aws resource-groups get-group \ --group-name tbq-WebServer

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer", "Description": "A tag-based query resource group of WebServers." } }
  • 如需API詳細資訊,請參閱 命令參考 GetGroup中的 。 AWS CLI

下列程式碼範例示範如何使用 get-tags

AWS CLI

擷取連接至資源群組的標籤

下列get-tags範例顯示連接至指定資源群組 (群組本身,而非其成員) 的標籤金鑰和值對。

aws resource-groups get-tags \ --arn arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer

輸出:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
  • 如需API詳細資訊,請參閱 命令參考 GetTags中的 。 AWS CLI

下列程式碼範例示範如何使用 list-group-resources

AWS CLI

列出資源群組中的所有資源

範例 1:下列list-resource-groups範例列出屬於指定資源群組一部分的所有資源。

aws resource-groups list-group-resources \ --group-name tbq-WebServer

輸出:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }

範例 2:下列範例會列出群組中也具有 'AWS::EC2:Instance' 之 'resource-type' 的所有資源。:

aws resource-groups list-group-resources --group-name tbqWebServer --filters Name=resource-type,Values=AWS:EC2::Instance

下列程式碼範例示範如何使用 list-groups

AWS CLI

列出可用的資源群組

下列list-groups範例顯示所有資源群組的清單。

aws resource-groups list-groups

輸出:

{ "GroupIdentifiers": [ { "GroupName": "tbq-WebServer", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer3" }, { "GroupName": "cbq-CFNStackQuery", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery" } ], "Groups": [ { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery", "Name": "cbq-CFNStackQuery" } ] }
  • 如需API詳細資訊,請參閱 命令參考 ListGroups中的 。 AWS CLI

下列程式碼範例示範如何使用 list-resource-groups

AWS CLI

列出資源群組中的所有資源

下列list-resource-groups範例會列出屬於指定資源群組的所有資源。

aws resource-groups list-group-resources \ --group-name tbq-WebServer

輸出:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }

下列程式碼範例示範如何使用 put-group-configuration

AWS CLI

將服務組態連接至資源群組

範例 1:下列put-group-configuration範例指定資源群組僅包含 C5M5 系列執行個體的 Amazon EC2容量保留。

aws resource-groups put-group-configuration \ --group MyTestGroup \ --configuration file://config.json

config.json 的內容:

[ { "Type": "AWS::EC2::HostManagement", "Parameters": [ { "Name": "allowed-host-families", "Values": [ "c5", "m5" ] }, { "Name": "any-host-based-license-configuration", "Values": [ "true" ] } ] }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Name": "allowed-resource-types", "Values": [ "AWS::EC2::Host" ] }, { "Name": "deletion-protection", "Values": [ "UNLESS_EMPTY" ] } ] } ]

如果成功,此命令不會產生輸出。

如需詳細資訊,請參閱資源API群組參考指南 中的資源群組服務組態

下列程式碼範例示範如何使用 search-resources

AWS CLI

尋找符合查詢的資源

下列search-resources範例會擷取符合指定查詢的所有 AWS 資源清單。

aws resource-groups search-resources \ --resource-query file://query.json

query.json 的內容:

{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Patch Group\", \"Values\":[\"Dev\"]}]}" }

輸出:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
  • 如需API詳細資訊,請參閱 命令參考 SearchResources中的 。 AWS CLI

下列程式碼範例示範如何使用 tag

AWS CLI

將標籤連接至資源群組

下列tag範例會將指定的標籤索引鍵和值對連接至指定的資源群組 (群組本身,而不是其成員)。

aws resource-groups tag \ --tags QueryType=tags,QueryResources=ec2-instances \ --arn arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer

輸出:

{ "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }

如需詳細資訊,請參閱AWS 資源群組使用者指南中的管理標籤

  • 如需API詳細資訊,請參閱 AWS CLI 命令參考 中的標籤

下列程式碼範例示範如何使用 untag

AWS CLI

從資源群組中移除標籤

下列untags範例會從資源群組本身移除具有指定金鑰的任何標籤,而不是其成員。

aws resource-groups untag \ --arn arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer \ --keys QueryType

輸出:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Keys": [ "QueryType" ] }

如需詳細資訊,請參閱AWS 資源群組使用者指南中的管理標籤

  • 如需API詳細資訊,請參閱 AWS CLI 命令參考 中的取消標籤

下列程式碼範例示範如何使用 update-group-query

AWS CLI

範例 1:更新標籤型資源群組的查詢

下列update-group-query範例會更新連接至指定標籤型資源群組的查詢。

aws resource-groups update-group-query \ --group-name tbq-WebServer \ --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}'

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }

如需詳細資訊,請參閱資源群組使用者指南中的更新群組。 AWS

範例 2:更新 CloudFormation 堆疊型資源群組的查詢

下列update-group-query範例會更新連接至指定 AWS CloudFormation 堆疊型資源群組的查詢。

aws resource-groups update-group-query \ --group-name cbq-CFNstackgroup \ --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}'

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" } }

如需詳細資訊,請參閱資源群組使用者指南中的更新群組。 AWS

  • 如需API詳細資訊,請參閱 命令參考 UpdateGroupQuery中的 。 AWS CLI

下列程式碼範例示範如何使用 update-group

AWS CLI

更新資源群組的描述

下列update-group範例會更新指定資源群組的描述。

aws resource-groups update-group \ --group-name tbq-WebServer \ --description "Resource group for all web server resources."

輸出:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" "Description": "Resource group for all web server resources." } }

如需詳細資訊,請參閱資源群組使用者指南中的更新群組。 AWS

  • 如需API詳細資訊,請參閱 命令參考 UpdateGroup中的 。 AWS CLI