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": "api_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": "api_portal_spoke_relationship",
  "type": "object",
  "properties": {
    "id": {
      "description": "Spoke portal ID",
      "type": "number"
    },
    "spoke_root": {
      "description": "Local spoke portal root directory file ID",
      "type": "string"
    },
    "spoke_root_path": {
      "description": "Local spoke portal root directory path",
      "type": "string"
    },
    "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",
        "ACTIVE",
        "ENDED"
      ],
      "description": "State of the portal:\n * `ACTIVE` - PORTAL_ACTIVE,\n * `ENDED` - PORTAL_ENDED,\n * `PENDING` - PORTAL_PENDING,\n * `UNLINKED` - PORTAL_UNLINKED"
    },
    "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"
    },
    "hub_id": {
      "description": "Corresponding remote hub portal id (if in a relationship)",
      "type": "number"
    }
  }
}