Skip to content

qumulo_ftp_settings (Resource)

Manages FTP server settings on a Qumulo cluster.

This is a singleton resource (one per cluster). It configures the FTP server settings for file transfers.

Example Usage

Installation

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

Basic Configuration

resource "qumulo_ftp_settings" "main" {
  connection_profile = "prod"

  enabled                       = true
  chroot_users                  = true
  allow_unencrypted_connections = false
  greeting                      = "Welcome to Qumulo FTP"
}

With Anonymous User

resource "qumulo_ftp_settings" "main" {
  connection_profile = "prod"

  enabled                       = true
  chroot_users                  = true
  allow_unencrypted_connections = false
  greeting                      = "Welcome to Qumulo FTP"

  anonymous_user {
    id_type  = "LOCAL_USER"
    id_value = "ftp_anonymous"
  }
}

Multi-Cluster with for_each

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

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

  connection_profile = each.value

  enabled      = true
  chroot_users = true
}

Import

using the connection profile name:

terraform import qumulo_ftp_settings.main "prod"

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

  • allow_unencrypted_connections (Boolean) Allow unencrypted FTP connections. Set to false to require FTPS. Defaults to true.
  • anonymous_user (Block, Optional) Identity used for anonymous FTP logins. If not specified, anonymous access is disabled.

The anonymous user maps to a local or AD user identity for permission checking. (see below for nested schema) - check_remote_host (Boolean) Ensure all session connections originate from the same host. Disabling this allows FXP (server-to-server) transfers. Defaults to true. - chroot_users (Boolean) Restrict users to their home directory. When enabled, users cannot navigate outside their home. Defaults to false. - enabled (Boolean) Enable or disable FTP connections. Defaults to false. - expand_wildcards (Boolean) Enable wildcard expansion in LIST and NLST commands. Defaults to false. - greeting (String) Custom 220 greeting message displayed when clients connect. Defaults to the Qumulo banner. - log_operations (Boolean) Log FTP operations for auditing. Defaults to true.

Nested Schema for anonymous_user

Required:

  • id_type (String) The type of identity. Valid values: LOCAL_USER, LOCAL_GROUP, NFS_GID, NFS_UID, SMB_SID, INTERNAL, QUMULO_OPERATOR.
  • id_value (String) The identity value (e.g., username, group name, SID, UID/GID).