frostmoln_lb_pool (Resource)
Manages a backend pool on a Frostmoln load balancer.
Example Usage
terraform
# A backend pool for a load balancer.
#
# The pool's listener_id attaches this pool to a listener. This is the canonical
# direction for the listener<->pool link; do NOT also set default_pool_id on the
# listener, or Terraform will report a dependency cycle.
resource "frostmoln_lb_pool" "backend" {
load_balancer_id = frostmoln_load_balancer.web.id
listener_id = frostmoln_lb_listener.https.id
name = "backend"
protocol = "http"
lb_algorithm = "round_robin"
proxy_protocol = "none"
# Optional session persistence (nested attribute). Omit for none.
session_persistence = {
type = "APP_COOKIE"
cookie_name = "SESSIONID"
persistence_timeout = 3600
}
# The pool's OWN tags. The load balancer's tags are separate and are not
# inherited; removing this block removes every tag from the pool.
tags = {
env = "prod"
owner = "team-a"
}
}Schema
Required
lb_algorithm(String) The load balancing algorithm: round_robin, least_connections, source_ip, or source_ip_port (source_ip_port is required for OVN-provider pools).load_balancer_id(String) The ID of the load balancer this pool belongs to. Changing this forces a new resource.name(String) The name of the pool.protocol(String) The pool protocol: tcp, udp, sctp, http, https, or terminated_https.
Optional
listener_id(String) The ID of the listener this pool is attached to. Changing this forces a new resource.proxy_protocol(String) The PROXY protocol version sent to backend members: none (default), v1, or v2.session_persistence(Attributes) Session persistence configuration for the pool. Omit for no persistence. (see below for nested schema)tags(Map of String) Key-value tags for the pool. These are the pool's own tags, separate from the load balancer's.
Read-Only
created_at(String) The creation timestamp.id(String) The unique identifier of the pool.updated_at(String) The last update timestamp.
Nested Schema for session_persistence
Required:
type(String) The session persistence type: SOURCE_IP, HTTP_COOKIE, or APP_COOKIE.
Optional:
cookie_name(String) The cookie name to use for persistence (required for APP_COOKIE).persistence_granularity(String) The persistence granularity (netmask) for SOURCE_IP persistence.persistence_timeout(Number) The persistence timeout in seconds.