Endpoint

/v1/portal/spokes/{id}/propose

POST

Propose a relationship from the specified unlinked spoke portal on the current cluster. This action creates a pending hub portal on the specified cluster.

Parameters

Name Description Required
id Portal ID Yes

Request

Schema

{
  "description": "v1_portal_propose_request",
  "type": "object",
  "properties": {
    "hub_root": {
      "description": "Full path to the hub portal root directory",
      "type": "string"
    },
    "hub_address": {
      "description": "IP address of a node in the remote cluster",
      "type": "string"
    },
    "hub_port": {
      "description": "TCP port for the remote cluster",
      "type": "number"
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "v1_portal_spoke",
  "type": "object",
  "properties": {
    "id": {
      "description": "Spoke portal ID",
      "type": "number"
    },
    "spoke_type": {
      "type": "string",
      "enum": [
        "SPOKE_READ_ONLY",
        "SPOKE_READ_WRITE"
      ],
      "description": "Type of the spoke portal:\n * `SPOKE_READ_ONLY` - SPOKE_READ_ONLY,\n * `SPOKE_READ_WRITE` - SPOKE_READ_WRITE"
    },
    "state": {
      "type": "string",
      "enum": [
        "UNLINKED",
        "PENDING",
        "AUTHORIZED",
        "DELETING"
      ],
      "description": "State of the portal:\n * `AUTHORIZED` - An authorized spoke portal or hub portal that can be used for file system access.,\n * `DELETING` - A portal in the process of synchronizing outstanding changes before deletion.,\n * `PENDING` - A spoke portal or hub portal awaiting authorization. Hub portals are created in this state.,\n * `UNLINKED` - A newly created spoke portal without a relationship with another cluster."
    },
    "status": {
      "type": "string",
      "enum": [
        "INACTIVE",
        "ACTIVE",
        "DEGRADED"
      ],
      "description": "Status of the portal:\n * `ACTIVE` - A fully connected portal ready for use.,\n * `DEGRADED` - A portal missing one or more connections with the other cluster in the relationship.,\n * `INACTIVE` - A portal that is not ready for use."
    },
    "spoke_root": {
      "description": "Local spoke portal root directory file ID",
      "type": "string"
    },
    "spoke_root_path": {
      "description": "Local spoke portal root directory path",
      "type": "string"
    },
    "hub_id": {
      "description": "Corresponding remote hub portal ID (if in a relationship)",
      "type": "number"
    },
    "hub_cluster_uuid": {
      "description": "UUID of the cluster with the hub portal (if in a relationship)",
      "type": "string"
    },
    "hub_root": {
      "description": "Remote hub portal root directory (if in a relationship)",
      "type": "string"
    },
    "hub_address": {
      "description": "IP address of a node in the cluster with the hub portal (if in a relationship)",
      "type": "string"
    },
    "hub_port": {
      "description": "TCP port for the cluster with the hub portal (if in a relationship)",
      "type": "number"
    }
  }
}