Skip to content

qumulo_smb_settings (Resource)

Manages SMB server settings on a Qumulo cluster.

This is a singleton resource (one per cluster). It configures the global SMB server settings including encryption, protocol versions (dialects), signing, and share visibility.

Example Usage

Installation

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

Basic Settings

resource "qumulo_smb_settings" "main" {
  connection_profile = "prod"

  session_encryption = "PREFERRED"
  signing_required   = true
}

Secure Configuration (SMB3 Only)

resource "qumulo_smb_settings" "main" {
  connection_profile = "prod"

  session_encryption = "REQUIRED"
  signing_required   = true

  # Only allow SMB 3.x dialects
  supported_dialects = [
    "SMB2_DIALECT_3_0",
    "SMB2_DIALECT_3_11"
  ]

  # Hide shares from unauthorized access
  hide_shares_from_unauthorized_users = true
  hide_shares_from_unauthorized_hosts = true

  # Hide snapshot directories
  snapshot_directory_mode = "HIDDEN"
}

Multi-Cluster with for_each

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

resource "qumulo_smb_settings" "main" {
  for_each = var.clusters

  connection_profile = each.value

  session_encryption = "PREFERRED"
  signing_required   = true
}

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
    }
  ]
}

Optional

  • bypass_traverse_checking (Boolean) Skip directory traversal checking for all users. Defaults to false.
  • hide_shares_from_unauthorized_hosts (Boolean) If share permissions deny a connected host access to a share, that share will not be visible in the share listing. Defaults to false.
  • hide_shares_from_unauthorized_users (Boolean) If share permissions deny a logged in user access to a share, that share will not be visible in the share listing. Defaults to false.
  • session_encryption (String) Session-level encryption setting. Valid values: NONE, PREFERRED, REQUIRED. Defaults to NONE.
  • signing_required (Boolean) Requires messages from non-guest users to be signed. Defaults to false.
  • snapshot_directory_mode (String) Whether the special .snapshot directory should be visible or accessible. Valid values: VISIBLE, HIDDEN, DISABLED. Defaults to VISIBLE.
  • supported_dialects (Set of String) Enabled SMB protocol versions. Valid values: SMB2_DIALECT_2_002, SMB2_DIALECT_2_1, SMB2_DIALECT_3_0, SMB2_DIALECT_3_11. Defaults to all dialects.