nutritious-printer-37048
06/24/2026, 7:45 PM.metal SKU family is absent from the Cloud Pricing API. Could you add the bare-metal SKUs? Happy to file a GitHub issue if that's the better channel. Thanks!able-exabyte-30192
06/24/2026, 8:09 PMnutritious-printer-37048
06/24/2026, 8:16 PMable-exabyte-30192
06/24/2026, 8:47 PMproductFamily from the rest of EC2, which I think is what's tripping the query up. Support for the metal family was added late last year.
Specifically, AWS uses productFamily: "Compute Instance" for normal EC2 SKUs, but switches to productFamily: "Compute Instance (bare metal)" for every .metal type. The Cloud Pricing API mirrors AWS's classification exactly, so a query that filters on "Compute Instance" will come back empty for any .metal SKU.
If you swap the productFamily filter, the data is all there. Quick sanity check in `us-east-1`:
{
products(filter: {
vendorName: "aws",
service: "AmazonEC2",
productFamily: "Compute Instance (bare metal)",
region: "us-east-1",
attributeFilters: [
{ key: "instanceType", value: "m5.metal" },
{ key: "tenancy", value: "Shared" },
{ key: "operatingSystem", value: "Linux" },
{ key: "preInstalledSw", value: "NA" },
{ key: "capacitystatus", value: "Used" }
]
}) {
prices(filter: { purchaseOption: "on_demand" }) { USD }
}
}
Returns $4.1472/hr for m5.metal. I just successfully spot-checked m5.metal, i3.metal, c6i.metal, r5.metal, m7i.metal-48xl, and c8g.metal-48xl.
Worth noting: if you're going through the Infracost CLI rather than calling the API directly, the CLI already does this productFamily switch internally for .metal instance types, so it should "just work" there.
Let me know if there's a specific instance type that's still missing after the switch, and we can dig in further. Thanks for flagging it! I'll also pass this on internally as a docs item, since it's an easy thing to get caught on.nutritious-printer-37048
06/24/2026, 8:58 PMinfracost scan (us-east-1, Linux/on-demand):
provider "aws" { region = "us-east-1" }
resource "aws_instance" "metal" {
ami = "ami-1"; instance_type = "m5.metal" }
resource "aws_instance" "control" {
ami = "ami-1"; instance_type = "m5.24xlarge" }
m5.24xlarge comes back at $3,365/mo as expected, but m5.metal shows $1/mo (just the root volume). Same for the other .metal types. Am I missing a flag or config, or is the bare-metal handling maybe not in the scan path yet?able-exabyte-30192
06/24/2026, 8:59 PMnutritious-printer-37048
06/24/2026, 9:00 PMable-exabyte-30192
06/26/2026, 5:00 PMable-exabyte-30192
06/30/2026, 3:04 PM