##やりたい事
ec2 describe-instancesの情報からインスタンスIDとステータス(異なる階層の情報)を並べて表示したい。
##やってみた
AWSの公式サイトに以下のサンプルがあったので・・・
aws ec2 describe-volumes \
--query 'Volumes[*].{ID:VolumeId,InstanceId:Attachments[0].InstanceId,AZ:AvailabilityZone,Size:Size}'
以下のコマンドを作成して実行!
aws ec2 describe-instances \
--query 'Reservations[].Instances[].{INSTANCE_ID:InstanceId,INSTANCE_TYPE:InstanceType,STATE:State[0].Name}'
・
・
・
が、駄目!
で、色々試してみたところ、以下のコマンドで表示する事に成功!
aws ec2 describe-instances \
--query 'Reservations[].Instances[].{INSTANCE_ID:InstanceId,INSTANCE_TYPE:InstanceType,STATE:State.Name}' \
##わかった事
describe-volumesとdescribe-instancesの情報を見ていて微妙な違いを発見!
###describe-volumesで表示している項目の内容
"Attachments": [
{
"AttachTime": "2018-03-29T02:01:46.000Z",
"InstanceId": "i-xxxxxxxx",
"VolumeId": "vol-yyyyyyyy",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/xvda"
}
],
###describe-instancesで表示したい項目の内容。
"State": {
"Code": 16,
"Name": "running"
}, cribe-instances
describe-volumesは大括弧で囲まれていて、describe-instancesは表示したい項目が中括弧で囲まれてる!!
だからいくら同じ書き方しても駄目だったんですねー。
これからもっと注意してデータを確認しようと思います...orz