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.