Endpoint

/v1/portal/spokes/

GET

List the relationship status and configuration for all spoke portals on the current cluster.

Parameters

This resource has no parameters.

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "v1_portal_spokes",
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "items": {
        "description": "List of spoke portals",
        "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"
          }
        }
      }
    }
  }
}

POST

Create a spoke portal in the UNLINKED state in the current cluster. It is now possible to propose a relationship between this spoke portal and a hub portal on another cluster.

Parameters

This resource has no parameters.

Request

Schema

{
  "description": "v1_portal_create_request",
  "type": "object",
  "properties": {
    "spoke_root": {
      "description": "Full path to the spoke portal root directory",
      "type": "string"
    },
    "is_writable_spoke": {
      "description": "Whether the spoke portal is writable. Default to false. In-development feature.",
      "type": "boolean"
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "type": "number"
}