Exemples de Resource Groups utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

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.

Exemples de Resource Groups utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide de AWS Command Line Interface with Resource Groups.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercreate-group.

AWS CLI

Exemple 1 : pour créer un groupe de ressources basé sur des balises

L'create-groupexemple suivant crée un groupe de ressources basé sur des balises d' EC2 instances Amazon dans la région actuelle. Il est basé sur une requête pour les ressources balisées avec la clé Name et la valeur WebServers. Le nom du groupe est tbq-WebServer. La requête se trouve dans un fichier JSON distinct qui est transmis à la commande.

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

Contenu de query.json :

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

Sortie :

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

Exemple 2 : pour créer un groupe de ressources CloudFormation basé sur une pile

L'create-groupexemple suivant crée un groupe de ressources AWS CloudFormation basé sur une pile nommé. sampleCFNstackgroup La requête inclut toutes les ressources de la CloudFormation pile spécifiée qui sont prises en charge par AWS Resource Groups.

aws resource-groups create-group \ --name cbq-CFNstackgroup \ --resource-query file://query.json

Contenu 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\"}" }

Sortie :

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

Pour plus d’informations, consultez Create Groups dans le Guide de l’utilisateur AWS  Resource Groups.

  • Pour plus de détails sur l'API, reportez-vous CreateGroupà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-group.

AWS CLI

Pour mettre à jour la description d’un groupe de ressources

L’exemple delete-group suivant met à jour le groupe de ressources spécifié.

aws resource-groups delete-group \ --group-name tbq-WebServer

Sortie :

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer", "Name": "tbq-WebServer" } }

Pour plus d’informations, consultez Suppression des groupes dans le Guide de l’utilisateur AWS  Resource Groups.

  • Pour plus de détails sur l'API, reportez-vous DeleteGroupà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-group-query.

AWS CLI

Pour attacher la requête à un groupe de ressources

L’exemple get-group-query suivant montre une requête attachée au groupe de ressources spécifié.

aws resource-groups get-group-query \ --group-name tbq-WebServer

Sortie :

{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
  • Pour plus de détails sur l'API, reportez-vous GetGroupQueryà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-group.

AWS CLI

Pour obtenir les informations sur un groupe de ressources

L’exemple get-group suivant affiche les détails sur le groupe de ressources spécifié. Pour attacher la requête au groupe, utilisez get-group-query.

aws resource-groups get-group \ --group-name tbq-WebServer

Sortie :

{ "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." } }
  • Pour plus de détails sur l'API, reportez-vous GetGroupà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-tags.

AWS CLI

Pour récupérer les balises attachées à un groupe de ressources

L’exemple get-tags suivant affiche les paires clé/valeur de balise attachées au groupe de ressources spécifié (le groupe lui-même, pas ses membres).

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

Sortie :

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
  • Pour plus de détails sur l'API, reportez-vous GetTagsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-group-resources.

AWS CLI

Pour créer une liste de toutes les ressources d’un groupe de ressources

Exemple 1 : l’exemple list-resource-groups suivant répertorie toutes les ressources qui font partie du groupe de ressources spécifié.

aws resource-groups list-group-resources \ --group-name tbq-WebServer

Sortie :

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }

Exemple 2 : L'exemple suivant répertorie toutes les ressources du groupe qui ont également un « type de ressource » du type « AWS : : : EC2 :Instance » . :

aws resource-groups list-group-resources --group-name tbq- WebServer --filters Name=Type de ressource, Valeurs= : : :Instance AWS EC2

  • Pour plus de détails sur l'API, reportez-vous ListGroupResourcesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-groups.

AWS CLI

Pour créer une liste des groupes de ressources disponibles

L’exemple list-groups suivant affiche une liste de tous les groupes de ressources.

aws resource-groups list-groups

Sortie :

{ "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" } ] }
  • Pour plus de détails sur l'API, reportez-vous ListGroupsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-resource-groups.

AWS CLI

Pour créer une liste de toutes les ressources d’un groupe de ressources

L’exemple list-resource-groups suivant crée une liste de toutes les ressources qui font partie du groupe de ressources spécifié.

aws resource-groups list-group-resources \ --group-name tbq-WebServer

Sortie :

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }
  • Pour plus de détails sur l'API, reportez-vous ListResourceGroupsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-group-configuration.

AWS CLI

Pour attacher une configuration de service à un groupe de ressources

Exemple 1 : L'put-group-configurationexemple suivant indique que le groupe de ressources doit contenir uniquement les réservations de EC2 capacité Amazon pour les instances appartenant à la M5 famille C5 or.

aws resource-groups put-group-configuration \ --group MyTestGroup \ --configuration file://config.json

Contenu 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" ] } ] } ]

Cette commande ne génère pas de sortie si elle réussit.

Pour plus d’informations, consultez Service configurations for resource groups dans le Guide de référence des API de groupes de ressources.

  • Pour plus de détails sur l'API, reportez-vous PutGroupConfigurationà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersearch-resources.

AWS CLI

Pour rechercher des ressources correspondant à une requête

L'search-resourcesexemple suivant extrait une liste de toutes les AWS ressources qui correspondent à la requête spécifiée.

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

Contenu de query.json :

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

Sortie :

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
  • Pour plus de détails sur l'API, reportez-vous SearchResourcesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertag.

AWS CLI

Pour attacher une balise à un groupe de ressources

L’exemple tag suivant attache les paires clé/valeur de balise spécifiées au groupe de ressources spécifié (le groupe lui-même, pas ses membres).

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

Sortie :

{ "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }

Pour plus d’informations, consultez Gestion des balises dans le Guide de l’utilisateur AWS  Resource Groups.

  • Pour plus de détails sur l’API, consultez Tag dans la Référence des commandes de l’AWS CLI .

L'exemple de code suivant montre comment utiliseruntag.

AWS CLI

Pour supprimer des balises d’un groupe de ressources

L’exemple untags suivant supprime toute balise avec la clé spécifiée du groupe de ressources lui-même et non de ses membres.

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

Sortie :

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Keys": [ "QueryType" ] }

Pour plus d’informations, consultez Gestion des balises dans le Guide de l’utilisateur AWS  Resource Groups.

  • Pour plus de détails sur l’API, consultez Untag dans la Référence des commandes de l’AWS CLI .

L'exemple de code suivant montre comment utiliserupdate-group-query.

AWS CLI

Exemple 1 : pour mettre à jour la requête pour un groupe de ressources basé sur des balises

L’exemple update-group-query suivant met à jour la requête attachée au groupe de ressources basé sur des balises spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Mettre à jour les groupes dans le Guide de l’utilisateur AWS  Resource Groups.

Exemple 2 : pour mettre à jour la requête pour un groupe de ressources CloudFormation basé sur une pile

L'update-group-queryexemple suivant met à jour la requête attachée au groupe de ressources AWS CloudFormation basé sur une pile spécifié.

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

Sortie :

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

Pour plus d’informations, consultez Mettre à jour les groupes dans le Guide de l’utilisateur AWS  Resource Groups.

  • Pour plus de détails sur l'API, reportez-vous UpdateGroupQueryà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-group.

AWS CLI

Pour mettre à jour la description d’un groupe de ressources

L’exemple update-group suivant met à jour la description du groupe de ressources spécifié.

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

Sortie :

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" "Description": "Resource group for all web server resources." } }

Pour plus d’informations, consultez Mettre à jour les groupes dans le Guide de l’utilisateur AWS  Resource Groups.

  • Pour plus de détails sur l'API, reportez-vous UpdateGroupà la section Référence des AWS CLI commandes.