2017-08-31 3 views
0

AWSに同じReservationIdを持つインスタンスがあります(同時に起動され、AmiLaunchIndexが0からxまであります)。私の目標は、このようなインスタンスごとに1行のテキスト出力を生成することです。わかりやすくするために列見出しを追加しました。 jmespathのギッターチャンネルでawscli --queryを使用してinstance-idごとに1行の値のリストを返します。

OwnerId  ReservationId InstanceId PrivateIpAddress AmiLaunchIndex 
12345678910 r-poiu4567 i-asdf1234 10.0.0.1   0 
12345678910 r-poiu4567 i-qwer4312 10.0.1.1   1 
... etc ... 

、マップ機能は、これを達成する方法として提案されたが、私は、関数を使用する方法を見つけ出すことはできません。助言がありますか?

答えて

2

残念ながら、私が思うこの権利を行うために、我々は、必要があると思いhttps://github.com/jmespath/jmespath.site/pull/6

あなたが実際には同じになることはほぼ確実であるネットワークインターフェイスで所有者を、使用して、この結果をハックすることができ、この特定のケースでは

:あなたがしたい場合

Reservations[].Instances[].[NetworkInterfaces[0].OwnerId, InstanceId, KeyName]

(配列の代わりにオブジェクトを使用します列見出し)

1

あなたはあなたが欲しい、他のパラメータを追加することができます

aws ec2 describe-instances \ 
    --filters "Name=reservation-id,Values=r-poiu4567" 
    --query 'Reservations[*].{owner:OwnerId,ReservationId:ReservationId,instance:Instances[].InstanceId | [0]}' \ 
    --output text 

次のコマンドを実行する必要があります

このようなものとして、ヘッダのない所望の出力(1行のすべての要素)を提供します

i-08eec92943c9cc576 325979260958 r-0b13a131efa6b3af8 
i-07a25c4ae7e6abecb 325979260958 r-05a51aefe5b72358d 
.... 
+0

ありがとうございます、最後の0番目のインデックスは、私の端末の第1行だけを表示します。 – LHWizard

+0

また、Instances []。InstanceIdは、エラーをスローするため、欠落しているようです。 – LHWizard

+0

どのインスタンスでも動作するはずの期間を修正しました –

1
ec2 describe-instances --query 
'Reservations[*]. 
{ 
    id:ReservationId, 
    requester:RequesterId, 
    instance:Instances[].InstanceId |[0], 
    lifecycle:Instances[].InstanceLifecycle | [0] 
} 
' 
--output text 

....私のために働いた。

関連する問題