Perhaps this might work:
aws elb describe-load-balancers
I really tested with input like this:
{ "LoadBalancerDescriptions": [ { "AvailabilityZones": [ "us-east-1b", "us-east-1c", "us-east-1d" ] } ] }
And ran this command:
jq '.LoadBalancerDescriptions[] | select((.AvailabilityZones[] | select(. == "us-east-1b")) == "us-east-1b")' input_file
Then I got:
{ "AvailabilityZones": [ "us-east-1b", "us-east-1c", "us-east-1d" ] }
Other for input:
{ "LoadBalancerDescriptions": [ { "AvailabilityZones": [ "us-east-1b", "us-east-1c", "us-east-1d" ] }, { "AvailabilityZones": [ "us-east-1b", "us-east-1c" ] }, { "AvailabilityZones": [ "us-east-1d" ] } ] }
Output:
{ "AvailabilityZones": [ "us-east-1b", "us-east-1c", "us-east-1d" ] } { "AvailabilityZones": [ "us-east-1b", "us-east-1c" ] }
You could probably use the concept to check if a key representing an array contains an element such as it.
source share