Skip to content

Terraform Provider

The Frostmoln Terraform provider lets you manage your cloud resources declaratively — version-controlled, reviewable, and reproducible.

Install

Declare the provider in your Terraform configuration:

hcl
terraform {
  required_providers {
    frostmoln = {
      source = "frostmoln/frostmoln"
    }
  }
}

provider "frostmoln" {
  # Configuration via provider arguments or environment variables —
  # see Getting Started.
}

Run terraform init to download it.

Example resource

hcl
resource "frostmoln_instance" "web" {
  name      = "web-1"
  image_id  = data.frostmoln_image.ubuntu.id
  flavor_id = "gp1.small"
  zone      = "falkenberg"
  vpc_id    = frostmoln_vpc.main.id
  subnet_id = frostmoln_subnet.main.id

  security_groups = [frostmoln_security_group.web.id]
  ssh_key_names   = [frostmoln_ssh_key.laptop.name]
}

That block is an extract, not a complete configuration: it refers to a VPC, a subnet, a security group, an SSH key and an image data source declared alongside it. The VPC also needs a Gateway of its own — without one it is an isolated network with no outbound internet and no platform DNS, so an instance in it boots but cloud-init cannot reach anything. Getting Started has the whole thing.

Provider reference

Full schema for every resource and data source is in the Terraform Provider Reference (English).

Next steps