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'.