Как я могу получить значение тега в выводе описаний экземпляров aws cli? - PullRequest
0 голосов
/ 05 января 2019

Я хочу получить идентификатор экземпляра и значение тега name, это не работает:

aws ec2 describe-instances --filters 'Name=tag:Name,Values=InstaneNameTagPrefix*' --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,Tags:Tags.Key=Name}'

1 Ответ

0 голосов
/ 05 января 2019

Пройдя на этом примере JMESPath, я смог заставить его работать. Попробуй это и дай мне знать, как это будет с твоей стороны.

aws ec2 describe-instances --filters 'Name=tag:Name,Values=myDevEC2*' --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,Tags:Tags[?Key == `Name`] | [0].Value}'

Выход -

[
    [
        {
            "InstanceId": "i-xxxxxxxxxxxxxx",
            "Tags": "myDevEC2-123"
        }
    ]
]

Так как Tags является массивом, вам нужно будет отфильтровать только пару имен. После этого канала результат Tag и выберите Value.

PS - Возможно, вы захотите переименовать второй выходной элемент JSON в InstanceName вместо Tags:)

...