Beispiele für Resource Groups unter Verwendung von AWS CLI - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

Beispiele für Resource Groups unter Verwendung von AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie AWS Command Line Interface mit Ressourcengruppen nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Servicefunktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anweisungen zum Einrichten und Ausführen des Codes im Kodex finden.

Themen

Aktionen

Die folgenden Codebeispiele zeigen, wie create-group verwendet wird.

AWS CLI

Beispiel 1: Erstellen einer Tag-basierten Ressourcengruppe

Im folgenden Beispiel für create-group wird eine Tag-basierte Ressourcengruppe von Amazon-EC2-Instances in der aktuellen Region erstellt. Es basiert auf einer Abfrage nach Ressourcen, die mit dem Schlüssel Name und dem Wert WebServers gekennzeichnet sind. Der Name der Gruppe lautet tbq-WebServer. Die Abfrage befindet sich in einer separaten JSON-Datei, die an den Befehl übergeben wird.

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

Inhalt von query.json:

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

Ausgabe:

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

Beispiel 2: Erstellen einer stackbasierten CloudFormation -Ressourcengruppe

Im folgenden Beispiel für create-group wird eine stackbasierte AWS-CloudFormation-Ressourcengruppe mit dem Namen sampleCFNstackgroup erstellt. Die Abfrage umfasst alle Ressourcen im angegebenen CloudFormation-Stack, die von AWS-Ressourcengruppen unterstützt werden.

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

Inhalt von 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\"}" }

Ausgabe:

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

Weitere Informationen finden Sie unter Erstellen von Gruppen im Benutzerhandbuch für AWS Resource Groups.

  • Weitere API-Informationen finden Sie unter CreateGroup in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie delete-group verwendet wird.

AWS CLI

So aktualisieren Sie die Beschreibung für eine Ressourcengruppe

Im folgenden Beispiel für delete-group wird die angegebene Ressourcengruppe aktualisiert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Löschen von Gruppen im Benutzerhandbuch für AWS Resource Groups.

  • Weitere API-Informationen finden Sie unter DeleteGroup in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie get-group-query verwendet wird.

AWS CLI

So rufen Sie die einer Ressourcengruppe zugeordnete Abfrage ab

Im folgenden Beispiel für get-group-query wird die Abfrage angezeigt, die der angegebenen Ressourcengruppe zugeordnet ist.

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

Ausgabe:

{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
  • Weitere API-Informationen finden Sie unter GetGroupQuery in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie get-group verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Ressourcengruppe ab

Im folgenden Beispiel für get-group werden Details zur angegebenen Ressourcengruppe angezeigt. Um die Abfrage an die Gruppe anzuhängen, verwenden Sie get-group-query.

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

Ausgabe:

{ "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." } }
  • Weitere API-Informationen finden Sie unter GetGroup in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie get-tags verwendet wird.

AWS CLI

So rufen Sie die Tags ab, die einer Ressourcengruppe zugeordnet sind

Im folgenden Beispiel für get-tags werden die Tag-Schlüssel- und Wertepaare angezeigt, die der angegebenen Ressourcengruppe (der Gruppe selbst, nicht ihren Mitgliedern) zugeordnet sind.

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

Ausgabe:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
  • Weitere API-Informationen finden Sie unter GetTags in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie list-group-resources verwendet wird.

AWS CLI

Um alle Ressourcen in einer Ressourcengruppe aufzulisten

Beispiel 1: Im folgenden Beispiel für list-resource-groups werden alle Ressourcen aufgelistet, die Teil der angegebenen Ressourcengruppe sind.

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

Ausgabe:

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

Beispiel 2: Im folgenden Beispiel werden alle Ressourcen in der Gruppe aufgelistet, die auch den „resource-type“ „AWS::EC2::Instance“ haben:

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

  • Weitere API-Informationen finden Sie unter ListGroupResources in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie list-groups verwendet wird.

AWS CLI

So listen Sie die verfügbaren Ressourcengruppen auf

