

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Structure et syntaxe des événements du cycle de vie des Resource Groups
<a name="monitor-groups-syntax"></a>

**Topics**
+ [Structure du `detail` champ](monitor-groups-syntax-detail.md)
+ [Exemples de modèles d'événements EventBridge personnalisés pour différents cas d'utilisation](monitor-groups-example-eventbridge-filters.md)

Les événements du cycle de vie de Groupes de ressources AWS prennent la forme de chaînes d'objets [JSON](https://json.org) au format général suivant.

```
{
    "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": {
        ...
    }
}
```

Pour en savoir plus sur les champs communs à tous les EventBridge événements Amazon, consultez les [ EventBridge événements Amazon](https://docs.aws.amazon.com//eventbridge/latest/userguide/aws-events.html) dans le *guide de EventBridge l'utilisateur Amazon*. Les détails spécifiques à Resource Groups sont expliqués dans le tableau suivant.


| Nom de champ | Type | Description | 
| --- | --- | --- | 
| detail-type | String |  Pour Resource Groups, le `detail-type` champ est toujours l'une des valeurs suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/ARG/latest/userguide/monitor-groups-syntax.html)  | 
| source | String | Pour Resource Groups, cette valeur est toujours"aws.resource-groups". | 
| resources | Un tableau de noms de ressources Amazon (ARNs) |  Ce champ inclut toujours le [nom de ressource Amazon (ARN)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) du groupe avec la modification qui a déclenché cet événement. Ce champ peut également inclure ARNs les ressources ajoutées ou supprimées du groupe, le cas échéant.  | 
|  `detail`  | Chaîne d'objet JSON | Il s'agit de la charge utile de l'événement. Le contenu du detail champ varie en fonction de la valeur dudetail-type. [Consultez la section suivante pour plus d'informations.](monitor-groups-syntax-detail.md) | 

# Structure du `detail` champ
<a name="monitor-groups-syntax-detail"></a>

Le `detail` champ inclut tous les détails spécifiques au service Resource Groups concernant une modification spécifique. Le `detail` champ peut prendre l'une des deux formes suivantes : un changement d'état de groupe ou un changement d'adhésion, en fonction de la valeur du `detail-type` champ décrit dans la section précédente.

