本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用的 Resource Groups Amazon CLI
以下代码示例向您展示了如何使用 with Resource Groups 来执行操作和实现常见场景。 Amazon Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。
场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。
每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 create-group
。
- Amazon 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
示例创建了一个名为的 Amazon CloudFormation 基于堆栈的资源组。sampleCFNstackgroup
该查询包括指定 CloudFormation 堆栈中所有受 Resource Group Amazon s 支持的资源。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\"}"}' } }
有关更多信息,请参阅 Res Amazon ource Groups 用户指南中的创建群组。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateGroup
中的。
-
以下代码示例演示如何使用 delete-group
。
- Amazon 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" } }
有关更多信息,请参阅《Res Amazon ource Groups 用户指南》中的删除群组。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteGroup
中的。
-
以下代码示例演示如何使用 get-group-query
。
- Amazon 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 的详细信息,请参阅Amazon CLI 命令参考GetGroupQuery
中的。
-
以下代码示例演示如何使用 get-group
。
- Amazon 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 的详细信息,请参阅Amazon CLI 命令参考GetGroup
中的。
-
以下代码示例演示如何使用 get-tags
。
- Amazon 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 的详细信息,请参阅Amazon CLI 命令参考GetTags
中的。
-
以下代码示例演示如何使用 list-group-resources
。
- Amazon 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:以下示例列出了组中所有资源的 “资源类型” 也为 “:: EC2 Amazon:: Instance” 。 :
aws 资源组 list-group-resources --group-name tbq-WebServer --filters name=Resource-type,Values=:: EC2:: Instance Amazon
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考ListGroupResources
中的。
-
以下代码示例演示如何使用 list-groups
。
- Amazon 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 的详细信息,请参阅Amazon CLI 命令参考ListGroups
中的。
-
以下代码示例演示如何使用 list-resource-groups
。
- Amazon 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" } ] }
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考ListResourceGroups
中的。
-
以下代码示例演示如何使用 put-group-configuration
。
- Amazon CLI
-
将服务配置附加到资源组
示例 1:以下
put-group-configuration
示例指定资源组仅包含C5
或M5
系列中实例的 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" ] } ] } ]
如果成功,此命令不会产生任何输出。
有关更多信息,请参阅 Res ource Groups API 参考指南中的资源组服务配置。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考PutGroupConfiguration
中的。
-
以下代码示例演示如何使用 search-resources
。
- Amazon CLI
-
查找与查询相匹配的资源
以下
search-resources
示例检索与指定查询相匹配的所有 Amazon 资源的列表。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 的详细信息,请参阅Amazon CLI 命令参考SearchResources
中的。
-
以下代码示例演示如何使用 tag
。
- Amazon 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" } }
有关更多信息,请参阅 Res Amazon ource Groups 用户指南中的管理标签。
-
有关 API 的详细信息,请参阅《Amazon CLI 命令参考》中的 “标签
”。
-
以下代码示例演示如何使用 untag
。
- Amazon 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" ] }
有关更多信息,请参阅 Res Amazon ource Groups 用户指南中的管理标签。
-
有关 API 的详细信息,请参阅《Amazon CLI 命令参考》中的 “取消标记
”。
-
以下代码示例演示如何使用 update-group-query
。
- Amazon 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\"]}]}" } }
有关更多信息,请参阅 Res Amazon ource Groups 用户指南中的更新群组。
示例 2:更新 CloudFormation 基于堆栈的资源组的查询
以下
update-group-query
示例更新了附加到指定 Amazon 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\"}" } }
有关更多信息,请参阅 Res Amazon ource Groups 用户指南中的更新群组。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateGroupQuery
中的。
-
以下代码示例演示如何使用 update-group
。
- Amazon 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." } }
有关更多信息,请参阅 Res Amazon ource Groups 用户指南中的更新群组。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateGroup
中的。
-