Skip to content

frostmoln_scale_group (Resource) ​

Manages an auto-scaling group in the Frostmoln platform.

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.

Observed, not enacted — current_size: the autoscaler moves it continuously under the customer — desired_capacity is the intent, this is the truth. 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
resource "frostmoln_scale_group" "web" {
  name                   = "web-servers"
  launch_template_id     = frostmoln_launch_template.web.id
  min_size               = 2
  max_size               = 10
  desired_capacity       = 3
  subnet_ids             = [frostmoln_subnet.a.id, frostmoln_subnet.b.id]
  load_balancer_pool_ids = [frostmoln_lb_pool.web.id]

  health_check_type         = "lb"
  health_check_grace_period = 120
  cooldown_seconds          = 300
  termination_policy        = "oldest_first"

  tags = {
    environment = "production"
  }
}

Schema ​

Required ​

  • desired_capacity (Number) The desired number of instances in the scale group.
  • launch_template_id (String) The launch template ID used to create instances in this scale group.
  • max_size (Number) The maximum number of instances in the scale group.
  • min_size (Number) The minimum number of instances in the scale group.
  • name (String) The name of the scale group.
  • subnet_ids (Set of String) The subnet IDs where instances will be launched. At least one is required.

Optional ​

  • cooldown_seconds (Number) The number of seconds after a scaling activity completes before another can start.
  • health_check_grace_period (Number) The number of seconds to wait before starting health checks on new instances.
  • health_check_type (String) The type of health check to use: "instance", "lb", or "both".
  • load_balancer_pool_ids (Set of String) The load balancer pool IDs to attach to the scale group.
  • tags (Map of String) Key-value tags for the scale group. 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.
  • termination_policy (String) The policy for selecting instances to terminate during scale-in (e.g. "oldest_first", "newest_first").
  • timeouts (Block, Optional) (see below for nested schema)
  • warmup_seconds (Number) The number of seconds to wait for a new instance to warm up before it receives traffic. Zero is honored as sent; omit to use the server default.

Read-Only ​

  • created_at (String) The timestamp when the scale group was created.
  • current_size (Number) The current number of running instances in the scale group.
  • id (String) The unique identifier of the scale group.
  • status (String) The current status of the scale group.
  • 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 timestamp when the scale group was last updated.

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").