Skip to main content
Version: 2.9.0

Job (v1) - Starting and Stopping Jobs

Introduction

The Superna Eyeglass REST API - v1 Jobs allows for starting, stopping, and managing failover jobs, rehearsal jobs, and failover-related tasks. This API provides programmatic access to various job management operations for disaster recovery and system resilience.

Endpoints

GET /v1/jobs

Description: Returns failover jobs from Superna Eyeglass.

Response Content Type: application/json

Parameters:

ParameterValueDescriptionParameter TypeData Type
stateoptionalfilter running or complete jobs [all, running, finished]querystring
successoptionalfilter jobs by result success [true, false]queryboolean

Response Codes:

  • 200 OK: Successfully retrieved jobs.
  • default: Error payload, see response structure.

Example Responses:

[
{
"failoverTarget": {
"policies": [
{
"failoverReadiness": {
"status": "OK"
},
"id": "string",
"name": "string",
"readinessDetail": [
{
"name": "string",
"reason": "string",
"status": {
"status": "OK"
},
"statusChildren": [
{}
]
}
],
"target": {
"id": "string",
"ip": "string",
"name": "string"
},
"zone": {
"failoverReadiness": {
"status": "OK"
},
"id": "string",
"name": "string",
"readinessDetail": [
{
"name": "string",
"reason": "string",
"status": {
"status": "OK"
},
"statusChildren": [
{}
]
}
]
}
}
],
"zone": {
"failoverReadiness": {
"status": "OK"
},
"id": "string",
"name": "string",
"readinessDetail": [
{
"name": "string",
"reason": "string",
"status": {
"status": "OK"
},
"statusChildren": [
{}
]
}
]
}
},
"finished": 0,
"id": "string",
"jobStatusDetails": {
"childrenDetails": [
{}
],
"finished": 0,
"id": "string",
"info": "string",
"name": "string",
"started": 0,
"state": "string",
"status": "string"
},
"jobType": "zone_failover",
"name": "string",
"sourceNode": {
"id": "string",
"ip": "string",
"name": "string"
},
"started": 0,
"success": true,
"targetNode": {
"id": "string",
"ip": "string",
"name": "string"
}
}
]

POST /v1/jobs

Description: Launch a new failover job in Eyeglass.

Response Content Type: application/json

Parameters:

ParameterValueDescriptionParameter TypeData Type
sourceidrequiredID of the source node for this jobquerystring
targetidrequiredID of the target node for this jobquerystring
failovertargetrequiredID of the access zone to failover OR IDs of syncIQ policies (comma separated) to failoverquerystring
pooloptionalPool name in case of pool failover. The name format is groupName:subnetName:poolNamequerystring
controlledtrue (default)Execute a controlled failover by running operations against the source cluster as well as the targetqueryboolean
datasynctrue (default)Run the final incremental data sync before failoverqueryboolean
configsyncfalse (default)Run a configuration sync before failoverqueryboolean
resyncpreptrue (default)Run resync prep on the source cluster to create the mirror policiesqueryboolean
disablemirrorfalse (default)Disable mirror policies created on the failover targetqueryboolean
quotasynctrue (default)Run quota jobs to failover quotas to targetqueryboolean
blockonwarningstrue (default)Block failover on warningsqueryboolean
rollbackrenamesharestrue (default)Rollback renamed shares on failurequeryboolean
smbdataintegrityfalse (default)SMB data integrity failoverqueryboolean

Response Codes:

  • 201 Created: Job successfully created.
  • default: Error payload, see response structure.

Example Responses:

    {
"id": "string"
}

GET /v1/jobs/{id}

Description: Retrieve a failover job by id.

Response Content Type: application/json

Parameters:

ParameterValueDescriptionParameter TypeData Type
idrequiredID of the job to retrievepathstring

Response Codes:

  • 200 OK: Job successfully retrieved.
  • default: Error payload, see response structure.

Example Responses:

    {
"failoverTarget": {
"policies": [
{
"failoverReadiness": {
"status": "OK"
},
"id": "string",
"name": "string",
"readinessDetail": [
{
"name": "string",
"reason": "string",
"status": {
"status": "OK"
},
"statusChildren": [
{}
]
}
],
"target": {
"id": "string",
"ip": "string",
"name": "string"
},
"zone": {
"failoverReadiness": {
"status": "OK"
},
"id": "string",
"name": "string",
"readinessDetail": [
{
"name": "string",
"reason": "string",
"status": {
"status": "OK"
},
"statusChildren": [
{}
]
}
]
}
}
],
"zone": {
"failoverReadiness": {
"status": "OK"
},
"id": "string",
"name": "string",
"readinessDetail": [
{
"name": "string",
"reason": "string",
"status": {
"status": "OK"
},
"statusChildren": [
{}
]
}
]
}
},
"finished": 0,
"id": "string",
"jobStatusDetails": {
"childrenDetails": [
{}
],
"finished": 0,
"id": "string",
"info": "string",
"name": "string",
"started": 0,
"state": "string",
"status": "string"
},
"jobType": "zone_failover",
"name": "string",
"sourceNode": {
"id": "string",
"ip": "string",
"name": "string"
},
"started": 0,
"success": true,
"targetNode": {
"id": "string",
"ip": "string",
"name": "string"
}
}

GET /v1/jobs/{id}/log

Description: Get the failover jobs log.

Response Content Type: text/plain

Parameters:

ParameterValueDescriptionParameter TypeData Type
idrequiredID of the job to retrievepathstring

Response Codes:

  • 200 OK: Log successfully retrieved.
  • default: Error payload, see response structure.