Last active
July 6, 2021 13:05
-
-
Save matschaffer/4912279e49dce41ab9b2 to your computer and use it in GitHub Desktop.
Bash-friendly ec2 prices
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
URL="http://a0.awsstatic.com/pricing/1/ec2/ri-v2/linux-unix-shared.min.js" | |
(echo 'function callback(data) { console.log(JSON.stringify(data)); }'; curl -s "$URL") |\ | |
node |\ | |
jq -r '.config.regions[] | | |
select(.region == "us-east-1") | | |
.instanceTypes[] | | |
[ | |
.type, | |
( .terms[] | select(.term == "yrTerm1") | .onDemandHourly[].prices.USD ), | |
( | |
.terms[] | select(.term == "yrTerm1") | .purchaseOptions | | |
map(.valueColumns[] | select(.name == "effectiveHourly") | .prices.USD)[] | |
), | |
( | |
.terms[] | select(.term == "yrTerm3") | .purchaseOptions | | |
map(.valueColumns[] | select(.name == "effectiveHourly") | .prices.USD)[] | |
) | |
] | | |
join("\t") | |
' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@michael-gracy
See my updated version:
https://gist.github.com/abcarroll/86850dc3cb4d449719888ba6a213b051
Note to anyone interested, these files are available for all AWS services that I can find.... But not all easily compatible/using the same node tree.
Just go to the AWS pricing page of your choice and view source, and find "data-model". You will find one file for every single PricingTable/Tab combo. For example MySQL standard deployments (single AZ) is:
http://a0.awsstatic.com/pricing/1/rds/mysql/pricing-standard-deployments.min.js
One small possible positive note -- it seems the URL/filenames themselves do follow a bit of a pattern. So it should be easy to generate them. If you had time and a little more powerful of a programming language, you could do great things.