

# Ejemplos de Resource Groups que utilizan la AWS CLI
<a name="cli_resource-groups_code_examples"></a>

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando la AWS Command Line Interface con Resource Groups.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

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

En el siguiente ejemplo de código, se muestra cómo utilizar `create-group`.

**AWS CLI**  
**Ejemplo 1: crear un grupo de recursos basado en etiquetas**  
En el siguiente ejemplo de `create-group`, se crea un grupo de recursos basado en etiquetas de instancias de Amazon EC2 de la región actual. Se basa en una consulta de recursos que están etiquetados con la clave `Name` y el valor `WebServers`. El nombre del grupo es `tbq-WebServer`. La consulta se encuentra en un archivo JSON independiente que se pasa al comando.  

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

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

```
{
    "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\"]}]}"
    }
}
```
**Ejemplo 2: crear un grupo de recursos basado en la pila de CloudFormation**  
En el siguiente ejemplo de `create-group`, se crea un grupo de recursos basado en una pila de AWS CloudFormation denominado `sampleCFNstackgroup`. La consulta incluye todos los recursos de la pila de CloudFormation especificada que son compatibles con AWS Resource Groups.  

```
aws resource-groups create-group \
    --name cbq-CFNstackgroup \
    --resource-query file://query.json
```
Contenido de `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\"}"
}
```
Salida:  

```
{
    "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\"}"}'
    }
}
```
Para obtener más información, consulte [Create Groups](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html) en la *Guía del usuario de AWS Resource Groups*.  
+  Para obtener información sobre la API, consulte [CreateGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/create-group.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-group`.

**AWS CLI**  
**Para actualizar la descripción de un grupo de recursos**  
En el siguiente ejemplo de `delete-group`, se actualiza el grupo de recurso especificado.  

```
aws resource-groups delete-group \
    --group-name tbq-WebServer
```
Salida:  

```
{
    "Group": {
        "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer",
        "Name": "tbq-WebServer"
    }
}
```
Para obtener más información, consulte [Delete Groups](https://docs.aws.amazon.com/ARG/latest/userguide/deleting-resource-groups.html) en la *Guía del usuario de AWS Resource Groups*.  
+  Para obtener información sobre la API, consulte [DeleteGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/delete-group.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-group-query`.

**AWS CLI**  
**Para asociar la consulta a un grupo de recursos**  
En el siguiente ejemplo de `get-group-query`, se muestra la consulta asociada al grupo de recursos especificado.  

```
aws resource-groups get-group-query \
    --group-name tbq-WebServer
```
Salida:  

```
{
    "GroupQuery": {
        "GroupName": "tbq-WebServer",
        "ResourceQuery": {
            "Type": "TAG_FILTERS_1_0",
            "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"
        }
    }
}
```
+  Para obtener información sobre la API, consulte [GetGroupQuery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-group-query.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-group`.

**AWS CLI**  
**Para obtener información sobre un grupo de recursos**  
En el siguiente ejemplo de `get-group`, se muestran los detalles sobre el grupo de recursos especificado. Para adjuntar la consulta al grupo, utilice `get-group-query`.  

```
aws resource-groups get-group \
    --group-name tbq-WebServer
```
Salida:  

```
{
    "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."
    }
}
```
+  Para obtener información sobre la API, consulte [GetGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-group.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `get-tags`.

**AWS CLI**  
**Para recuperar las etiquetas adjuntas a un grupo de recursos**  
En el siguiente ejemplo de `get-tags`, se muestran los pares de claves y valores de etiquetas asociados al grupo de recursos especificado (el grupo en sí, no sus miembros).  

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

```
{
    "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer",
    "Tags": {
        "QueryType": "tags",
        "QueryResources": "ec2-instances"
    }
}
```
+  Para obtener detalles sobre la API, consulte [GetTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-tags.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-group-resources`.

**AWS CLI**  
**Para enumerar todos los recursos de un grupo de recursos**  
Ejemplo 1: en el siguiente ejemplo de `list-resource-groups`, se enumeran todos los recursos que forman parte del grupo de recursos especificado.  

```
aws resource-groups list-group-resources \
    --group-name tbq-WebServer
```
Salida:  

```
{
    "ResourceIdentifiers": [
        {
            "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab",
            "ResourceType": "AWS::EC2::Instance"
        }
    ]
}
```
Ejemplo 2: en el siguiente ejemplo se enumeran todos los recursos del grupo que también tienen un resource-type AWS::EC2::Instance.  
aws resource-groups list-group-resources --group-name tbq-WebServer --filters Name=resource-type,Values=AWS::EC2::Instance  
+  Para obtener información sobre la API, consulte [ListGroupResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-group-resources.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-groups`.

**AWS CLI**  
**Para enumerar los grupos de recursos disponibles**  
En el siguiente ejemplo de `list-groups`, se muestra una lista de todos los grupos de recursos.  

```
aws resource-groups list-groups
```
Salida:  

```
{
    "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"
        }
    ]
}
```
+  Para obtener información sobre la API, consulte [ListGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-groups.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `list-resource-groups`.

**AWS CLI**  
**Para enumerar todos los recursos de un grupo de recursos**  
En el siguiente ejemplo de `list-resource-groups`, se enumeran todos los recursos que forman parte del grupo de recursos especificado.  

```
aws resource-groups list-group-resources \
    --group-name tbq-WebServer
