

Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 [AWS](https://github.com/awsdocs/aws-doc-sdk-examples)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用した Resource Groups の例 AWS CLI
<a name="cli_2_resource-groups_code_examples"></a>

次のコード例は、Resource Groups AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

### `create-group`
<a name="resource-groups_CreateGroup_cli_2_topic"></a>

次のコード例は、`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`。クエリには、Resource Groups でサポートされている指定された 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 Resource Groups ユーザーガイド*」の「[グループの作成](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[CreateGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/create-group.html)」を参照してください。

### `delete-group`
<a name="resource-groups_DeleteGroup_cli_2_topic"></a>

次のコード例は、`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 Resource Groups ユーザーガイド*」の「[グループの削除](https://docs.aws.amazon.com/ARG/latest/userguide/deleting-resource-groups.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DeleteGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/delete-group.html)」を参照してください。

### `get-group-query`
<a name="resource-groups_GetGroupQuery_cli_2_topic"></a>

次のコード例は、`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 の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetGroupQuery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-group-query.html)」を参照してください。

### `get-group`
<a name="resource-groups_GetGroup_cli_2_topic"></a>

次のコード例は、`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 の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-group.html)」を参照してください。

### `get-tags`
<a name="resource-groups_GetTags_cli_2_topic"></a>

次のコード例は、`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 の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-tags.html)」を参照してください。

### `list-group-resources`
<a name="resource-groups_ListGroupResources_cli_2_topic"></a>

次のコード例は、`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 tbq-WebServer --filters Name=resource-type,Values=AWS::EC2::Instance  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[ListGroupResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-group-resources.html)」を参照してください。

### `list-groups`
<a name="resource-groups_ListGroups_cli_2_topic"></a>

次のコード例は、`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 の詳細については、「*AWS CLI コマンドリファレンス*」の「[ListGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-groups.html)」を参照してください。

### `list-resource-groups`
<a name="resource-groups_ListResourceGroups_cli_2_topic"></a>

次のコード例は、`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"
        }
    ]
}
```
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[ListResourceGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-resource-groups.html)」を参照してください。

### `put-group-configuration`
<a name="resource-groups_PutGroupConfiguration_cli_2_topic"></a>

次のコード例は、`put-group-configuration` を使用する方法を示しています。

**AWS 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" ]
            }
        ]
    }
]
```
このコマンドが成功した場合、出力は生成されません。  
詳細については、「*リソースグループ API リファレンスガイド*」の「[リソースグループのサービス設定](https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[PutGroupConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/put-group-configuration.html)」を参照してください。

### `search-resources`
<a name="resource-groups_SearchResources_cli_2_topic"></a>

次のコード例は、`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 の詳細については、「*AWS CLI コマンドリファレンス*」の「[SearchResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/search-resources.html)」を参照してください。

### `tag`
<a name="resource-groups_Tag_cli_2_topic"></a>

次のコード例は、`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 Resource Groups ユーザーガイド*」の「[タグの管理](https://docs.aws.amazon.com/ARG/latest/userguide/tagging-resources.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[Tag](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/tag.html)」を参照してください。

### `untag`
<a name="resource-groups_Untag_cli_2_topic"></a>

次のコード例は、`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 Resource Groups ユーザーガイド*」の「[タグの管理](https://docs.aws.amazon.com/ARG/latest/userguide/tagging-resources.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[Untag](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/untag.html)」を参照してください。

### `update-group-query`
<a name="resource-groups_UpdateGroupQuery_cli_2_topic"></a>

次のコード例は、`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 Resource Groups ユーザーガイド*」の「[グループの更新](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html)」を参照してください。  
**例 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 Resource Groups ユーザーガイド*」の「[グループの更新](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[UpdateGroupQuery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/update-group-query.html)」を参照してください。

### `update-group`
<a name="resource-groups_UpdateGroup_cli_2_topic"></a>

次のコード例は、`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 Resource Groups ユーザーガイド*」の「[グループの更新](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[UpdateGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/update-group.html)」を参照してください。