Exemples d’utilisation de l’AWS CLI avec des groupes de ressources
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec des groupes de ressources.
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 utiliser create-group.
- AWS CLI
-
Exemple 1 : pour créer un groupe de ressources basé sur des balises
L’exemple
create-groupsuivant montre comment créer un groupe de ressources basé sur des balises d’instances Amazon EC2 dans la région actuelle. Il est basé sur une requête pour les ressources balisées avec la cléNameet la valeurWebServers. Le nom du groupe esttbq-WebServer. La requête se trouve dans un fichier JSON distinct qui est transmis à la commande.aws resource-groups create-group \ --nametbq-WebServer\ --resource-queryfile://query.jsonContenu 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 basé sur une pile CloudFormation
L’exemple
create-groupcrée un groupe de ressources basé sur une pile AWS CloudFormation nommésampleCFNstackgroup. La requête inclut toutes les ressources de la pile CloudFormation spécifiée qui sont prises en charge par AWS Resource Groups.aws resource-groups create-group \ --namecbq-CFNstackgroup\ --resource-queryfile://query.jsonContenu 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 Création de groupes dans le Guide de l’utilisateur AWS Resource Groups.
-
Pour plus de détails sur l’API, consultez CreateGroup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-group.
- AWS CLI
-
Pour mettre à jour la description d’un groupe de ressources
L’exemple
delete-groupsuivant met à jour le groupe de ressources spécifié.aws resource-groups delete-group \ --group-nametbq-WebServerSortie :
{ "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, consultez DeleteGroup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-group-query.
- AWS CLI
-
Pour attacher la requête à un groupe de ressources
L’exemple
get-group-querysuivant montre une requête attachée au groupe de ressources spécifié.aws resource-groups get-group-query \ --group-nametbq-WebServerSortie :
{ "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, consultez GetGroupQuery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-group.
- AWS CLI
-
Pour obtenir les informations sur un groupe de ressources
L’exemple
get-groupsuivant affiche les détails sur le groupe de ressources spécifié. Pour attacher la requête au groupe, utilisezget-group-query.aws resource-groups get-group \ --group-nametbq-WebServerSortie :
{ "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, consultez GetGroup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-tags.
- AWS CLI
-
Pour récupérer les balises attachées à un groupe de ressources
L’exemple
get-tagssuivant 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 \ --arnarn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServerSortie :
{ "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, consultez GetTags
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-group-resources.
- AWS CLI
-
Pour créer une liste de toutes les ressources d’un groupe de ressources
Exemple 1 : l’exemple
list-resource-groupssuivant répertorie toutes les ressources qui font partie du groupe de ressources spécifié.aws resource-groups list-group-resources \ --group-nametbq-WebServerSortie :
{ "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 « resource-type » de « AWS::EC2::Instance » :
aws resource-groups list-group-resources --group-name tbq-WebServer --filters Name=resource-type,Values=AWS::EC2::Instance
-
Pour plus de détails sur l’API, consultez ListGroupResources
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-groups.
- AWS CLI
-
Pour créer une liste des groupes de ressources disponibles
L’exemple
list-groupssuivant affiche une liste de tous les groupes de ressources.aws resource-groups list-groupsSortie :
{ "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, consultez ListGroups
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-resource-groups.
- AWS CLI
-
Pour créer une liste de toutes les ressources d’un groupe de ressources
L’exemple
list-resource-groupssuivant crée une liste de toutes les ressources qui font partie du groupe de ressources spécifié.aws resource-groups list-group-resources \ --group-nametbq-WebServerSortie :
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }-
Pour plus de détails sur l’API, consultez ListResourceGroups
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser put-group-configuration.
- AWS CLI
-
Pour attacher une configuration de service à un groupe de ressources
Exemple 1 : l’exemple
put-group-configurationsuivant indique que le groupe de ressources doit contenir uniquement les réserves de capacité Amazon EC2 pour les instances des famillesC5ouM5.aws resource-groups put-group-configuration \ --groupMyTestGroup\ --configurationfile://config.jsonContenu 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, consultez PutGroupConfiguration
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser search-resources.
- AWS CLI
-
Pour rechercher des ressources correspondant à une requête
L’exemple
search-resourcessuivant récupère une liste de toutes les ressources AWS qui correspondent à la requête spécifiée.aws resource-groups search-resources \ --resource-queryfile://query.jsonContenu 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, consultez SearchResources
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag.
- AWS CLI
-
Pour attacher une balise à un groupe de ressources
L’exemple
tagsuivant 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 \ --tagsQueryType=tags,QueryResources=ec2-instances\ --arnarn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServerSortie :
{ "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 utiliser untag.
- AWS CLI
-
Pour supprimer des balises d’un groupe de ressources
L’exemple
untagssuivant 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 \ --arnarn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer\ --keysQueryTypeSortie :
{ "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 utiliser update-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-querysuivant met à jour la requête attachée au groupe de ressources basé sur des balises spécifié.aws resource-groups update-group-query \ --group-nametbq-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 concernant un groupe de ressources basé sur une pile CloudFormation
L’exemple
update-group-querysuivant met à jour la requête attachée au groupe de ressources basé sur une pile AWS CloudFormation spécifié.aws resource-groups update-group-query \ --group-namecbq-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, consultez UpdateGroupQuery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-group.
- AWS CLI
-
Pour mettre à jour la description d’un groupe de ressources
L’exemple
update-groupsuivant met à jour la description du groupe de ressources spécifié.aws resource-groups update-group \ --group-nametbq-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, consultez UpdateGroup
dans la Référence des commandes de l’AWS CLI.
-