Der aws CLI verfügt über eine Abfrageoption, mit der Sie nur einige Informationen auswählen können.aws cli: Wie kann ich Listenwerte abfragen?
Für ein Beispiel, ich bin interessiert, nur den Namen der Sicherheitsgruppe von ec2 describe-Instanzen zu bekommen.
Wenn ich laufen:
aws ec2 describe-instances --output text --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,SecurityGroups]
meine Ausgabe wie folgt aussieht:
i-xxxxxxx m1.type [{u'GroupName': 'groupName', u'GroupId': 'sg-xxxxx'}]
ich auch Elemente der Liste mit einem Index zugreifen:
aws ec2 describe-instances --output text --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,Tags[0].Value,Tags[0].Name]
Ist es möglich, Abfrage-Tags, so dass ich anstelle von Tag [0] nach einem Tag suche, wo der Name angegeben ist?
Sie können nicht extrahieren nur, dass vom Ausgang? – Andrey
@Andrey: Ich hoffe, dass es eine Möglichkeit gibt, so etwas wie SecurityGroups {Name = Foo} in der Abfrage zu haben. Die Alternative ist, das json-Format zu verwenden und es zu jq zu leiten, aber ich möchte sicherstellen, dass ich zuerst nichts verpasse. – chris
aber warum nicht einfach mit jq? – Andrey