

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Eventos del ciclo de vida de los grupos: supervisión de los grupos de recursos para detectar cambios
<a name="monitor-groups"></a>

Después de Grupos de recursos de AWS organizar los recursos en grupos, puede monitorizar esos grupos para detectar cambios que se le presenten como *eventos*. Puede recibir una notificación sobre un evento grupal como una señal para tomar algún tipo de acción. Por ejemplo, puede configurar una notificación que se envíe cada vez que cambie la pertenencia de un grupo. Puede utilizar un evento de la adición de un nuevo miembro del grupo para activar una función de Lambda que revise el cambio mediante programación para garantizar que los nuevos miembros del grupo cumplan con los requisitos de cumplimiento establecidos por su organización. Una función de Lambda de este tipo podría aplicar una corrección automática para cualquier miembro nuevo del grupo que no cumpla con esos requisitos. Un evento provocado por la eliminación de un miembro del grupo podría activar una función de Lambda que lleve a cabo cualquier limpieza necesaria, como la eliminación de los recursos vinculados. 

Al activar los eventos del ciclo de vida de los grupos para tus grupos de recursos, permites que Amazon capture los eventos relacionados con los cambios en tus grupos EventBridge y los ponga a disposición de todos los distintos servicios de destino EventBridge compatibles. A continuación, puede configurar esos servicios de destino para que realicen automáticamente las acciones que requiera su situación. Estos objetivos incluyen una variedad de AWS servicios como Amazon Simple Notification Service (Amazon SNS), Amazon Simple Queue Service (Amazon SQS) y. AWS Lambda Con servicios como Lambda, sus eventos pueden disparar respuestas *programáticas* que utilizan código para realizar cualquier acción que necesite. Para ver una lista de los AWS servicios con los que puedes segmentar EventBridge, consulta [Amazon EventBridge Targets](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-targets.html) en la *Guía del EventBridge usuario de Amazon*.

Al activar los eventos del ciclo de vida de un grupo, Grupos de recursos de AWS crea los siguientes elementos:
+ Un rol vinculado a un servicio AWS Identity and Access Management (IAM) que tiene permiso para supervisar tus recursos para detectar cualquier cambio en sus etiquetas y tus CloudFormation pilas para detectar cualquier cambio en los recursos que forman parte de una pila.
+ Una EventBridge regla gestionada por Resource Groups que captura los detalles de cualquier cambio en las etiquetas o pilas de los recursos. EventBridge usa esta regla para notificar dichos cambios a Resource Groups. A continuación, Resource Groups genera eventos de membresía EventBridge para enviarlos a los que se procesen las reglas personalizadas.

El rol vinculado al servicio *solo* lo puede asumir el servicio Resource Groups. Para obtener más información sobre el rol vinculado a un servicio que utiliza Resource Groups para esta característica, consulte [Uso de roles vinculados a servicios para Resource Groups](security_iam_service-linked-roles.md).

Cuando esta característica está activada, Resource Groups genera un evento al realizar cualquiera de los siguientes cambios en un grupo de recursos:
+ Crear un nuevo grupo de recursos.
+ Actualice la consulta que define la pertenencia al [grupo de recursos basado en consultas](gettingstarted-query.md).
+ Actualice la configuración de un [grupo de recursos vinculado a un servicio](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html). 
+ Actualice la descripción de un grupo de recursos.
+ Elimine un grupo de recursos.
+ Cambie la pertenencia a un grupo de recursos agregando o quitando un recurso del grupo. También se puede producir un cambio de membresía cuando cambian las etiquetas o cuando cambia una CloudFormation pila.

