Skip to content

qumulo_filesystem_edge_baremetal (Resource)

Deploys a single-node Qumulo edge cluster on a bare metal node via SSH.

This resource provisions Qumulo software on a single bare metal server and creates an unprotected edge cluster. The node's SSH credentials are defined in the connection profile's nodes block, which must contain exactly one node.

Example Usage

terraform {
  required_providers {
    qumulo = {
      source  = "qumulo-terraform-registry.s3.us-east-1.amazonaws.com/qumulo/qumulo"
      version = "~> 1.0"
    }
  }
}

provider "qumulo" {
  connection_profiles = [
    {
      name     = "edge"
      endpoint = "https://10.0.1.10:8000"
      username = "admin"
      password = var.admin_password

      nodes = [
        {
          ip              = "10.0.1.10"
          ssh_private_key = file("~/.ssh/qumulo_key")
        },
      ]
    },
  ]
}

resource "qumulo_filesystem_edge_baremetal" "cluster" {
  connection_profile = "edge"

  cluster_name    = "edge01"
  admin_password  = var.admin_password
  # cluster_version = "7.7.2"  # Optional: defaults to latest
}

Import

Existing edge clusters can be imported by connection profile name:

terraform import qumulo_filesystem_edge_baremetal.cluster edge

Important: After import, cluster_name, admin_password, and cluster_version are not populated in state (the Qumulo REST API does not expose them). This causes a perpetual diff on every terraform plan. Add ignore_changes to suppress it:

resource "qumulo_filesystem_edge_baremetal" "cluster" {
  connection_profile = "edge"
  cluster_name       = "edge01"
  admin_password     = var.admin_password

  lifecycle {
    ignore_changes = [cluster_name, admin_password, cluster_version]
  }
}

Schema

Required

NOTE: Write-only arguments are supported in Terraform 1.11 and later.

  • admin_password (String, Sensitive, Write-only) Administrator password for the cluster. To change the admin password after creation, use the Qumulo UI or REST API directly.
  • cluster_name (String) Name of the Qumulo cluster (2-15 alphanumeric characters). Cannot be changed after creation.
  • connection_profile (String) Name of a connection profile defined in the provider block.

For edge bare metal deployments, the connection profile must include a nodes block with SSH credentials for exactly one server.

provider "qumulo" {
  connection_profiles = [
    {
      name     = "edge"
      endpoint = "https://10.0.1.10:8000"
      username = "admin"
      password = var.admin_password

      nodes = [
        {
          ip              = "10.0.1.10"
          ssh_private_key = file("~/.ssh/qumulo_key")
        },
      ]
    },
  ]
}

Optional

  • cluster_version (String) Qumulo software version to install (e.g., '7.7.2'). If omitted, the latest available version is used. Cannot be changed after creation.

Read-Only

  • cluster_uuid (String) UUID assigned to the cluster by Qumulo.
  • endpoint (String) HTTPS management endpoint URL for the cluster.
  • id (String) Unique identifier for the resource (cluster UUID).
  • node_ips (List of String) IP address of the cluster node.