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:
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.