UPD: Moved aws inventory scripts into a submodule

This commit is contained in:
xpk 2024-04-19 14:11:31 +08:00
parent 4493286990
commit 1648d8e9cf
Signed by: xpk
GPG Key ID: CD4FF6793F09AB86
17 changed files with 4 additions and 221 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "aws/aws-inventory"]
path = aws/aws-inventory
url = https://xpk.headdesk.me/git/xpk/aws-inventory.git

View File

@ -1,25 +0,0 @@
#!/bin/bash
function formatprint() {
cat - > /tmp/formatprint.tmp
echo "# $1 ($(cat /tmp/formatprint.tmp | wc -l))"
#cat /tmp/formatprint.tmp | sed -e 's/^/ /g'
cat /tmp/formatprint.tmp | column -t -s, | sed -e 's/^/ /g'
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, 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,AZ"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listEc2 $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 ecs list-clusters | jq -cr '.clusterArns[]' | parallel aws --region $1 ecs describe-clusters --clusters {} | jq -cr '.clusters[] | [.clusterName, .runningTasksCount, .capacityProviders[0]] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory of ec2 in all regions
echo "ClusterName, TasksCount, CapacityProvider"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 efs describe-file-systems | jq -cr '.FileSystems[] | [.FileSystemId, .Name, .PerformanceMode, (.SizeInBytes.Value/1024/1024)] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory in all regions
echo "FilesystemId, Name, PerformanceMode, SizeMb"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,18 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 eks list-clusters --query clusters[] --output text | sed -e 's/\t/\n/g' | while read i; do
aws --region $1 eks describe-cluster --name $i | jq -cr '.cluster | [.name, .version] | @csv' | tr -d \"
done
}
export -f listRes
# Generate inventory of ec2 in all regions
echo "ClusterName,ClusterVersion"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws elasticache --region $1 describe-cache-clusters | jq -cr '.CacheClusters[] | [.CacheClusterId, .CacheNodeType, .Engine, .PreferredAvailabilityZone] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory of ec2 in all regions
echo "ClusterId,NodeType,Engine,AZ"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 opensearch list-domain-names | jq -cr '.DomainNames[] | [.DomainName, .EngineType] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory of ec2 in all regions
echo "DomainName, EngineType"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 elbv2 describe-load-balancers | jq -cr '.LoadBalancers[] | [.LoadBalancerName, .Scheme, .Type, .AvailabilityZones[0].ZoneName] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory in all regions
echo "LbName,Scheme,Type,AZ1"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,18 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 emr list-clusters --query Clusters[].Id --output text | sed 's/\t/\n/g' | while read i; do
aws --region $1 emr describe-cluster --cluster-id $i | jq -cr '.Cluster | [.Id, .Name, .ReleaseLabel, .Ec2InstanceAttributes.Ec2AvailabilityZone] | @csv' | tr -d \"
done
}
export -f listRes
# Generate inventory of ec2 in all regions
echo "ClusterId,ClusterName,ReleaseLabel,AZ"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

1
aws/aws-inventory Submodule

@ -0,0 +1 @@
Subproject commit 122fe95f953aa539f5a671c3db911eda2cf322de

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 lambda list-functions | jq -cr '.Functions[] | [.FunctionName, .Runtime, .Architectures[]] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory in all regions
echo "FunctionName, Runtime, Architecture"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 logs describe-log-groups | jq -cr '.logGroups[] | [.logGroupName, .retentionInDays, .logGroupClass] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory in all regions
echo "LogGroup, Retention, Class"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws rds describe-db-instances --region $1 | jq -cr '.DBInstances[] | [.DBInstanceIdentifier, .DBInstanceClass, .Engine, .AvailabilityZone, .MultiAZ] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory of ec2 in all regions
echo "InstanceId,InstanceClass,Engine,AZ,MultiAz"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,4 +0,0 @@
#!/bin/bash
echo "ZoneName, IsPrivate, RecordCount"
aws route53 list-hosted-zones | jq -cr '.HostedZones[] | [.Name, .Config.PrivateZone, .ResourceRecordSetCount] | @csv' | tr -d \"

View File

@ -1,5 +0,0 @@
#!/bin/bash
# Generate inventory in all regions
echo "BucketName"
aws s3api list-buckets --query Buckets[].Name --output text | sed 's/\t/\n/g'

View File

@ -1,16 +0,0 @@
#!/bin/bash
function listRes() {
aws --region $1 ec2 describe-subnets | jq -cr '.Subnets[] | [.SubnetId, .VpcId, .CidrBlock, .AvailabilityZone] | @csv' | tr -d \"
}
export -f listRes
# Generate inventory in all regions
echo "SubnetId,VpcId,CidrBlock,AZ"
aws --region=us-east-1 ec2 describe-regions --query Regions[].RegionName --output text | sed -e 's/\t/\n/g' | while read r; do
sem -j6 listRes $r
done
sem --wait

View File

@ -1,7 +0,0 @@
#!/bin/bash
for i in aws-ec2-inventory.sh aws-efs-inventory.sh aws-eks-inventory.sh aws-elasticache-inventory.sh aws-elasticsearch-inventory.sh aws-elbv2-inventory.sh aws-emr-inventory.sh aws-lambda-inventory.sh aws-rds-inventory.sh aws-route53-inventory.sh aws-s3-inventory.sh aws-subnet-inventory.sh aws-logs-inventory.sh aws-ecs-inventory.sh; do
echo "# $i"
bash $i | mlr --c2t cat | column -t
wait $!
done