Reputation: 155
I'm using AWSCLI on Windows to start, query and connect to instances via RDP. I have three values I want to return in a single query, but I can't figure out how to do it.
Can you demonstrate how to do it?
Here are the three values returned in three queries:
aws ec2 describe-instance-status --instance-id i-xxxxxxxx --query InstanceStatuses[*].InstanceState.Code
aws ec2 describe-instance-status --instance-id i-xxxxxxxx --query InstanceStatuses[*].SystemStatus.Status
aws ec2 describe-instance-status --instance-id i-xxxxxxxx --query InstanceStatuses[*].InstanceStatus.Status
The output looks like this:
{
"InstanceStatuses": [
{
"InstanceId": "i-1234567890abcdef0",
"InstanceState": {
"Code": 16,
"Name": "running"
},
"AvailabilityZone": "us-east-1d",
"SystemStatus": {
"Status": "ok",
"Details": [
{
"Status": "passed",
"Name": "reachability"
}
]
},
"InstanceStatus": {
"Status": "ok",
"Details": [
{
"Status": "passed",
"Name": "reachability"
}
]
}
}
]
}
and is documented here: describe-instance-status
Thanks
Upvotes: 2
Views: 140
Reputation: 78803
You can request more than one attribute in the --query parameter. For example:
aws ec2 describe-instance-status \
--instance-id i-01122233344455566 \
--query "InstanceStatuses[0].{code:InstanceState.Code,sstatus:SystemStatus.Status,istatus:InstanceStatus.Status}"
This will result in something like:
{
"istatus": "ok",
"code": 16,
"sstatus": "ok"
}
Note the following changes:
Upvotes: 2