Skip to content

qumulo_file_system_settings (Resource)

Manages file system settings on a Qumulo cluster.

This is a singleton resource (one per cluster). It configures global file system settings including permissions mode, access time (atime) tracking, and file system notifications.

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_file_system_settings" "main" {
  connection_profile = "prod"

  permissions_mode = "CROSS_PROTOCOL"
}

Full Configuration

resource "qumulo_file_system_settings" "main" {
  connection_profile = "prod"

  # Permissions: NATIVE, CROSS_PROTOCOL, or _DEPRECATED_MERGED_V1
  permissions_mode = "CROSS_PROTOCOL"

  # Access time tracking
  atime_enabled     = true
  atime_granularity = "DAY"  # HOUR, DAY, or WEEK

  # File system notifications
  notify_recursive_mode = "ENABLED"  # DISABLED_ERROR, DISABLED_IGNORE, or ENABLED
}

Multi-Cluster with for_each

variable "clusters" {
  type = map(string)
  description = "Map of cluster key to connection profile name"
}

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

  connection_profile = each.value

  permissions_mode      = "CROSS_PROTOCOL"
  atime_enabled         = true
  atime_granularity     = "DAY"
  notify_recursive_mode = "ENABLED"
}

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

  • atime_enabled (Boolean) Enable access time (atime) tracking. When enabled, file access times are updated based on the granularity setting. Defaults to false.
  • atime_granularity (String) Granularity for atime updates when enabled. Valid values: HOUR, DAY (default), WEEK.
  • notify_recursive_mode (String) File system notification recursive mode. Valid values: DISABLED_ERROR (default, returns error for recursive requests), DISABLED_IGNORE (silently ignores recursive flag), ENABLED (allows recursive notifications).
  • permissions_mode (String) File system permissions mode. Valid values: NATIVE (default), CROSS_PROTOCOL, _DEPRECATED_MERGED_V1.