UPD: aws-ec2-inventory.sh now uses parallel sem

This commit is contained in:
xpk 2024-04-17 20:58:45 +08:00
parent 8afacb1291
commit 94b3cce6e2
Signed by: xpk
GPG Key ID: CD4FF6793F09AB86
1 changed files with 9 additions and 2 deletions

View File

@ -8,9 +8,16 @@ function formatprint() {
rm -f /tmp/formatprint.tmp
}
function listEc2() {
aws --region=$1 ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Tags[?Key==`Name`].Value[] | [0], PlatformDetails, InstanceType,PrivateIpAddress, PublicIpAddress, Placement.AvailabilityZone]' --output json | jq -cr '.[][] | @csv' | tr -d '[\" '
}
export -f formatprint
export -f listEc2
# Generate inventory of ec2 in all regions
echo "InstanceId,NameTag,OsPlatform,InstanceType,PrivateIp,PublicIp,AZ"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
echo "Region: $r"
aws --region=$r ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Tags[?Key==`Name`].Value[] | [0], PlatformDetails, InstanceType,PrivateIpAddress, PublicIpAddress]' --output json | jq -cr '.[][] | @csv' | tr -d '[\" ' | formatprint EC2
sem -j6 listEc2 $r
done