Skip to content

Instantly share code, notes, and snippets.

@palashkulsh
Created November 24, 2017 10:20
Show Gist options
  • Save palashkulsh/b31ef87f44d382f56a5cf8263e93d5a6 to your computer and use it in GitHub Desktop.
Save palashkulsh/b31ef87f44d382f56a5cf8263e93d5a6 to your computer and use it in GitHub Desktop.
get aws tags of private ip address using aws cli and jq
#ip.csv file should have single column of private ip
cat ip.csv | xargs -I {} aws ec2 describe-instances --filter Name=private-ip-address,Values={} | jq --arg tag1 "Service" --arg tag2 "Team" '.Reservations[].Instances[] | "\(.PrivateIpAddress) , \(.Tags[]| select(.Key==$tag1) | .Value) , \(.Tags[]| select(.Key==$tag2) | .Value)"' > ip_service_team.csv
@palashkulsh
Copy link
Author

#with region
cat /tmp/ip | xargs -I {} sudo aws ec2 describe-instances --region=ap-south-1 --filter Name=private-ip-address,Values={} | jq --arg tag1 "Service" --arg tag2 "Team" '.Reservations[].Instances[] | "(.PrivateIpAddress) , (.Tags[]| select(.Key==$tag1) | .Value) , (.Tags[]| select(.Key==$tag2) | .Value)"' > ip_service_team.csv

@palashkulsh
Copy link
Author

sudo aws ec2 describe-instances --region ap-southeast-1 --output text --query 'Reservations[].Instances[].[InstanceId, InstanceType, ImageId, State.Name, LaunchTime, Placement.AvailabilityZone, Placement.Tenancy, PrivateIpAddress, PrivateDnsName, PublicDnsName, [Tags[?Key==Name].Value] [0][0], [Tags[?Key==Techteam].Value] [0][0], [Tags[?Key==Stack].Value] [0][0], [Tags[?Key==team].Value] [0][0] ]' > instances.tsv

@palashkulsh
Copy link
Author

sudo aws autoscaling describe-auto-scaling-groups --region=ap-south-1 --query 'AutoScalingGroups[] | [?contains(Tags[?Key==Techteam].Value, mall-cart)]' | jq '.[] | "(.AutoScalingGroupName),(.MixedInstancesPolicy.InstancesDistribution.OnDemandBaseCapacity),(.MixedInstancesPolicy.InstancesDistribution.OnDemandPercentageAboveBaseCapacity),(.MixedInstancesPolicy.InstancesDistribution.SpotInstancePools),(.MixedInstancesPolicy.InstancesDistribution.SpotAllocationStrategy),(.MaxSize),(.MinSize),(.DesiredCapacity),(.TerminationPolicies[]),( .MixedInstancesPolicy.LaunchTemplate.Overrides| try map(.InstanceType) catch ["not found"] | join(";") )"'

@palashkulsh
Copy link
Author

sudo aws ec2 describe-volumes --region=ap-southeast-1 --filters Name=tag:Techteam,Values=mall-cart | jq '.Volumes[] | "(.Attachments[0].InstanceId),(.VolumeType),(.Tags[] | select(.Key=="Service").Value),(.Size)"' | sed 's/"//g'

@palashkulsh
Copy link
Author

palashkulsh commented Jul 29, 2021

get details for an ip

cat ip | xargs -I {} sudo aws ec2 describe-instances --region=ap-south-1 --filter Name=private-ip-address,Values={} | jq --arg tag1 "Service" --arg tag2 "Techteam" '.Reservations[].Instances[] | "\(.PrivateIpAddress) , \(.Tags[]| select(.Key==$tag1) | .Value) , \(.Tags[]| select(.Key==$tag2) | .Value)"'

@palashkulsh
Copy link
Author

palashkulsh commented Aug 10, 2021

aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId,Instancetype:InstanceType,vid:BlockDeviceMappings[*].Ebs.VolumeId}" --filters Name=tag:Service,Values=marketplace-orderes-data

@palashkulsh
Copy link
Author

aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId,Instancetype:InstanceType,vid:BlockDeviceMappings[*].Ebs.VolumeId}" --filters Name=tag:Service,Values=marketplace-orderes-data --output table

@palashkulsh
Copy link
Author

aws ec2 describe-volumes --region=ap-south-2 | jq -r ' .Volumes[] | { volumeId: (.VolumeId), InstanceId: (.Attachments[0].InstanceId // "null"), VolumeType: .VolumeType, Service: (.Tags // [] | map(select(.Key == "Service")) | .[0].Value // "null"), Stack: (.Tags // [] | map(select(.Key == "Stack")) | .[0].Value // "null"), techteam: (.Tags // [] | map(select(.Key == "Techteam")) | .[0].Value // "null"), Size: .Size } | [.volumeId, .InstanceId, .VolumeType, .Service, .Stack, .Size, .techteam] | @csv' > /tmp/volume.csv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment