Endpoint

/v2/portal/spokes/{id}/roots/

POST

Propose a spoke root directory for the specified spoke portal. This action creates a pending hub root directory on the paired remote hub portal.

Parameters

Name Description Required
id Portal ID Yes

Request

Schema

{
  "description": "v2_portal_root_propose_request",
  "type": "object",
  "properties": {
    "spoke_root_path": {
      "description": "Full path to the spoke portal root directory",
      "type": "string"
    },
    "hub_root_path": {
      "description": "Full path to the hub portal root directory",
      "type": "string"
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "v2_portal_spoke",
  "type": "object",
  "properties": {
    "id": {
      "description": "Spoke portal ID",
      "type": "number"
    },
    "type": {
      "type": "string",
      "enum": [
        "PORTAL_READ_ONLY",
        "PORTAL_READ_WRITE"
      ],
      "description": "Type of the spoke portal (read-only or read-write):\n * `PORTAL_READ_ONLY` - PORTAL_READ_ONLY,\n * `PORTAL_READ_WRITE` - PORTAL_READ_WRITE"
    },
    "state": {
      "type": "string",
      "enum": [
        "PENDING",
        "ACCEPTED",
        "DELETING"
      ],
      "description": "State of the spoke portal:\n * `ACCEPTED` - API_PORTAL_ACCEPTED,\n * `DELETING` - API_PORTAL_DELETING,\n * `PENDING` - API_PORTAL_PENDING"
    },
    "status": {
      "type": "string",
      "enum": [
        "INACTIVE",
        "ACTIVE",
        "DEGRADED"
      ],
      "description": "Status of the portal:\n * `ACTIVE` - PORTAL_ACTIVE,\n * `DEGRADED` - PORTAL_DEGRADED,\n * `INACTIVE` - PORTAL_INACTIVE"
    },
    "hub_hosts": {
      "type": "array",
      "items": {
        "description": "IP addresses and TCP ports of nodes in the remote cluster",
        "type": "object",
        "properties": {
          "address": {
            "description": "address",
            "type": "string"
          },
          "port": {
            "description": "port",
            "type": "number"
          }
        }
      }
    },
    "hub_id": {
      "description": "Corresponding remote hub portal ID",
      "type": "number"
    },
    "hub_cluster_uuid": {
      "description": "UUID of the cluster with the hub portal",
      "type": "string"
    },
    "roots": {
      "type": "array",
      "items": {
        "description": "Map of spoke root directories to hub root directories",
        "type": "object",
        "properties": {
          "local_root": {
            "description": "Local spoke root directory file ID",
            "type": "string"
          },
          "remote_root": {
            "description": "Remote hub root directory file ID",
            "type": "string"
          },
          "authorized": {
            "description": "Whether the spoke portal is authorized to access the remote root",
            "type": "boolean"
          }
        }
      }
    }
  }
}