Esempi per Gruppi di risorse con AWS CLI - AWS Command Line Interface

Esempi per Gruppi di risorse con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Gruppi di risorse.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare create-group.

AWS CLI

Esempio 1: per creare un gruppo di risorse basato su tag

Nell’esempio seguente create-group crea un gruppo di risorse basato su tag di istanze Amazon EC2 nella Regione corrente. Si basa su una query relativa alle risorse taggate con la chiave Name e il valore WebServers. Il nome del gruppo è tbq-WebServer. La query si trova in un file JSON separato che viene passato al comando.

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

Contenuto di query.json.

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

Output:

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

Esempio 2: per creare un gruppo di risorse basato sullo stack CloudFormation

Nell’esempio seguente create-group crea un gruppo di risorse basato sullo stack AWS CloudFormation denominato sampleCFNstackgroup. La query include tutte le risorse nello stack CloudFormation specificato supportate da Gruppi di risorse AWS.

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

Contenuto di 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\"}" }

Output:

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

Per ulteriori informazioni, consulta Creazione di gruppi nella Guida per l’utente di Gruppi di risorse AWS.

  • Per informazioni dettagliate sull'API, consulta CreateGroup nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare delete-group.

AWS CLI

Come aggiornare la descrizione di un gruppo di risorse

Nell’esempio seguente delete-group aggiorna il gruppo di risorse specificato.

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

Output:

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

Per ulteriori informazioni, consulta Eliminazione di gruppi nella Guida per l’utente di Gruppi di risorse AWS.

  • Per informazioni dettagliate sull'API, consulta DeleteGroup nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare get-group-query.

AWS CLI

Come ottenere la associata query a un gruppo di risorse

Nell’esempio seguente get-group-query visualizza la query associata al gruppo di risorse specificato.

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

Output:

{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
  • Per informazioni dettagliate sull’API, consulta GetGroupQuery in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-group.

AWS CLI

Come ottenere informazioni su un gruppo di risorse

Nell’esempio seguente get-group visualizza i dettagli relativi al gruppo di risorse specificato. Per ottenere la query associata al gruppo, utilizza get-group-query.

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

Output:

{ "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." } }
  • Per i dettagli dell'API, consulta GetGroup in Riferimento ai comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare get-tags.

AWS CLI

Come recuperare i tag associati a un gruppo di risorse

Nell’esempio seguente get-tags visualizza le coppie chiave-valore dei tag associate al gruppo di risorse specificato (il gruppo stesso, non i suoi membri).

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

Output:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
  • Per informazioni dettagliate sull’API, consulta GetTags in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-group-resources.

AWS CLI

Come elencare tutte le risorse in un gruppo di risorse

Esempio 1: nell’esempio seguente list-resource-groups elenca tutte le risorse appartenenti gruppo di risorse specificato.

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

Output:

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

Esempio 2: l’esempio seguente elenca tutte le risorse del gruppo che hanno il parametro “resource-type” con il valore “AWS::EC2::Instance”.

aws resource-groups list-group-resources --group-name tbq-WebServer --filters Name=resource-type,Values=AWS::EC2::Instance

  • Per informazioni dettagliate sull’API, consulta ListGroupResources in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-groups.

AWS CLI

Come elencare i gruppi di risorse disponibili

Nell’esempio seguente list-groups visualizza un elenco di tutti i gruppi di risorse.

aws resource-groups list-groups

Output:

{ "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" } ] }
  • Per informazioni dettagliate sull'API, consulta ListGroups nella Documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-resource-groups.

AWS CLI

Come elencare tutte le risorse in un gruppo di risorse

Nell’esempio seguente list-resource-groups elenca tutte le risorse appartenenti gruppo di risorse specificato.

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

Output:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }
  • Per informazioni dettagliate sull’API, consulta ListResourceGroups in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-group-configuration.

AWS CLI

Come associare una configurazione di servizio a un gruppo di risorse

Esempio 1: nell’esempio seguente put-group-configuration specifica che il gruppo di risorse deve contenere solo le prenotazioni della capacità di Amazon EC2 per le istanze delle famiglie C5 o M5.

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

Contenuto di 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" ] } ] } ]

Questo comando non produce alcun output se ha esito positivo.

Per ulteriori informazioni, consulta Configurazioni dei servizi per i gruppi di risorse nella Guida di riferimento dell’API per gruppi di risorse.

L’esempio di codice seguente mostra come utilizzare search-resources.

AWS CLI

Come trovare le risorse che corrispondono a una query

Nell’esempio seguente search-resources recupera un elenco di tutte le risorse AWS che corrispondono alla query specificata.

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

Contenuto di query.json.

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

Output:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
  • Per informazioni dettagliate sull’API, consulta SearchResources in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare tag.

AWS CLI

Come associare un tag a un gruppo di risorse

Nell’esempio seguente tag collega le coppie chiave-valore dei tag associate al gruppo di risorse specificato (il gruppo stesso, non i suoi membri).

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

Output:

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

Per ulteriori informazioni, consulta Gestione dei tag nella Guida per l’utente di Gruppi di risorse AWS.

  • Per informazioni dettagliate sull’API, consulta Tag in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag.

AWS CLI

Come rimuovere tag da un gruppo di risorse

Nell’esempio seguente untags rimuove qualsiasi tag con la chiave specificata dal gruppo di risorse stesso e non dai relativi membri.

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

Output:

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

Per ulteriori informazioni, consulta Gestione dei tag nella Guida per l’utente di Gruppi di risorse AWS.

  • Per informazioni dettagliate sull’API, consulta Untag in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-group-query.

AWS CLI

Esempio 1: per aggiornare la query per un gruppo di risorse basato su tag

Nell’esempio seguente update-group-query aggiorna la query associata al gruppo di risorse basato su tag specificato.

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

Output:

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

Per ulteriori informazioni, consulta Aggiornamento dei gruppi nella Guida per l’utente di Gruppi di risorse AWS.

Esempio 2: per aggiornare la query per un gruppo di risorse basato sullo stack CloudFormation

Nell’esempio seguente update-group-query aggiorna la query associata al gruppo di risorse basato su stack AWS CloudFormation specificato.

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

Output:

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

Per ulteriori informazioni, consulta Aggiornamento dei gruppi nella Guida per l’utente di Gruppi di risorse AWS.

  • Per informazioni dettagliate sull’API, consulta UpdateGroupQuery in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-group.

AWS CLI

Come aggiornare la descrizione di un gruppo di risorse

Nell’esempio seguente update-group aggiorna la descrizione del gruppo di risorse specificato.

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

Output:

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

Per ulteriori informazioni, consulta Aggiornamento dei gruppi nella Guida per l’utente di Gruppi di risorse AWS.

  • Per i dettagli dell'API, consulta UpdateGroup in Riferimento ai comandi della AWS CLI.