rrichards
10/30/2019 - 10:22 AM

aws cli + jq example

aws cli + jq example

wget http://stedolan.github.io/jq/download/linux64/jq 
aws ec2 describe-instances --filters "Name=tag:Name,Values=$NAME" \
  "Name=instance-state-name,Values=running" \
  |  jq -r \
  ".Reservations[] | .Instances[] | .InstanceId" \

aws ec2 describe-volumes --filters \
  "Name=status,Values=available" \
  | jq -r ".Volumes[] | .VolumeId" \

aws ec2 describe-instances | jq '.Reservations[].Instances[] | select(.LaunchTime > "2015-01-28") | select(.State.Code != 48) | [.LaunchTime, .State.Name, (.Tags[]|select(.Key=="Name")|.Value)]'

# no dotdee
aws ec2 describe-instances | jq --arg yest $(python -c "import datetime; t = datetime.datetime.now() - datetime.timedelta(hours=24); print t.strftime('%Y-%m-%d')") -r '.Reservations[].Instances[] | select(.LaunchTime > $yest) | select(.State.Code != 48) | (.Tags[]//[]|select(.Key=="Name")|.Value) as $name | "Host \($name) \nHostname \(.PrivateIpAddress)"' >> ~/.ssh/config