```
Salida:  

```
{
    "ResourceIdentifiers": [
        {
            "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab",
            "ResourceType": "AWS::EC2::Instance"
        }
    ]
}
```
+  Para obtener información sobre la API, consulte [ListResourceGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-resource-groups.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `put-group-configuration`.

**AWS CLI**  
**Para asociar una configuración de servicio a un grupo de recursos**  
Ejemplo 1: el siguiente ejemplo de `put-group-configuration` especifica que el grupo de recursos debe contener únicamente reservas de capacidad de Amazon EC2 para las instancias de las familias `C5` o `M5`.  

```
aws resource-groups put-group-configuration \
    --group MyTestGroup \
    --configuration file://config.json
```
Contenido de `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" ]
            }
        ]
    }
]
```
Este comando no genera ninguna salida si se realiza correctamente.  
Para obtener más información, consulte [Service configurations for resource groups](https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html) en la *Guía de referencia de la API de Resource Groups*.  
+  Para obtener información sobre la API, consulte [PutGroupConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/put-group-configuration.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `search-resources`.

**AWS CLI**  
**Para encontrar recursos que coincidan con una consulta**  
El siguiente ejemplo de `search-resources` recupera una lista de todos los recursos AWS que coinciden con la consulta especificada.  

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

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

```
{
    "ResourceIdentifiers": [
        {
            "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef",
            "ResourceType": "AWS::EC2::Instance"
        }
    ]
}
```
+  Para obtener información sobre la API, consulte [SearchResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/search-resources.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `tag`.

**AWS CLI**  
**Para asociar una etiqueta a un grupo de recursos**  
En el siguiente ejemplo de `tag`, se asocian los pares de claves y valores de etiquetas especificados al grupo de recursos especificado (al grupo en sí, no a sus miembros).  

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

```
{
    "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer",
    "Tags": {
        "QueryType": "tags",
        "QueryResources": "ec2-instances"
    }
}
```
Para obtener más información, consulte el [Manage tags](https://docs.aws.amazon.com/ARG/latest/userguide/tagging-resources.html) en la *Guía del usuario de AWS Resource Groups*.  
+  Para obtener información sobre la API, consulte [Tag](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/tag.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `untag`.

**AWS CLI**  
**Cómo eliminar etiquetas de un grupo de recursos**  
El siguiente ejemplo de `untags` elimina cualquier etiqueta con la clave especificada del propio grupo de recursos, no de sus miembros.  

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

```
{
    "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer",
    "Keys": [
        "QueryType"
    ]
}
```
Para obtener más información, consulte el [Manage tags](https://docs.aws.amazon.com/ARG/latest/userguide/tagging-resources.html) en la *Guía del usuario de AWS Resource Groups*.  
+  Para obtener información sobre la API, consulte [Untag](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/untag.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-group-query`.

**AWS CLI**  
**Ejemplo 1: actualizar la consulta de un grupo de recursos basado en etiquetas**  
En el siguiente ejemplo de `update-group-query`, se actualiza la consulta asociada al grupo de recursos basado en etiquetas especificado.  

```
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\"]}]}"}'
```
Salida:  

```
{
    "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\"]}]}"
    }
}
```
Para obtener más información, consulte [Update Groups](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html) en la *Guía del usuario de AWS Resource Groups*.  
**Ejemplo 2: actualizar la consulta para un grupo de recursos basado en la pila de CloudFormation**  
En el siguiente ejemplo de `update-group-query`, se actualiza la consulta asociada al grupo de recursos basado en la pila de AWS CloudFormation especificada.  

```
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\"}"}'
```
Salida:  

```
{
    "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\"}"
    }
}
```
Para obtener más información, consulte [Update Groups](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html) en la *Guía del usuario de AWS Resource Groups*.  
+  Para obtener información sobre la API, consulte [UpdateGroupQuery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/update-group-query.html) en la *Referencia de comandos de la AWS CLI*. 

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

En el siguiente ejemplo de código, se muestra cómo utilizar `update-group`.

**AWS CLI**  
**Para actualizar la descripción de un grupo de recursos**  
En el siguiente ejemplo de `update-group`, se actualiza la descripción del grupo de recursos especificado.  

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

```
{
    "Group": {
        "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer",
        "Name": "tbq-WebServer"
        "Description": "Resource group for all web server resources."
    }
}
```
Para obtener más información, consulte [Update Groups](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html) en la *Guía del usuario de AWS Resource Groups*.  
+  Para obtener información sobre la API, consulte [UpdateGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/update-group.html) en la *Referencia de comandos de la AWS CLI*. 