**Important**  
Les groupes de ressources participant à ces événements sont identifiés par une combinaison de l'ARN du groupe et d'un `"unique-id"` champ contenant un [UUID](https://wikipedia.org/wiki/Universally_unique_identifier). En incluant un UUID dans l'identité d'un groupe de ressources, vous pouvez faire la distinction entre un groupe supprimé et un autre groupe créé ultérieurement sous le même nom. Nous vous recommandons de traiter une concaténation de l'ARN et de l'identifiant unique comme clé pour le groupe de vos programmes qui interagit avec ces événements. 

## Modification de l'état du groupe
<a name="monitor-groups-syntax-detail-state-change"></a>

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

Cette `detail-type` valeur indique que l'état du groupe lui-même, y compris ses métadonnées, a changé. Cette modification se produit lorsqu'un groupe est créé, mis à jour ou supprimé, comme indiqué dans le `"change"` champ du`detail`. 

Les informations incluses dans la `details` section lorsque cela `detail-type` est spécifié incluent les champs décrits dans le tableau suivant.


| Nom de champ | Type | Description | 
| --- | --- | --- | 
| event-sequence | Double | Nombre croissant de façon monotone qui indique la séquence des événements pour un groupe spécifique. Le numéro est réinitialisé lorsque vous supprimez le groupe et que vous créez un autre groupe portant le même nom.  | 
| group | [`Group`](#monitor-groups-syntax-detail-group-object)Objet JSON | Objet de groupe associé à l'événement par son ARN, son nom et son identifiant unique. | 
| state-change | String | Type de changement d'état qui s'est produit. Il peut s'agir de l'une des valeurs suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/ARG/latest/userguide/monitor-groups-syntax-detail.html) | 
| old-state  | GroupStateObjet JSON | État du groupe avant la modification. L'objet inclut uniquement les valeurs des propriétés modifiées.  | 
|  `new-state`  | GroupStateObjet JSON | État du groupe après la modification. L'objet inclut uniquement les valeurs des propriétés modifiées. | 

L'objet `group` JSON contient les éléments décrits dans le tableau suivant. 


| Nom de champ | Type | Description | 
| --- | --- | --- | 
| arn | String | L'ARN du groupe. | 
| name | String | Le nom convivial du groupe. | 
| unique-id | GUIDE | Valeur GUID unique qui fait la distinction entre un groupe supprimé et un autre groupe créé ultérieurement avec le même nom et le même ARN. Utilisez la concaténation de l'ARN et de cette valeur comme clé unique pour le groupe lorsque vous consommez ces événements dans votre code.  | 

Les objets `GroupState` JSON contiennent les éléments décrits dans le tableau suivant.


| Nom de champ | Type | Description | 
| --- | --- | --- | 
| description | String | Description du groupe de ressources fournie par le client. | 
| resource-query | ResourceQueryObjet JSON | Une représentation JSON de la requête qui définit les membres du groupe. Ce champ n'est présent que pour les groupes basés sur une requête. La syntaxe de ce champ est définie par le [type de données de l'ResourceQuery API](https://docs.aws.amazon.com//organizations/latest/APIReference/API_ResourceQuery.html). Des exemples de cela sont inclus dans les exemples d'événements de [création](#monitor-groups-syntax-detail-state-change-create) et de [mise à jour](#monitor-groups-syntax-detail-state-change-update). | 
| group-configuration | ConfigurationObjet JSON | Représentation JSON des paramètres de configuration associés à un groupe lié à un service. Pour plus d'informations, consultez la section [Configurations de service pour les groupes de ressources](https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html) dans la référence Groupes de ressources AWS d'API. | 

Chacun des exemples de code suivants illustre le contenu du `detail` champ pour chaque `state-change` type.

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

`"state-change": "create"` 

L'événement indique qu'un nouveau groupe a été créé. L'événement contient toutes les propriétés de métadonnées du groupe définies lors de la création du groupe. Cet événement est généralement suivi d'un ou de plusieurs événements d'adhésion à un groupe, sauf si le groupe est vide. Les propriétés dont la valeur est nulle ne sont pas affichées dans le corps de l'événement. 

L'exemple d'événement suivant indique un groupe de ressources nouvellement créé nommé`my-service-group`. Dans cet exemple, le groupe utilise une requête basée sur des balises qui correspond uniquement aux instances Amazon Elastic Compute Cloud (Amazon EC2) dotées de cette balise. `"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\"}]
                }"
            }
        }
    }
}
```

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

`"state-change": "update"`

L'événement indique qu'un groupe existant a été modifié d'une manière ou d'une autre. L'événement ne contient que les propriétés modifiées par rapport à l'état précédent. Les propriétés qui n'ont pas été modifiées ne sont pas affichées dans le corps de l'événement.

L'exemple d'événement suivant indique que la requête basée sur des balises dans le groupe de ressources de l'exemple précédent a été modifiée pour inclure également les ressources du volume Amazon EC2 dans le groupe.

```
{
    "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\"}]
                }"
            }
        }
    }
}
```

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

`"state-change": "delete"`

L'événement indique qu'un groupe existant a été supprimé. Le champ de détail ne contient aucune métadonnée concernant le groupe autre que son identification. Le `event-sequence` champ est réinitialisé après cet événement car il s'agit, par définition, du dernier événement pour cet événement `arn` et`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"
        }
    }
}
```

## Modification de l'adhésion au groupe
<a name="monitor-groups-syntax-detail-membership-change"></a>

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

Cette `detail-type` valeur indique que l'appartenance au groupe a été modifiée par l'ajout ou la suppression d'une ressource au groupe. Lorsque cela `detail-type` est spécifié, le `resources` champ de niveau supérieur inclut l'ARN du groupe dont l'adhésion a été modifiée et celui ARNs de toutes les ressources ajoutées ou supprimées du groupe.

Les informations incluses dans la `details` section lorsque cela `detail-type` est spécifié incluent les champs décrits dans le tableau suivant.


| Nom de champ | Type | Description | 
| --- | --- | --- | 
| event-sequence | Double | Nombre croissant de façon monotone qui indique la séquence des événements pour un groupe spécifique. Le numéro est réinitialisé lorsque le groupe est supprimé et que son identifiant unique change.  | 
| group | GroupObjet JSON | Identifie l'objet de groupe associé à l'événement par son ARN, son nom et son identifiant unique. | 
|  `resources`  | Tableau d'objets ResourceChange JSON |  Un ensemble de ressources dont l'appartenance au groupe a changé. Cet `ResourceChange` objet contient les champs suivants pour chaque ressource : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/ARG/latest/userguide/monitor-groups-syntax-detail.html)  | 

L'exemple de code suivant illustre le contenu de l'événement pour un type de changement d'adhésion typique. Cet exemple montre qu'une ressource est ajoutée au groupe et qu'une ressource est supprimée du groupe.

```
{
    "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"
            }
        ]
    }
}
```

# Exemples de modèles d'événements EventBridge personnalisés pour différents cas d'utilisation
<a name="monitor-groups-example-eventbridge-filters"></a>

Les exemples de modèles d'événements EventBridge personnalisés suivants filtrent les événements générés par Resource Groups uniquement en fonction de ceux qui vous intéressent pour une règle et une cible d'événement spécifiques.

Dans les exemples de code suivants, si un groupe ou une ressource spécifique est nécessaire, *user input placeholder* remplacez-les par vos propres informations.

Tous les événements Resource Groups  

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

Événements relatifs à l'état du groupe ou à la modification des membres  
L'exemple de code suivant concerne tous les changements *d'état* du groupe.  

```
{
    "source": [ "aws.resource-groups" ],
    "detail-type": [ "ResourceGroups Group State Change " ]
}
```
L'exemple de code suivant concerne toutes les modifications apportées à l'*appartenance* à un groupe.  

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

Événements pour un groupe spécifique  

```
{
    "source": [ "aws.resource-groups" ],
    "detail": {
        "group": {
            "arn": [ "my-group-arn" ]
        }
    }
}
```
L'exemple précédent capture les modifications apportées au groupe spécifié. L'exemple suivant fait de même et capture également les modifications lorsque le groupe est une ressource membre d'un autre groupe.  

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

Événements relatifs à une ressource spécifique  
Vous ne pouvez filtrer que les événements de modification de l'appartenance à un groupe pour des ressources spécifiques aux membres.  

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

Événements relatifs à un type de ressource spécifique  
Vous pouvez utiliser le préfixe correspondant à ARNs pour faire correspondre les événements d'un type de ressource spécifique.  

```
{
    "source": [ "aws.resource-groups" ],
    "resources": [
        { "prefix": "arn:aws:ec2:us-east-1:123456789012:instance" } 
    ]
}
```
Vous pouvez également utiliser une correspondance exacte en utilisant des `resource-type` identifiants, ce qui peut permettre de faire correspondre de manière concise plusieurs types. Contrairement à l'exemple précédent, l'exemple suivant ne correspond qu'aux événements de changement d'appartenance à un groupe, car les événements de changement d'état du groupe n'incluent `resources` aucun champ dans leur `detail` champ.  

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

Tous les événements de suppression de ressources  

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

Tous les événements de suppression de ressources pour une ressource spécifique  

```
 {
    "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" ]
         }
    }
}
```
Vous ne pouvez pas utiliser le `resources` tableau de **niveau supérieur** utilisé dans le premier exemple de cette section pour ce type de filtrage d'événements. En effet, une ressource de l'`resources`élément de niveau supérieur peut être une ressource ajoutée à un groupe et l'événement correspondra toujours. En d'autres termes, l'exemple de code suivant peut renvoyer des événements inattendus. Utilisez plutôt la syntaxe indiquée dans l'exemple précédent.  

```
{
    "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" ]
         }
     }
}
```