-
Notifications
You must be signed in to change notification settings - Fork 49
Description
Description
Implement a sortable, filterable, version of equinix_metal_spot_market_price where multiple factors can be used to determine the best plan + location.
- https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_metal_spot_market_price
- https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_metal_plans
As seen in rancherlabs/terraform-harvester-equinix#63, it is possible to gather this information without a Terraform datasource, however, this requires usage of the Equinix Metal API directly, which prevents users from taking advantage of METAL_AUTH_TOKEN alone.
Alternatively, adding spotmarket pricing to the existing equinix_metal_plans could make for a more comprehensive feature, although it would mean tying separate EM APIs together in one resource.
The examples for equinix_metal_plans include a stanza that suggests that the existing filters, coupled with a sort for spot price, could be powerful:
filter {
attribute = "deployment_types"
values = ["spot_market"]
}Implementing this datasource in HCL is not a simple task. Kudos to the team that pulled this example together.
New or Affected Terraform Resources
equinix_metal_spot_market_prices
Potential Terraform Configuration
data "equinix_metal_spot_market_prices" "example" {
sort {
attribute = "pricing_hour"
direction = "asc"
}
filter {
attribute = "pricing_hour"
values = [2.5]
match_by = "less_than"
}
filter {
attribute = "available_in_metros"
values = ["da", "sv"]
}
}