This is an extremely heavily modified fork of the now defunct AWS Pricing sheet addon by Strake.
It offers functions that integrate both AWS and GCP pricing, as well as the ability to load up and cache bulk price lists for a set of predetermined instance types within a given region, so you can avoid making hundreds of API calls for every tiny change.
We've migrated from Firestore to the Infracost Cloud Pricing GraphQL API!
Benefits:
- ✅ No more manual data maintenance
- ✅ Real-time pricing updates from AWS and GCP
- ✅ Unified API for all cloud pricing
- ✅ All existing functions work exactly the same
- ✅ 95% fewer API calls for bulk queries (batched GraphQL)
See MIGRATION_GUIDE.md for setup instructions.
- AWS & GCP Pricing: Infracost Cloud Pricing API (GraphQL)
- PlanetScale Pricing: PlanetScale Public API
- Get a free Infracost API key: https://www.infracost.io/docs/cloud_pricing_api/
- Add to Script Properties:
infracost_api_key= your API keyawsEc2InstanceFamilyFilter= e.g.,m5,r6i,c5awsEc2InstanceSizeFilter= e.g.,large,xlarge,2xlargegcpComputeInstanceFamilyFilter= e.g.,n2,n2d,c2gcpComputeInstanceSizeFilter= e.g.,standard-4,highmem-8
=AWS_EC2_HOURLY("m5.xlarge", "us-east-1", "ondemand")
=AWS_EC2_ALL_BY_REGION("us-east-1", "ondemand")
=AWS_EBS_HOURLY("us-east-1", "gp3", "storage", 1000)=GCP_COMPUTE_HOURLY("n2-standard-4", "us-central1", "ondemand")
=GCP_COMPUTE_ALL_BY_REGION("us-central1", "ondemand")
=GCP_GCS_HOURLY("us-central1", "localssd", 375)=PSDB_ALL_BY_REGION("us-east")
=PSDB_INSTANCE_HOURLY("PS_40", "us-east", 250)
=PSDB_REGIONS("aws")Google Sheets Custom Functions
↓
Fetch.js (orchestration)
↓
├─→ GraphQLClient.js → Infracost API (AWS/GCP)
└─→ Direct API calls → PlanetScale API (PSDB)
↓
Formatters & Price Calculators
↓
Return to Sheet
See MIGRATION_GUIDE.md for detailed architecture and troubleshooting.