Skip to content

qumulo_local_user (Resource)

Manages a local user on a Qumulo cluster.

Local users can authenticate to SMB shares and are used for NFS identity mapping. Each user must belong to a primary group.

Example Usage

Installation

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

Basic User

resource "qumulo_local_group" "users" {
  connection_profile = "prod"
  name               = "users"
}

resource "qumulo_local_user" "alice" {
  connection_profile = "prod"
  name               = "alice"
  primary_group      = qumulo_local_group.users.id
}

User with All Options

resource "qumulo_local_user" "bob" {
  connection_profile = "prod"
  name               = "bob"
  primary_group      = qumulo_local_group.users.id
  uid                = "1001"
  home_directory     = "/home/bob"
  password           = var.bob_password
}

Multi-Cluster with for_each

variable "clusters" {
  type    = set(string)
  default = ["prod", "dr"]
}

resource "qumulo_local_user" "service_account" {
  for_each = var.clusters

  connection_profile = each.value
  name               = "service-account"
  primary_group      = qumulo_local_group.users[each.key].id
}

Import

Local users can be imported using the format connection_profile,username:

terraform import qumulo_local_user.example prod,alice

~> Note: The password attribute is write-only and cannot be read back from the cluster. After import, Terraform will not detect changes to passwords made outside of Terraform.

Schema

Required

  • connection_profile (String) Name of a connection profile defined in the provider block.

Connection profiles centralize cluster credentials at the provider level. Define profiles in the provider block:

provider "qumulo" {
  connection_profiles = [
    {
      name                 = "prod"
      endpoint             = "https://cluster.example.com:8000"
      username             = "admin"
      password             = var.cluster_password
      insecure_skip_verify = true  # For self-signed certificates
    }
  ]
}
- name (String) The username. Must be unique on the cluster. - primary_group (String) The ID of the user's primary group.

Optional

  • home_directory (String) The path to the user's home directory.
  • password (String, Sensitive) The user's password. This is write-only and cannot be read back from the cluster. Changes to passwords made outside of Terraform will not be detected.
  • uid (String) The NFS user ID (UID). If not specified, one will be auto-assigned by the cluster.

Read-Only

  • can_change_password (Boolean) Whether the user can change their own password.
  • id (String) The unique ID of the local user assigned by the cluster.
  • sid (String) The Windows Security Identifier (SID) for the user.