qumulo_portal_hub (Resource)¶
Accepts a pending portal hub relationship on a Qumulo cluster using the v2 Portal API.
In most cases, qumulo_portal and qumulo_portal_root are simpler and recommended.
Use this resource only when the hub and spoke clusters cannot both be reached from the
network where Terraform runs.
This resource finds a pending hub portal by spoke cluster UUID and accepts it,
establishing the relationship between spoke and hub clusters. To authorize root
directories for data access, use the qumulo_portal_hub_root resource.
Example Usage¶
Installation¶
terraform {
required_providers {
qumulo = {
source = "qumulo-terraform-registry.s3.us-east-1.amazonaws.com/qumulo/qumulo"
version = "~> 1.0"
}
}
}
# Step 1: Create spoke portal
resource "qumulo_portal_spoke" "main" {
connection_profile = "spoke"
type = "PORTAL_READ_WRITE"
hub_address = "10.0.0.1"
}
# Step 2: Accept on hub
resource "qumulo_portal_hub" "main" {
connection_profile = "hub"
spoke_cluster_uuid = qumulo_portal_spoke.main.spoke_cluster_uuid
spoke_address = "10.0.0.2"
}
# Step 3: Add spoke root
resource "qumulo_portal_spoke_root" "data" {
connection_profile = "spoke"
spoke_id = qumulo_portal_spoke.main.id
spoke_root_path = "/data"
hub_root_path = "/shared"
depends_on = [qumulo_portal_hub.main]
}
# Step 4: Authorize hub root
resource "qumulo_portal_hub_root" "data" {
connection_profile = "hub"
hub_id = qumulo_portal_hub.main.id
root_id = qumulo_portal_spoke_root.data.remote_root
}
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
}
]
}
spoke_address (String) The hostname or IP address where the hub can reach the spoke cluster.
- spoke_cluster_uuid (String) The UUID of the spoke cluster. This is obtained from the qumulo_portal_spoke resource's spoke_cluster_uuid attribute.
Optional¶
spoke_port(Number) The port for portal communication on the spoke cluster (default: 3713).
Read-Only¶
id(Number) The ID of the hub portal.pending_roots(List of String) Hub root directories that are pending authorization.spoke_cluster_name(String) The name of the spoke cluster.state(String) The state of the portal relationship: PENDING (waiting for acceptance), ACCEPTED (relationship established), DELETING (being removed).status(String) The status of the portal: INACTIVE, ACTIVE, or DEGRADED.type(String) The type of the portal: PORTAL_READ_ONLY or PORTAL_READ_WRITE.