-
-
Save palashkulsh/b31ef87f44d382f56a5cf8263e93d5a6 to your computer and use it in GitHub Desktop.
#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 |
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
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(";") )"'
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'
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)"'
aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId,Instancetype:InstanceType,vid:BlockDeviceMappings[*].Ebs.VolumeId}" --filters Name=tag:Service,Values=marketplace-orderes-data
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
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
#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