Unified pricing tool — returns public catalog rates plus contracted/effective prices
where credentials are available.
Pass a spec dict with at minimum: provider, domain, region.
Domain-specific required fields (call describe_catalog for the complete list):
COMPUTE : resource_type ("m5.xlarge" / "n1-standard-4" / "Standard_D4s_v3")
os ("Linux" or "Windows"), term ("on_demand"/"spot"/"cud_1yr")
Fargate: vcpu (e.g. 2.0), memory_gb (e.g. 4.0), service="fargate"
STORAGE : storage_type ("gp3"/"io2"/"sc1"/"standard"/"nearline"/"pd-extreme"/"hyperdisk-extreme"/"premium-ssd")
size_gb — disk size for monthly estimate
iops — provisioned IOPS for io1/io2 (AWS) or pd-extreme/hyperdisk-extreme (GCP)
throughput_mbps — provisioned throughput MB/s for gp3 (AWS); charge above 125 MB/s baseline
DATABASE : resource_type ("db.r5.large"/"db-n1-standard-4"), engine ("MySQL"),
deployment ("single-az"/"ha"/"multi-az"), service ("rds"/"cloud_sql"/"memorystore")
AI : model ("claude-3-5-sonnet"/"gemini-1.5-flash"), service ("bedrock"/"gemini"/"vertex"),
input_tokens, output_tokens | machine_type + task for Vertex
CONTAINER: service ("gke"/"eks"), mode ("standard"/"autopilot"), node_count, vcpu, memory_gb
ANALYTICS: service ("bigquery"), query_tb, active_storage_gb, longterm_storage_gb, streaming_gb
NETWORK : service ("cloud_lb"/"cloud_cdn"/"cloud_nat"/"cloud_armor"),
lb_type, rule_count, data_gb, gateway_count, egress_gb, policy_count
OBSERVABILITY: service ("cloudwatch"/"cloud_monitoring"), ingestion_mib, log_gb
INTER_REGION_EGRESS: source_region, dest_region (empty = internet), data_gb
Example: {"provider": "aws", "domain": "inter_region_egress",
"source_region": "us-east-1", "dest_region": "eu-west-1"}
Returns public_prices[] always. When auth exists: contracted_prices[], effective_price,
auth_available=true.
Call describe_catalog(provider, domain, service) for an example_invocation you can
copy directly into this tool.
Args:
spec: PricingSpec dict — see field descriptions above.
Examples:
{"provider": "aws", "domain": "compute", "resource_type": "m5.xlarge", "region": "us-east-1"}
{"provider": "aws", "domain": "ai", "service": "bedrock", "model": "claude-3-5-sonnet", "region": "us-east-1", "input_tokens": 1000000, "output_tokens": 1000000}
{"provider": "gcp", "domain": "compute", "resource_type": "n1-standard-4", "region": "us-central1", "term": "cud_1yr"}
{"provider": "gcp", "domain": "analytics", "service": "bigquery", "query_tb": 10.0, "active_storage_gb": 500.0, "region": "us"}
{"provider": "azure", "domain": "compute", "resource_type": "Standard_D4s_v3", "region": "eastus"}
{"provider": "aws", "domain": "database", "service": "rds", "resource_type": "db.r5.large", "engine": "MySQL", "deployment": "single-az", "region": "us-east-1"}