Reputation: 53
Using AWS CLI for example:
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name $1 --region us-east-1
We can get JSON data as ouput which includes many attributes. I want only Instances attribute in my output like
Instances": [
{
"HealthStatus": "Healthy",
"LaunchConfigurationName": "ASG name",
"LifecycleState": "InService",
"InstanceType": "t3.medium",
"AvailabilityZone": "us-east-1b",
"InstanceId": "i-abced",
"ProtectedFromScaleIn": false
},
{
"HealthStatus": "Healthy",
"LaunchConfigurationName": "ASG name",
"LifecycleState": "InService",
"InstanceType": "t3.medium",
"AvailabilityZone": "us-east-1a",
"InstanceId": "i-abced",
"ProtectedFromScaleIn": false
}
]
Do we have any CLI command for this or else how can we query the output of
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name $1 --region us-east-1
for "Instances" attribute
Upvotes: 0
Views: 1072
Reputation: 59956
You can get the desired output using query.
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-auto-scaling --query "AutoScalingGroups[*].Instances[*]" --output json
output:
[
[
{
"InstanceId": "i-1234567abcd",
"InstanceType": "t3a.micro",
"AvailabilityZone": "us-west-2c",
"LifecycleState": "InService",
"HealthStatus": "Healthy",
"LaunchConfigurationName": "abc",
"ProtectedFromScaleIn": false
},
{
"InstanceId": "i-12345abc",
"InstanceType": "t3a.micro",
"AvailabilityZone": "us-west-2b",
"LifecycleState": "InService",
"HealthStatus": "Healthy",
"LaunchConfigurationName": "abc",
"ProtectedFromScaleIn": false
}
]
]
Upvotes: 1