Using AWS CLI including explanation
Que) sort output of describe-instances? Or describe-network interfaces ?
Ex: aws ec2 describe-network-interfaces --region
us-east-1 --filters "Name=tag:Name,Values='Name_any*'
" --query 'NetworkInterfaces[?Status==`available`]'
us-east-1 --filters "Name=tag:Name,Values='Name_any*'
" --query 'NetworkInterfaces[?Status==`available`]'
Now to take exact things out first flatten
o/p in bracket like structure as below
o/p in bracket like structure as below
# aws ec2 describe-network-interfaces --region
us-east-1 --filters "Name=tag:Name,Values='Nameofinstance*'" --query 'NetworkInterfaces[?Status==`available`].[NetworkInterfaceId,TagSet[*].Value | [0].Value]'
us-east-1 --filters "Name=tag:Name,Values='Nameofinstance*'" --query 'NetworkInterfaces[?Status==`available`].[NetworkInterfaceId,TagSet[*].Value | [0].Value]'
o/p
[
[
"eni-########",
null
],
[
"eni-########",
null
],
[
"eni-########",
null
],
[
"eni-########",
null
]
]
In above o/p eni is first column and null is 2nd
Will print 1st column using jmes path using sort_by
Syntax [] | sort_by(@, &[3])
#aws ec2 describe-network-interfaces
--region us-east-1 --filters
"Name=tag:Name,Values='Nameofinstance*'"
--query 'NetworkInterfaces[?Status==
`available`].[NetworkInterfaceId,TagSet[*]
.Value | [0]] | sort_by(@, &[1])'
"Name=tag:Name,Values='Nameofinstance*'"
--query 'NetworkInterfaces[?Status==
`available`].[NetworkInterfaceId,TagSet[*]
.Value | [0]] | sort_by(@, &[1])'