Skip to content

frostmoln_lb_health_monitor (Resource) ​

Manages the health monitor of a Frostmoln load balancer pool. A pool has at most one health monitor (singleton).

Authoritative scope — who owns what on this resource, declared in internal/scopedecl and machine-checked against the schema.

Enacted and reconciled — every configurable attribute not listed below: the platform applies it, and a refresh reads the truth back.

Create-immutable — load_balancer_id, pool_id, type: the monitor's identity is its pool and check type; changing one is a different monitor.

Observed, not enacted — tags_all: keys set outside Terraform — in the portal, by the fm CLI, or stamped by the platform — appear only here and are kept on every apply, never removed.

Example Usage ​

terraform
# A health monitor for a load balancer pool. A pool has at most one health
# monitor (singleton); the type must be tcp, http, or https (ping is not
# supported).
resource "frostmoln_lb_health_monitor" "backend" {
  load_balancer_id = frostmoln_load_balancer.web.id
  pool_id          = frostmoln_lb_pool.backend.id
  type             = "http"
  delay            = 5
  timeout          = 3
  max_retries      = 3
  url_path         = "/healthz"
  http_method      = "GET"
  expected_codes   = "200"

  # The monitor's OWN tags — separate from its pool's and the load balancer's.
  # Removing this block removes every tag from the monitor.
  tags = {
    env = "prod"
  }
}

Schema ​

Required ​

  • load_balancer_id (String) The ID of the load balancer the pool belongs to. Changing this forces a new resource.
  • pool_id (String) The ID of the pool this health monitor belongs to. Changing this forces a new resource.
  • type (String) The health check type: tcp, http, or https. Changing this forces a new resource.

Optional ​

  • delay (Number) The interval in seconds between health checks.
  • expected_codes (String) The HTTP status codes considered healthy (http/https monitors), e.g. "200" or "200-299".
  • http_method (String) The HTTP method used for the health check (http/https monitors).
  • max_retries (Number) The number of successful checks before a member is marked healthy.
  • tags (Map of String) Key-value tags for the health monitor. These are the monitor's own tags, separate from its pool's and the load balancer's. Merged with the provider's default_tags on every write (a key set here wins). Holds only the keys this configuration sets; the full set is in tags_all.
  • timeout (Number) The time in seconds to wait for a health check response.
  • timeouts (Block, Optional) (see below for nested schema)
  • url_path (String) The HTTP path to probe (http/https monitors).

Read-Only ​

  • created_at (String) The creation timestamp.
  • id (String) The unique identifier of the health monitor.
  • tags_all (Map of String) Every tag the platform holds on this resource: the provider's default_tags, this resource's own tags (which win on a shared key), and any key set outside Terraform — in the portal, by the fm CLI, or stamped by the platform. Keys set outside Terraform appear only here and are kept on every apply, never removed.
  • updated_at (String) The last update timestamp.

Nested Schema for timeouts ​

Optional:

  • create (String) How long the provider waits for the create operation to converge before giving up (e.g. "45m", "2h").
  • delete (String) How long the provider waits for the delete to complete before giving up (e.g. "30m").
  • update (String) How long the provider waits for an update (resize, in-place change) to converge before giving up (e.g. "30m").