31 lines
1.2 KiB
Bash
31 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
# Work in progress. This script does not work with organization. SP rouutines have not been written.
|
||
|
|
||
|
# Create sqlite database
|
||
|
rm -f co.db
|
||
|
sqlite3 co.db 'create table instances(type varchar(20),running int, ri int);'
|
||
|
|
||
|
# Count instance types in region
|
||
|
echo "Getting list of Ec2 instances..."
|
||
|
aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceType' --filter Name=instance-state-name,Values=running --output text | tr '\t' '\n' | sort | uniq -c | while read count type; do
|
||
|
sqlite3 co.db "insert into instances values(\"$type\", \"$count\",0);"
|
||
|
done
|
||
|
|
||
|
# List RI in region
|
||
|
echo "Getting list of RI..."
|
||
|
aws ec2 describe-reserved-instances --query ReservedInstances[].[InstanceCount,InstanceType] --output text | while read count type; do
|
||
|
# echo sqlite3 co.db "update instances set ri = \"$count\" where type = \"$type\";"
|
||
|
sqlite3 co.db "update instances set ri = \"$count\" where type = \"$type\";"
|
||
|
done
|
||
|
|
||
|
# List ISP
|
||
|
echo "Getting ISP..."
|
||
|
aws savingsplans describe-savings-plans
|
||
|
|
||
|
# List CSP
|
||
|
echo "Getting CSP..."
|
||
|
aws savingsplans describe-savings-plans
|
||
|
|
||
|
# List table
|
||
|
sqlite3 -header -column co.db "select type, running, ri, running - ri as candidates from instances;"
|