Im folgenden Beispiel für list-groups wird eine Liste aller Ressourcengruppen angezeigt.

aws resource-groups list-groups

Ausgabe:

{ "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" } ] }
  • Weitere API-Informationen finden Sie unter ListGroups in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie list-resource-groups verwendet wird.

AWS CLI

Um alle Ressourcen in einer Ressourcengruppe aufzulisten

Im folgenden Beispiel für list-resource-groups werden alle Ressourcen aufgelistet, die Teil der angegebenen Ressourcengruppe sind.

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

Ausgabe:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }
  • Weitere API-Informationen finden Sie unter ListResourceGroups in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie put-group-configuration verwendet wird.

AWS CLI

So hängen Sie eine Servicekonfiguration an eine Ressourcengruppe an

Beispiel 1: Im folgende Beispiel für put-group-configuration wird angegeben, dass die Ressourcengruppe nur Amazon-EC2-Kapazitätsreservierungen für Instances der C5- oder M5-Familien enthalten soll.

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

Inhalt von 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" ] } ] } ]

Dieser Befehl erzeugt keine Ausgabe, wenn er erfolgreich ist.

Weitere Informationen finden Sie unter Servicekonfigurationen für Resource Groups im API-Referenzhandbuch für Ressourcengruppen.

Die folgenden Codebeispiele zeigen, wie search-resources verwendet wird.

AWS CLI

So finden Sie Ressourcen, die einer Abfrage entsprechen

Im folgenden Beispiel für search-resources wird eine Liste aller AWS-Ressourcen abgerufen, die der angegebenen Abfrage entsprechen.

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

Inhalt von query.json:

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

Ausgabe:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
  • Weitere API-Informationen finden Sie unter SearchResources in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie tag verwendet wird.

AWS CLI

So hängen Sie ein Tag an eine Ressourcengruppe an

Im folgenden Beispiel für tag werden die angegebenen Tag-Schlüssel- und Wertepaare an die angegebene Ressourcengruppe angehängt (die Gruppe selbst, nicht ihre Mitglieder).

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwalten von Tags im Benutzerhandbuch für AWS Resource Groups.

  • Weitere API-Informationen finden Sie unter Tag in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie untag verwendet wird.

AWS CLI

So entfernen Sie Tags aus einer Ressourcengruppe

Im folgenden Beispiel für untags werden alle Tags mit dem angegebenen Schlüssel aus der Ressourcengruppe selbst entfernt, nicht aus ihren Mitgliedern.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwalten von Tags im Benutzerhandbuch für AWS Resource Groups.

  • Weitere API-Informationen finden Sie unter Untag in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie update-group-query verwendet wird.

AWS CLI

Beispiel 1: So aktualisieren Sie die Abfrage für eine Tag-basierte Ressourcengruppe

Im folgenden Beispiel für update-group-query wird die Abfrage aktualisiert, die an die angegebene tagbasierte Ressourcengruppe angehängt ist.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Aktualisieren von Gruppen im Benutzerhandbuch für AWS Resource Groups.

Beispiel 2: So aktualisieren Sie die Abfrage für eine Stack-basierte Ressource, die auf CloudFormation basiert

Im folgenden Beispiel für update-group-query wird die Abfrage aktualisiert, die an die angegebene Stack-basierte AWS-CloudFormation-Ressourcengruppe angehängt ist.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Aktualisieren von Gruppen im Benutzerhandbuch für AWS Resource Groups.

  • Weitere API-Informationen finden Sie unter UpdateGroupQuery in der AWS CLI-Befehlsreferenz.

Die folgenden Codebeispiele zeigen, wie update-group verwendet wird.

AWS CLI

Um die Beschreibung für eine Ressourcengruppe zu aktualisieren

Im folgenden Beispiel für update-group wird die Beschreibung für die angegebene Ressourcengruppe aktualisiert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Aktualisieren von Gruppen im Benutzerhandbuch für AWS Resource Groups.

  • Weitere API-Informationen finden Sie unter UpdateGroup in der AWS CLI-Befehlsreferenz.