**importante**  
Para recibir y responder correctamente a los eventos grupales, debe realizar cambios en Resource Groups y EventBridge. Puede realizar los cambios en cualquier orden, pero no se publicará ningún evento de grupo en EventBridge los destinos hasta que no haya realizado cambios en ambos servicios.
Los cambios en el grupo de recursos no incluyen los cambios en ninguna de las etiquetas adjuntas al propio grupo de recursos. Para generar eventos en función de los cambios en las etiquetas de sus grupos, debe usar una EventBridge regla que utilice la `aws.tag` fuente, en lugar de la `aws.resource-groups` fuente. Para obtener más información, consulte [Etiquetar eventos de cambio en AWS los recursos](https://docs.aws.amazon.com//eventbridge/latest/userguide/event-types.html#tag-event-types) en la *Guía del EventBridge usuario de Amazon*.

**Topics**
+ [Activación de eventos del ciclo de vida del grupo en Resource Groups](monitor-groups-turn-on.md)
+ [Crear una EventBridge regla para capturar los eventos del ciclo de vida del grupo y publicar las notificaciones](monitor-groups-create-rule.md)
+ [Desactivar los eventos del ciclo de vida del grupo](monitor-groups-turn-off.md)
+ [Estructura y sintaxis de los eventos del ciclo de vida de Resource Groups](monitor-groups-syntax.md)

# Activación de eventos del ciclo de vida del grupo en Resource Groups
<a name="monitor-groups-turn-on"></a>

Para recibir notificaciones sobre los cambios en el ciclo de vida de sus grupos de recursos, puede activar los eventos del ciclo de vida de los grupos. A continuación, Resource Groups proporciona información sobre los cambios de sus grupos en Amazon EventBridge. En EventBridge, puede evaluar los cambios y actuar en consecuencia mediante [las reglas que defina en el EventBridge servicio](monitor-groups-create-rule.md).

**Permisos mínimos**  
Para activar los eventos del ciclo de vida del grupo en su cuenta Cuenta de AWS, debe iniciar sesión como director AWS Identity and Access Management (IAM) con los siguientes permisos:  
`resource-groups:UpdateAccountSettings`
`iam:CreateServiceLinkedRole`
`events:PutRule`
`events:PutTargets`
`events:DescribeRule`
`events:ListTargetsByRule`
`cloudformation:DescribeStacks`
`cloudformation:ListStackResources`
`tag:GetResources`

Al activar por primera vez los eventos del ciclo de vida de un grupo en Cuenta de AWS, Resource Groups crea un [rol vinculado a un servicio denominado](security_iam_service-linked-roles.md). `AWSServiceRoleForResourceGroups` Esta función gestionada tiene permiso para usar una EventBridge regla gestionada por Resource Groups. La regla supervisa las etiquetas adjuntas a sus recursos y las pilas de CloudFormation de su cuenta para detectar cualquier cambio. A continuación, Resource Groups publica esos cambios en el bus de eventos predeterminado de Amazon EventBridge. El servicio también crea una regla EventBridge administrada denominada`[Managed.ResourceGroups.TagChangeEvents](https://console.aws.amazon.com/events/home#/eventbus/default/rules/Managed.ResourceGroups.TagChangeEvents)`. Esta regla captura los detalles de los cambios en las etiquetas de sus recursos. Esto permite a Resource Groups generar eventos de membresía a los que EventBridge enviarlos para que los procesen sus reglas personalizadas. De este modo, EventBridge las reglas pueden responder a los eventos enviando notificaciones a los destinos configurados de las reglas.

Tras completar estos pasos, las reglas que buscan estos eventos deberían empezar a recibirlos en unos minutos.

Puede activar los eventos del ciclo de vida del grupo mediante el Consola de administración de AWS SDK o mediante un comando del SDK AWS CLI o uno de ellos. APIs 

**nota**  
No puedes activar los eventos del ciclo de vida de un grupo si la cuota de tus grupos de recursos es demasiado alta. Para obtener más información, consulta Cómo [ver las cuotas de servicio](https://docs.aws.amazon.com/servicequotas/latest/userguide/gs-request-quota). 

------
#### [ Consola de administración de AWS ]

**Para activar los eventos del ciclo de vida del grupo en la consola de Resource Groups**

1. Abra la página de **[configuración](https://console.aws.amazon.com/resource-groups/groups/settings)** en la consola de Resource Groups.

1. En la sección **Eventos del ciclo de vida del grupo**, seleccione el interruptor junto a **Las notificaciones están desactivadas**.

1. En el cuadro de diálogo de confirmación, elija **Activar notificaciones**.

   El interruptor de características muestra **Las notificaciones están activadas**.

Esto completa la primera parte del proceso. Después de activar las notificaciones de eventos, puedes [crear reglas en Amazon EventBridge](monitor-groups-create-rule.md) que capturen los eventos y los envíen a Specific Servicios de AWS para su procesamiento.

------
#### [ AWS CLI ]

**Para activar los eventos del ciclo de vida de un grupo mediante la AWS CLI o la AWS SDKs**  
En el siguiente ejemplo, se muestra cómo usarlo AWS CLI para activar los eventos del ciclo de vida de un grupo en Resource Groups. Introduzca el comando con el parámetro principal del servicio exactamente como se muestra. El resultado muestra tanto el estado actual como el estado deseado de la función.

```
$ aws resource-groups update-account-settings \
    --group-lifecycle-events-desired-status ACTIVE
{
    "AccountSettings": {
        "GroupLifecycleEventsDesiredStatus": "ACTIVE",
        "GroupLifecycleEventsStatus": "IN_PROGRESS"
    }
}
```

Puede confirmar que la función está activada ejecutando el siguiente comando de ejemplo. Si ambos campos de estado muestran el mismo valor, la operación está completa.

```
$ aws resource-groups get-account-settings
{
    "AccountSettings": {
        "GroupLifecycleEventsDesiredStatus": "ACTIVE",
        "GroupLifecycleEventsStatus": "ACTIVE"
    }
}
```

Para obtener más información, consulte los siguientes recursos:
+ AWS CLI [— grupos de [recursos de aws update-account-settings y grupos de recursos](https://docs.aws.amazon.com//cli/latest/reference/resource-groups/update-account-settings.html) de aws get-account-settings](https://docs.aws.amazon.com//cli/latest/reference/resource-groups/get-account-settings.html)
+ [UpdateAccountSettings](https://docs.aws.amazon.com//ARG/latest/APIReference/API_UpdateAccountSettings.html)API — y [GetAccountSettings](https://docs.aws.amazon.com//ARG/latest/APIReference/API_GetAccountSettings.html)

------

# Crear una EventBridge regla para capturar los eventos del ciclo de vida del grupo y publicar las notificaciones
<a name="monitor-groups-create-rule"></a>

Puede [activar los eventos del ciclo de vida de los grupos de recursos](monitor-groups-turn-on.md) Grupos de recursos de AWS para publicar eventos en Amazon EventBridge. A continuación, puede crear EventBridge reglas que respondan a esos eventos enviándolas a otros Servicios de AWS para su posterior procesamiento.

------
#### [ AWS CLI ]

El proceso para crear una regla EventBridge que capture los eventos y los envíe al servicio de destino deseado requiere dos comandos de CLI independientes:

1. [Cree la EventBridge regla para capturar los eventos que desee](#monitor-cli-create-rule)

1. [Adjunta a la EventBridge regla un objetivo que pueda procesar los eventos](#monitor-cli-attach-target)

Paso 1: Crea la EventBridge regla para capturar los eventos  
El siguiente comando de AWS CLI `[put-rule](https://docs.aws.amazon.com//cli/latest/reference/events/put-rule.html)` ejemplo crea una EventBridge regla que captura ***todos los*** cambios en los eventos del ciclo de vida de Resource Groups.  

```
$ aws events put-rule \
    --name "CatchAllResourceGroupEvents" \
    --event-pattern '{"source":["aws.resource-groups"]}'
{
    "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/CatchAllResourceGroupEvents"
}
```
El resultado incluye el Nombre de recurso de Amazon (ARN) de la nueva regla.  
Los valores de parámetros que incluyen cadenas entre comillas tienen reglas de formato diferentes según el sistema operativo y el shell que use. En los ejemplos de esta guía, mostramos los comandos que funcionan en un shell BASH de Linux. Para obtener instrucciones sobre cómo formatear cadenas con comillas incrustadas para otros sistemas operativos, como la línea de comandos de Windows, consulte [Uso de comillas dentro de cadenas](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-quoting-strings.html#cli-usage-parameters-quoting-strings-containing) en la *Guía del usuario de AWS Command Line Interface *.  
A medida que las cadenas de parámetros se vuelven más complejas, puede resultar más fácil y menos propenso a errores [aceptar el valor de un parámetro de un archivo de texto](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-file.html) en lugar de escribirlo directamente en la línea de comandos.
El siguiente patrón de eventos restringe los eventos solo a aquellos que están relacionados con el grupo especificado, identificado por su ARN. Este patrón de eventos es una cadena JSON compleja que resulta mucho menos legible cuando se comprime en una cadena JSON de una sola línea escapada correctamente. En su lugar, puede guardarlo en un archivo.  
Guarde la cadena JSON del patrón de eventos en un archivo. En el siguiente ejemplo de código, el archivo es `eventpattern.txt`.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail": {
        "group": {
            "arn": [ "my-resource-group-arn" ]
        }
    }
}
```
A continuación, ejecute el siguiente comando para crear la regla, recuperando el patrón de eventos personalizado del archivo.  

```
$ aws events put-rule \
    --name "CatchResourceGroupEventsForMyGroup" \
    --event-pattern file://eventpattern.txt
{
    "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/CatchResourceGroupEventsForMyGroup"
}
```
Para capturar otros tipos de eventos de Resource Groups, sustituya la cadena `--event-pattern` con filtros como los que se presentan en la sección [Ejemplos de patrones EventBridge de eventos personalizados para diferentes casos de uso](monitor-groups-example-eventbridge-filters.md).

Paso 2: Adjunte a la EventBridge regla un destino que pueda procesar los eventos   
Ahora que tiene una regla que captura los eventos que le interesan, puede adjuntar uno o más objetivos para procesar los eventos de algún tipo.  
El siguiente AWS CLI `[put-targets](https://docs.aws.amazon.com//cli/latest/reference/events/put-targets.html)` comando adjunta un tema de Amazon Simple Notification Service (Amazon SNS) denominado `my-sns-topic` a la regla que creó en el ejemplo anterior. Todos los suscriptores del tema reciben una notificación cuando se produce un cambio en el grupo especificado en la regla.  

```
$ aws events put-targets \
    --rule CatchResourceGroupEventsForMyGroup \
    --targets Id=1,Arn=arn:aws:sns:us-east-1:123456789012:my-sns-topic
{
    "FailedEntryCount": 0,
    "FailedEntries": []
}
```
En este punto, cualquier cambio de grupo que coincida con el patrón de eventos de la regla se envía automáticamente al destino o los destinos configurados. Si, como en el ejemplo anterior, el objetivo es un tema de Amazon SNS, todos los suscriptores del tema recibirán un mensaje con el evento tal y como se describe en [Estructura y sintaxis de los eventos del ciclo de vida de Resource Groups](monitor-groups-syntax.md). 

Para obtener más información, consulte los siguientes recursos:
+ AWS CLI [— [aws events put-rule y aws events put-targets](https://docs.aws.amazon.com//cli/latest/reference/events/put-rule.html)](https://docs.aws.amazon.com//cli/latest/reference/events/put-targets.html)
+ [PutRule](https://docs.aws.amazon.com//eventbridge/latest/APIReference/API_PutRule.html)API — y [PutTargets](https://docs.aws.amazon.com//eventbridge/latest/APIReference/API_PutTargets.html)

------

## Crear una regla para capturar solo tipos de eventos específicos del ciclo de vida de un grupo
<a name="monitor-groups-create-rule-custom"></a>

Puede crear una regla con un patrón de eventos personalizado que capture solo los eventos que le interesen. Para obtener información completa sobre cómo filtrar los eventos entrantes mediante un patrón de eventos personalizado, consulta [Amazon EventBridge events](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html) en la *Guía del EventBridge usuario de Amazon*.

Por ejemplo, supongamos que desea que una regla procese únicamente las notificaciones de Resource Groups que indican la creación de un nuevo grupo de recursos. Puede utilizar un patrón de eventos personalizado similar al siguiente ejemplo.

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group State Change" ],
    "detail": {
        "state-change": "create"
    }
}
```

Ese filtro captura solo los eventos que tienen esos valores exactos en los campos especificados. Para ver una lista completa de los campos de los que puede hacer coincidir, consulte [Estructura y sintaxis de los eventos del ciclo de vida de Resource Groups](monitor-groups-syntax.md).

# Desactivar los eventos del ciclo de vida del grupo
<a name="monitor-groups-turn-off"></a>

Puedes desactivar los eventos del ciclo de vida del grupo para Grupos de recursos de AWS evitar que se envíen eventos a Amazon EventBridge. Puede hacerlo mediante el SDK Consola de administración de AWS o mediante un comando del SDK AWS CLI APIs o de uno de ellos. 

**nota**  
Al desactivar los eventos del ciclo de vida del grupo, se elimina la EventBridge regla gestionada por Resource Groups que se utiliza para analizar las etiquetas y CloudFormation pilas de recursos en busca de cambios. Resource Groups ya no puede transferir esos cambios a EventBridge. Todas las reglas que haya definido EventBridge que busquen eventos de Resource Groups dejan de recibir eventos que procesar. Si tiene intención de volver a activar los eventos del ciclo de vida del grupo en el futuro, puede deshabilitar las reglas. Si no desea volver a utilizar esas reglas, puede eliminarlas. Para obtener más información, consulta Cómo [deshabilitar o eliminar una EventBridge regla](https://docs.aws.amazon.com//eventbridge/latest/userguide/delete-or-disable-rule.html) en la *Guía del EventBridge usuario de Amazon*.  
Al desactivar los eventos del ciclo de vida del grupo, ***no*** se elimina el rol vinculado al servicio. Puede [eliminar manualmente el rol vinculado a un servicio](security_iam_service-linked-roles.md#delete-service-linked-role) si desea utilizar IAM. Si más adelante necesita volver a activar los eventos del ciclo de vida del grupo y el rol vinculado al servicio no existe, Resource Groups lo vuelve a crear automáticamente.

**Permisos mínimos**  
Para desactivar los eventos del ciclo de vida grupal en tu Cuenta de AWS versión actual, debes iniciar sesión como director AWS Identity and Access Management (IAM) con los siguientes permisos:  
`resource-groups:UpdateAccountSettings`
`events:DeleteRule`
`events:RemoveTargets`
`events:DescribeRule`
`events:ListTargetsByRule`

------
#### [ Consola de administración de AWS ]

**Para desactivar las notificaciones de eventos del ciclo de vida del grupo a EventBridge**

1. Abra la página de **[Configuración](https://console.aws.amazon.com/resource-groups/groups/settings)** en la consola de Resource Groups.

1. En la sección **Eventos del ciclo de vida del grupo**, seleccione el interruptor junto a **Las notificaciones están desactivadas**.

1. En el cuadro de diálogo de confirmación, elija **Desactivar notificaciones**.

   Aparece el interruptor de característica: **Las notificaciones de eventos están desactivadas**.

En este punto, Resource Groups ya no envía los eventos al bus de eventos EventBridge predeterminado y las reglas que tenga ya no reciben eventos de notificación grupales para su procesamiento. Si lo desea, puede eliminar esas reglas para completar la limpieza.

------
#### [ AWS CLI ]

**Para desactivar las notificaciones de eventos del ciclo de vida de un grupo a EventBridge**  
En el siguiente ejemplo, se muestra cómo utilizar AWS CLI para desactivar los eventos del ciclo de vida de un grupo en Resource Groups. 

```
$ aws resource-groups update-account-settings \
    ----group-lifecycle-events-desired-status INACTIVE
{
    "AccountSettings": {
        "GroupLifecycleEventsDesiredStatus": "INACTIVE",
        "GroupLifecycleEventsStatus": "INACTIVE"
    }
}
```

------

Para obtener más información, consulte los siguientes recursos:
+ AWS CLI [— grupos de [recursos de aws update-account-settings y grupos de recursos](https://docs.aws.amazon.com//cli/latest/reference/resource-groups/update-account-settings.html) de aws get-account-settings](https://docs.aws.amazon.com//cli/latest/reference/resource-groups/get-account-settings.html)
+ [UpdateAccountSettings](https://docs.aws.amazon.com//ARG/latest/APIReference/API_UpdateAccountSettings.html)API — y [GetAccountSettings](https://docs.aws.amazon.com//ARG/latest/APIReference/API_GetAccountSettings.html)

# Estructura y sintaxis de los eventos del ciclo de vida de Resource Groups
<a name="monitor-groups-syntax"></a>

**Topics**
+ [Estructura del campo `detail`](monitor-groups-syntax-detail.md)
+ [Ejemplos de patrones EventBridge de eventos personalizados para diferentes casos de uso](monitor-groups-example-eventbridge-filters.md)

Los eventos del ciclo de vida Grupos de recursos de AWS adoptan la forma de cadenas de objetos [JSON](https://json.org) en el siguiente formato general.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group ... Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/MyGroupName"
    ],
    "detail": {
        ...
    }
}
```

Para obtener más información sobre los campos comunes a todos los EventBridge eventos de Amazon, consulta [Amazon EventBridge events](https://docs.aws.amazon.com//eventbridge/latest/userguide/aws-events.html) en la *Guía del EventBridge usuario de Amazon*. Los detalles específicos de Resource Groups se explican en la siguiente tabla.


| Nombre del campo | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| detail-type | Cadena |  En el caso de Resource Groups, el campo `detail-type` tiene siempre uno de los siguientes valores: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/ARG/latest/userguide/monitor-groups-syntax.html)  | 
| source | Cadena | En el caso de Resource Groups, este valor es siempre "aws.resource-groups". | 
| resources | Un conjunto de nombres de recursos de Amazon (ARNs) |  Este campo siempre incluye el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) del grupo con el cambio que desencadenó este evento. Este campo también puede incluir cualquier recurso agregado o eliminado del grupo, si corresponde. ARNs   | 
|  `detail`  | Cadena de objetos JSON | Esta es la carga del evento. El contenido del campo detail depende del valor del campo detail-type. [Para obtener más información, consulte la siguiente sección.](monitor-groups-syntax-detail.md) | 

# Estructura del campo `detail`
<a name="monitor-groups-syntax-detail"></a>

El campo `detail` incluye todos los detalles específicos del servicio Resource Groups sobre un cambio específico. El campo `detail` puede adoptar dos formas: un cambio de estado del grupo o un cambio de membresía, según el valor del campo `detail-type` descrito en la sección anterior.

**importante**  
Los grupos de recursos de estos eventos se identifican mediante una combinación del ARN del grupo y un campo `"unique-id"` que contiene un [UUID](https://wikipedia.org/wiki/Universally_unique_identifier). Al incluir un UUID como parte de la identidad de un grupo de recursos, puede distinguir entre un grupo que se elimina y un grupo diferente que se crea posteriormente con el mismo nombre. Le recomendamos que trate la concatenación del ARN y el identificador único como clave para el grupo de los programas que interactúan con estos eventos. 

## Cambio de estado del grupo
<a name="monitor-groups-syntax-detail-state-change"></a>

`"detail-type": "ResourceGroups Group State Change"`

Este valor `detail-type` indica que el estado del propio grupo ha cambiado, incluidos sus metadatos. Este cambio se produce cuando se crea, actualiza o elimina un grupo, tal como se indica en el campo `"change"` del `detail`. 

La información incluida en la sección `details` cuando se especifica este `detail-type` incluye los campos que se describen en la siguiente tabla.


| Nombre del campo | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| event-sequence | Double | Un número que aumenta de forma repetitiva y que especifica la secuencia de eventos de un grupo específico. El número se restablece al eliminar el grupo y crear otro grupo con el mismo nombre.  | 
| group | Objeto JSON de [`Group`](#monitor-groups-syntax-detail-group-object) | El objeto de grupo asociado al evento por su ARN, nombre e ID único. | 
| state-change | Cadena | El tipo de cambio de estado que se ha producido. Puede ser cualquiera de los siguientes valores:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/ARG/latest/userguide/monitor-groups-syntax-detail.html) | 
| old-state  | Objeto JSON de GroupState | El estado del grupo antes del cambio. El objeto incluye solo los valores de las propiedades que han cambiado.  | 
|  `new-state`  | Objeto JSON de GroupState | El estado del grupo después del cambio. El objeto incluye solo los valores de las propiedades que han cambiado. | 

El objeto JSON de `group` contiene los elementos que se describen en la siguiente tabla. 


| Nombre del campo | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| arn | Cadena | El ARN del grupo. | 
| name | Cadena | Es el nombre fácil de recordar del grupo. | 
| unique-id | GUID | Un valor GUID único que distingue entre un grupo que se eliminó y un grupo diferente que se creó posteriormente con el mismo nombre y ARN. Utilice la concatenación del ARN y este valor como clave única para el grupo cuando consuma estos eventos en su código.  | 

Los objetos JSON de `GroupState` contienen los elementos que se describen en la siguiente tabla.


| Nombre del campo | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| description | Cadena | Descripción del grupo de recursos proporcionados por el cliente. | 
| resource-query | Objeto JSON de ResourceQuery | Una representación en JSON de la consulta que define a los miembros del grupo. Este campo solo está presente para los grupos basados en una consulta. La sintaxis de este campo viene definida por el [tipo de datos de la ResourceQuery API](https://docs.aws.amazon.com//organizations/latest/APIReference/API_ResourceQuery.html). Se incluyen ejemplos de esto en los ejemplos de eventos de [Create](#monitor-groups-syntax-detail-state-change-create) y [Update](#monitor-groups-syntax-detail-state-change-update). | 
| group-configuration | Objeto JSON de Configuration | Una representación en JSON de los parámetros de configuración asociados a un grupo vinculado a un servicio. Para obtener más información, consulte [Configuraciones de servicio para grupos de recursos](https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html) en la referencia de la API de Grupos de recursos de AWS . | 

Cada uno de los siguientes ejemplos de código ilustra el contenido del campo `detail` para cada tipo de `state-change`.

### Create
<a name="monitor-groups-syntax-detail-state-change-create"></a>

`"state-change": "create"` 

El evento indica que se ha creado un grupo nuevo. El evento incluye todas las propiedades de metadatos del grupo establecidas durante la creación del grupo. Este evento suele ir seguido de uno o más eventos de pertenencia a un grupo, a menos que el grupo esté vacío. Las propiedades que tienen un valor nulo no se muestran en el cuerpo del evento. 

El siguiente evento de ejemplo indica un grupo de recursos recién creado denominado `my-service-group`. En este ejemplo, el grupo usa una consulta basada en etiquetas que solo coincide con las instancias de Amazon Elastic Compute Cloud (Amazon EC2) que tienen la etiqueta `"project"="my-service"`.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group State Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group"
    ],
    "detail": {
        "event-sequence": 1.0,
        "state-change": "create", 
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group",
            "name": "my-service-group",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        },        
        "new-state": {
            "resource-query": {
                "type": "TAG_FILTERS_1_0",
                "query": "{
                    \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"],
                    \"TagFilters\": [{\"Key\":\"project\", \"Values\":[\"my-service\"}]
                }"
            }
        }
    }
}
```

### Update
<a name="monitor-groups-syntax-detail-state-change-update"></a>

`"state-change": "update"`

El evento indica que un grupo existente se modificó de alguna manera. El evento incluye solo las propiedades que cambiaron con respecto al estado anterior. Las propiedades que tienen un valor nulo no se muestran en el cuerpo del evento.

El siguiente evento de ejemplo indica que la consulta basada en etiquetas del grupo de recursos del ejemplo anterior se modificó para incluir también los recursos de volumen de Amazon EC2 en el grupo.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group State Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group"
    ],
    "detail": {
        "event-sequence": 3.0,
        "state-change": "update",
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service-group",
            "name": "my-service",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        },        
        "new-state": {
            "resource-query": {
                "type": "TAG_FILTERS_1_0",
                "query": "{
                    \"ResourceTypeFilters\": [\"AWS::EC2::Instance\", \"AWS::EC2::Volume\"],
                    \"TagFilters\": [{\"Key\":\"project\", \"Values\":[\"my-service\"}]
                }"
            }
        },
        "old-state": {
            "resource-query": {
                "type": "TAG_FILTERS_1_0",
                "query": "{
                    \"ResourceTypeFilters\": [\"AWS::EC2::Instance\"],
                    \"TagFilters\": [{\"Key\":\"Project\", \"Values\":[\"my-service\"}]
                }"
            }
        }
    }
}
```

### Delete
<a name="monitor-groups-syntax-detail-state-change-delete"></a>

`"state-change": "delete"`

El evento indica que se ha eliminado un grupo existente. El campo de detalle no incluye metadatos sobre el grupo aparte de su identificación. El campo `event-sequence` se restablece después de este evento, ya que, por definición, es el último evento de este `arn` y `unique-id`.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group State Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service"
    ],
    "detail": {
        "event-sequence": 4.0,   
        "state-change": "delete",
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service",
            "name": "my-service",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        }
    }
}
```

## Cambio de pertenencia a los grupos
<a name="monitor-groups-syntax-detail-membership-change"></a>

`"detail-type": "ResourceGroups Group Membership Change"`

Este valor `detail-type` indica que la pertenencia al grupo se modificó debido a la adición o eliminación de un recurso del grupo. Cuando `detail-type` se especifica esto, el `resources` campo de nivel superior incluye el ARN del grupo cuya membresía se ha modificado y ARNs el de cualquier recurso que se haya agregado o eliminado del grupo.

La información incluida en la sección `details` cuando se especifica este `detail-type` incluye los campos que se describen en la siguiente tabla.


| Nombre del campo | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| event-sequence | Double | Un número que aumenta de forma repetitiva y que indica la secuencia de eventos de un grupo específico. El número se restablece cuando se elimina el grupo y cambia su identificador único.  | 
| group | Objeto JSON de Group | Identifica el objeto de grupo asociado al evento por su ARN, nombre e ID único. | 
|  `resources`  | Matriz de objetos JSON ResourceChange |  Conjunto de recursos cuya pertenencia a un grupo ha cambiado. Este objeto `ResourceChange` incluye los siguientes campos para cada recurso: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/ARG/latest/userguide/monitor-groups-syntax-detail.html)  | 

El siguiente ejemplo de código ilustra el contenido del evento para un tipo de cambio de pertenencia típico. En este ejemplo, se muestra un recurso que se agrega al grupo y otro que se quita del grupo.

```
{
    "version": "0",
    "id": "08f00e24-2e30-ec44-b824-8acddf1ac868",
    "detail-type": "ResourceGroups Group Membership Change",
    "source": "aws.resource-groups",
    "account": "123456789012",
    "time": "2020-09-29T09:59:01Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:resource-groups:us-east-1:123456789012:group/my-service",
        "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111",
        "arn:aws:ec2:us-east-1:123456789012:instance/i-efef2222"
    ],
    "detail": {
        "event-sequence": 2.0,
        "group": {
            "arn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-service",
            "name": "my-service",
            "unique-id": "3dd07ab7-3228-4410-8cdc-6c4a10fcceea"
        },
        "resources": [
            {
                "membership-change": "add",
                "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111",
                "resource-type": "AWS::EC2::Instance"
            },
            {
                "membership-change": "remove",
                "arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-efef2222",
                "resource-type": "AWS::EC2::Instance"
            }
        ]
    }
}
```

# Ejemplos de patrones EventBridge de eventos personalizados para diferentes casos de uso
<a name="monitor-groups-example-eventbridge-filters"></a>

En el siguiente ejemplo, los patrones de eventos EventBridge personalizados filtran los eventos generados por Resource Groups y los filtran solo a aquellos que le interesen para una regla y un objetivo de eventos específicos.

En los siguientes ejemplos de código, si se necesita un grupo o recurso específico, sustituya cada uno *user input placeholder* por su propia información.

Todos los eventos de Resource Groups  

```
{
    "source": [ "aws.resource-groups" ]
}
```

Eventos de cambio de estado o membresía del grupo  
El siguiente ejemplo de código es para todos los cambios de *estado* del grupo.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group State Change " ]
}
```
El siguiente ejemplo de código es para todos los cambios de *pertenencia* del grupo.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ]
}
```

Eventos para un grupo específico  

```
{
    "source": [ "aws.resource-groups" ],
    "detail": {
        "group": {
            "arn": [ "my-group-arn" ]
        }
    }
}
```
El ejemplo anterior captura los cambios en el grupo especificado. El siguiente ejemplo hace lo mismo y también captura los cambios cuando el grupo es un recurso miembro de otro grupo.  

```
{
    "source": [ "aws.resource-groups" ],
    "resources": [ "my-group-arn" ]
}
```

Eventos para un recurso específico  
Solo puede filtrar los eventos de cambio de pertenencia a un grupo para recursos de miembros específicos.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change " ],
    "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ]
}
```

Eventos para un tipo de recurso específico  
Puede utilizar el prefijo que coincida con ARNs para hacer coincidir los eventos de un tipo de recurso específico.  

```
{
    "source": [ "aws.resource-groups" ],
    "resources": [
        { "prefix": "arn:aws:ec2:us-east-1:123456789012:instance" } 
    ]
}
```
Como alternativa, puede utilizar la coincidencia exacta mediante identificadores `resource-type`, que podrían coincidir en más de un tipo de forma concisa. A diferencia del ejemplo anterior, el ejemplo siguiente solo coincide con los eventos de cambio de pertenencia al grupo porque los eventos de cambio de estado del grupo no incluyen un campo `resources` en su campo `detail`.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail": {
        "resources": {
                "resource-type": [ "AWS::EC2::Instance", "AWS::EC2::Volume" ]
         }
    }
}
```

Todos los eventos de eliminación de recursos  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ],
    "detail": {
        "resources": {
                "membership-change": [ "remove" ]
        }
    }
}
```

Todos los eventos de eliminación de recursos de un recurso específico  

```
 {
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ],
    "detail": {
        "resources": {
                "membership-change": [ "remove" ],
                "arn": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ]
         }
    }
}
```
No puede usar la matriz `resources` **de nivel superior** que se usó en el primer ejemplo de esta sección para este tipo de filtrado de eventos. Esto se debe a que un recurso del elemento `resources` de nivel superior podría ser un recurso que se está agregando a un grupo y el evento seguiría coincidiendo. En otras palabras, el siguiente ejemplo de código puede devolver eventos inesperados. En su lugar, utilice la sintaxis que se muestra en el ejemplo anterior.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group Membership Change" ],
    "resources": [ "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f" ],
    "detail": {
        "resources": {
                "membership-change": [ "remove" ]
         }
     }
}
```