Skip to content

qumulo_replication_source_relationship (Resource)

Manages a replication source relationship on a Qumulo cluster.

A source relationship defines replication from this cluster to a target cluster. After creating the source relationship, the target cluster must authorize it using the qumulo_replication_target_relationship resource.

Example Usage

Installation

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

Basic Continuous Replication

resource "qumulo_replication_source_relationship" "primary" {
  connection_profile = "source"

  target_address   = "10.0.0.100"
  target_root_path = "/replica"
  source_root_path = "/data"

  trigger_initial_replication = true
}

Replication with Blackout Windows

resource "qumulo_replication_source_relationship" "with_blackout" {
  connection_profile = "source"

  target_address             = "10.0.0.100"
  target_root_path           = "/replica"
  source_root_path           = "/data"
  blackout_window_timezone   = "America/Los_Angeles"

  blackout_window {
    start_hour   = 9
    start_minute = 0
    end_hour     = 17
    end_minute   = 0
    on_days      = ["MON", "TUE", "WED", "THU", "FRI"]
  }
}

Snapshot Policy Replication

resource "qumulo_replication_source_relationship" "snapshot_based" {
  connection_profile = "source"

  target_address   = "10.0.0.100"
  target_root_path = "/replica"
  source_root_path = "/data"
  replication_mode = "REPLICATION_SNAPSHOT_POLICY"

  snapshot_policy {
    id                = 123
    target_expiration = "7days"
  }
}

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
    }
  ]
}
- source_root_path (String) The path on this cluster to replicate from. This is write-only during creation; use source_root_id for reads. - target_address (String) The IP address or hostname of the target cluster. - target_root_path (String) The path on the target cluster where data will be replicated to.

Optional

  • blackout_window (Block List) Time windows during which replication will be paused. (see below for nested schema)
  • blackout_window_timezone (String) The timezone for interpreting blackout windows (e.g., 'America/Los_Angeles', 'UTC').
  • map_local_ids_to_nfs_ids (Boolean) Whether to map local user/group identities to their associated NFS UID/GID when replicating. Required if replicating local identities. Defaults to false.
  • replication_enabled (Boolean) Whether automatic replication is enabled. Defaults to true.
  • replication_mode (String) The replication mode: REPLICATION_CONTINUOUS, REPLICATION_SNAPSHOT_POLICY, or REPLICATION_SNAPSHOT_POLICY_WITH_CONTINUOUS.
  • snapshot_policy (Block List) Snapshot policies to link with this replication relationship. (see below for nested schema)
  • source_root_read_only (Boolean) Whether the source directory should be read-only. Defaults to false.
  • target_port (Number) The replication port on the target cluster. Defaults to 3712.
  • trigger_initial_replication (Boolean) If true, triggers an initial replication job after the relationship is created and authorized. This does not affect subsequent applies. Defaults to false.

Read-Only

  • id (String) The unique ID of the replication relationship.
  • source_root_id (String) The file ID of the source directory (computed from source_root_path).

Nested Schema for blackout_window

Required:

  • end_hour (Number) Hour of day [0-23] when the blackout window ends.
  • end_minute (Number) Minute of hour [0-59] when the blackout window ends.
  • on_days (List of String) Days of the week when this blackout window applies. Valid values: SUN, MON, TUE, WED, THU, FRI, SAT, EVERY_DAY.
  • start_hour (Number) Hour of day [0-23] when the blackout window begins.
  • start_minute (Number) Minute of hour [0-59] when the blackout window begins.

Nested Schema for snapshot_policy

Required:

  • id (Number) The ID of the snapshot policy to link.
  • target_expiration (String) Duration after which replicated snapshots expire on the target. Format: '' (e.g., '7days', '1hours'), 'never', or 'same_as_policy'.