List Lightbits clusters

List the Lightbits clusters connected to the DMS service.

Auth
Headers
Authorizationstring

Bearer id-token

GET /api/v1/clusters
Copy
Responses application/json
200

A successful response.

List Clusters Responseobject

The response to list the Lightbits clusters connected to the DMS service.

clustersarray[object]
idstring

The UUID of the cluster. Must be a valid UUID.

namestring

The name of the cluster.

versionstring

The minimum version of the Lightbits release on the cluster.

subsystemNqnstring

The NQN of the subsystem of the cluster.

apiEndpointsarray[string]

The list of API endpoints of the cluster.

discoveryEndpointsarray[string]

The list of discovery endpoints of the cluster.

clusterConnectionStatusobject

The connection status of the cluster.

accessConnectionStatusstring

The connection status of the cluster.

Enum: Connected,Disconnected,Unauthorized

Default: Connected

dataConnectionStatusstring

The connection status of the cluster.

Enum: Connected,Disconnected,Unauthorized

Default: Connected

401

Authentication required / Authentication failed

default

An unexpected error response.

Response
Copy

Attach Lightbits cluster

Attach a Lightbits cluster to the DMS service.

Attaching a Lightbits cluster is a multi-step process:

  1. Get the service credentials (GetServiceCredentials).
  2. Import the public key into the Lightbits cluster. Save the decoded DMS pubKey to a file, and upload it to the Lightbits server: echo "" | base64 -d > /tmp/pub-key.pem scp /tmp/pub-key.pem @:/tmp/ rm -rf /tmp/pub-key.pem
  3. Add the credentials to the Lightbits cluster. SSH to the Lightbits server that the credentials were uploaded to, and execute the following (requires system-admin privileges): lbcli create credential --project-name=system --type=rsa256pubkey --id= /tmp/pub-key.pem
  4. Invoke the attach cluster API (this API).

Auth
Headers
Authorizationstring

Bearer id-token

Request Body application/json
Attach Cluster Requestobject

Request to attach a cluster to the DMS service.

apiEndpointstring

Management API endpoint of the cluster to connect to. Any one of the API endpoints can be used must be of the form <host>:<port>, e.g.: 10.0.0.1:443, foo.bar.com:443.

POST /api/v1/clusters
Copy
Responses application/json
200

A successful response.

Attach Cluster Responseobject

Response to attach a Lightbits cluster to the DMS service. ListWorkflows API and the returned workflow ID can be used to track the status of this operation.

workflowIdstring
400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy

Refresh Lightbits clusters information

This API will trigger a refresh of the Lightbits clusters information.

Lightbits clusters information is cached in the DMS service, and this API will trigger a refresh of the information. Changed information examples can be:

  • A server was added to the cluster
  • A server was removed from the cluster
  • etc...

Auth
Headers
Authorizationstring

Bearer id-token

POST /api/v1/clusters/refresh
Copy
Responses application/json
200

A successful response.

Refresh Clusters Responseobject

Refresh Lightbits clusters information response, return an ID of the refresh workflow.

workflowIdstring
401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy

Detach Lightbits cluster

Detach a Lightbits cluster from the DMS service.

Auth
Headers
Authorizationstring

Bearer id-token

Path Params
cidstring

UUID of the cluster to detach from the DMS service (must be a valid UUID).

DELETE /api/v1/clusters/{cid}
Copy
Responses application/json
200

A successful response.

objectobject

Response to detach a Lightbits cluster from the DMS service.

400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy

Get DMS service credentials

Get the service credentials to enable attaching a cluster. The public key returned in the response should be imported into the Lightbits cluster.

Attaching a Lightbits cluster is a multi-step process:

  1. Get the service credentials (this API).
  2. Import the public key into the Lightbits cluster. Save the decoded DMS pubKey to a file, and upload them to the Lightbits server: echo "" | base64 -d > /tmp/pub-key.pem scp /tmp/pub-key.pem @:/tmp/ rm -rf /tmp/pub-key.pem
  3. Add the credentials to the Lightbits cluster. SSH to the Lightbits server that the credentials were uploaded to, and execute the following (requires system-admin privileges): lbcli create credential --project-name=system --type=rsa256pubkey --id= /tmp/pub-key.pem
  4. Invoke the attach cluster API (AttachCluster).

Auth
Headers
Authorizationstring

Bearer id-token

GET /api/v1/service-credentials
Copy
Responses application/json
200

A successful response.

Get Service Credentials Responseobject

The response to get the service credentials for the DMS service.

pubKeyIdstring

The key ID to be used while importing the public key into the Lightbits cluster.

pubKeystring

The base64-encoded public key to be imported into the Lightbits cluster.

After Base64 decoding, the contents should be saved as a file (e.g. into ) and passed as an argument to the following command to the corresponding Lightbits cluster, with and substituted as appropriate. lbcli create credential --project-name=system --id= --type=rsa256pubkey

401

Authentication required / Authentication failed

default

An unexpected error response.

Response
Copy

Create a thick clone snapshot

Create a thick clone snapshot from a source snapshot.

Auth
Headers
Authorizationstring

Bearer id-token

Request Body application/json
POST /api/v1/snapshots/thickclone
Copy
Responses application/json
200

A successful response.

Thick Clone Snapshot Responseobject

The response to create a thick clone snapshot from a source snapshot. ListWorkflows API and the returned workflow ID can be used to track the status of this operation.

workflowIdstring
400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy

Create a thick clone volume

Create a thick clone volume from a source snapshot.

Auth
Headers
Authorizationstring

Bearer id-token

Request Body application/json
POST /api/v1/volumes/thickclone
Copy
Responses application/json
200

A successful response.

Thick Clone Volume Responseobject

Response to create a thick clone volume from a source snapshot. ListWorkflows API and the returned workflow ID can be used to track the status of this operation.

workflowIdstring
400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy

List workflows

List the running and completed workflows.

Auth
Headers
Authorizationstring

Bearer id-token

Query String
pageSizeinteger
nextPageTokenstring
GET /api/v1/workflows
Copy
Responses application/json
200

A successful response.

400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Get a specific workflow by its ID

Get a specific workflow by its ID.

Auth
Headers
Authorizationstring

Bearer id-token

Path Params
workflowIdstring

The ID of the workflow.

GET /api/v1/workflows/{workflowId}
Copy
Responses application/json
200

A successful response.

400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Cancel a workflow by its ID

Cancel a specific workflow by its ID.

Auth
Headers
Authorizationstring

Bearer id-token

Path Params
workflowIdstring

The ID of the workflow (Optional - specify either the runID or workflowID).

Query String
runIdstring

The ID of the workflow (Optional - specify either the runID or workflowID).

POST /api/v1/workflows/{workflowId}/cancel
Copy
Responses application/json
200

A successful response.

Cancel Workflow Responseobject

Response of cancel a workflow by its ID.

400

Invalid argument.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy

Login to the DMS service

If successful, the response will contain a token that should be used in the Authorization header for all subsequent requests.

Auth
Headers
Authorizationstring

Basic authentication header base64 encoded user:password

POST /login
Copy
Responses application/json
200

A successful response.

Login Responseobject

The response to the login to the DMS service.

tokenTypestring

The type of token.

expiresInstring

The time in seconds when the token will expire.

idTokenstring

The ID of the token.

401

Authentication required / Authentication failed

500

Internal error in the DMS service.

default

An unexpected error response.

Response
Copy