2017-04-21 10 views
1

次のフィルタリングを行うにはどうすればよいでしょうか?10から始まるIPの結果は返されますか?AWS CLIコマンドの結果をフィルタリングする方法

aws ec2 describe-instances --filters "Name=tag-value,Values=mytagavalue" --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,PrivateDnsName:PrivateDnsName,State:State.Name, IP:NetworkInterfaces[0].PrivateIpAddress}' 
[ 
    [ 
     { 
      "InstanceId": "i-12345bnmsdfod", 
      "PrivateDnsName": "ip-10-34-24-4.my.there.com", 
      "State": "running", 
      "IP": "10.10.10.4" 
     } 
    ], 
    [ 
     { 
      "InstanceId": "i-12345bnmsdfop", 
      "PrivateDnsName": "", 
      "State": "terminated", 
      "IP": null 
     } 
    ], 

答えて

3

フィルタ

「10」で始まるアドレスと一致れる、唯一「10 *」に一致する値を選択するnetwork-interface.addresses.private-ip-addressフィルタを使用することによりオプション1)。

--filters "Name=network-interface.addresses.private-ip-address,Values=10.*" 

異なるフィルタ間にスペースを入れて区切ります。

全例

aws ec2 describe-instances --filters "Name=tag-value,Values=mytagavalue" "Name=network-interface.addresses.private-ip-address,Values=10.*" --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,PrivateDnsName:PrivateDnsName,State:State.Name, IP:NetworkInterfaces[0].PrivateIpAddress}' 

オプション2)を介してクエリ

が "10" の部分文字列比較を行うためにJMESPath starts_with()関数を使用各ネットワークインターフェイスのプライベートIPアドレスに対してその後

Reservations[].Instances[] 

「10」で始まるプライベートIPアドレスを持つネットワークインターフェイスを含む唯一のインスタンスをフィルタリングするためのパイプ::ステップ

まずすることにより

ステップ、すべてのインスタンスを選択し

| [? NetworkInterfaces [? starts_with(PrivateIpAddress, '10.')]] 

次に、前と同じようにフィールドを選択します。これは変更されていません。 (あなただけではなく、最初のすべてのネットワークインターフェイスを選択したい場合があります。)

.{InstanceId:InstanceId,PrivateDnsName:PrivateDnsName,State:State.Name, IP:NetworkInterfaces[0].PrivateIpAddress}" 

全例

aws ec2 describe-instances --filters "Name=tag-value,Values=mytagavalue" --query "Reservations[].Instances[] | [? NetworkInterfaces [? starts_with(PrivateIpAddress, '10.')]].{InstanceId:InstanceId,PrivateDnsName:PrivateDnsName,State:State.Name, IP:NetworkInterfaces[0].PrivateIpAddress}" 

をさらに読み

+0

これはまさに私が望んでいた...ありがとう!私は 'を失っていた。'セパレータをネストされたオブジェクト値に渡します。どうもありがとう! :) – ISZ

関連する問題