The API allows you to list, view, edit and register nodes.
Returns list of nodes filtered by specified query parameters.
name | type | description |
---|---|---|
backup-to-be-restored | query | |
direction | query | |
filter | query | |
nameLike | query | |
nodeConfigGuid | query | |
orderBy | query | |
page | query | |
size | query |
media type | data type | description |
---|---|---|
application/json | array of NodeListRecord (JSON) | list of nodes filtered by specified query parameters |
GET /nodes
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"name" : "...",
"version" : "...",
"lastSeen" : 12345,
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"stagingSpace" : {
"totalSpace" : 12345,
"usedSpace" : 12345
},
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"nodeIp" : "https://some.host:8181/api",
"state" : {
"name" : "ENUM_NAME",
"description" : "Enum description"
}
} ]
Create a node.
name | type | description | constraints |
---|---|---|---|
existing | query | specify whether node exists | boolean |
media type | data type | description |
---|---|---|
application/json | NodeRegistrationRequest (JSON) | specify details for new node |
media type | data type | description |
---|---|---|
application/json | NodeRegistrationResponse (JSON) | details of newly created node |
POST /nodes
Content-Type: application/json
Accept: application/json
{
"name" : "..."
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"password" : "...",
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67"
}
Change node configurations.
media type | data type | description |
---|---|---|
application/json | ConfigRequest (JSON) | specify node configurations details |
media type | data type | description |
---|---|---|
application/json | array of NodeListRecord (JSON) | list of nodes where configurations has been changed |
PUT /nodes/config
Content-Type: application/json
Accept: application/json
{
"nodes" : [ {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
}, {
"guid" : "...",
"name" : "..."
} ],
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
}
}
HTTP/1.1 204 No Content
Content-Type: application/json
[ {
"name" : "...",
"version" : "...",
"lastSeen" : 12345,
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"stagingSpace" : {
"totalSpace" : 12345,
"usedSpace" : 12345
},
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"nodeIp" : "https://some.host:8181/api",
"state" : {
"name" : "ENUM_NAME",
"description" : "Enum description"
}
} ]
Returns list of nodes filtered by specified query parameters for restore
name | type | description |
---|---|---|
backup-to-be-restored | query | |
direction | query | |
filter | query | |
nameLike | query | |
nodeConfigGuid | query | |
orderBy | query | |
page | query | |
size | query |
media type | data type | description |
---|---|---|
application/json | array of NodeListRecord (JSON) | list of nodes filtered by specified query parameters |
GET /nodes/for-restore
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"name" : "...",
"version" : "...",
"lastSeen" : 12345,
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"stagingSpace" : {
"totalSpace" : 12345,
"usedSpace" : 12345
},
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"nodeIp" : "https://some.host:8181/api",
"state" : {
"name" : "ENUM_NAME",
"description" : "Enum description"
}
} ]
name | type | description |
---|---|---|
backup-to-be-restored | query | |
direction | query | |
filter | query | |
nameLike | query | |
nodeConfigGuid | query | |
orderBy | query | |
page | query | |
size | query |
media type | data type | description |
---|---|---|
application/json | array of NodeReducedListRecord (JSON) |
GET /nodes/reduced
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"name" : "...",
"nodeConfig" : {
"guid" : "...",
"name" : "...",
"isDefault" : true,
"generalExportPath" : "...",
"threadsSettings" : {
"taskMaxExportThreads" : 12345,
"taskMaxExportThreadsPerSource" : 12345,
"taskMaxImportThreads" : 12345
}
},
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67"
} ]
Remove node.
name | type | description |
---|---|---|
guid | path | specify local unique identifier for node (use by vProtect) |
DELETE /nodes/{guid}
Content-Type: */*
...
HTTP/1.1 204 No Content
Get a single node.
name | type | description |
---|---|---|
guid | path | specify local unique identifier for node (use by vProtect) |
media type | data type | description |
---|---|---|
application/json | NodeDetails (JSON) | a singe node details |
GET /nodes/{guid}
Content-Type: */*
Accept: application/json
...
HTTP/1.1 200 OK
Content-Type: application/json
{
"nodeIp" : "...",
"name" : "...",
"proxyVmUuid" : "...",
"state" : "UNKNOWN",
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"stagingSpace" : {
"totalSpace" : 12345,
"usedSpace" : 12345
},
"nfsStorageId" : "...",
"backupDestinations" : [ {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
}, {
"guid" : "...",
"name" : "..."
} ],
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"lastSeen" : 1451649601000
}
Change node details.
name | type | description |
---|---|---|
guid | path | specify local unique identifier for node (use by vProtect) |
media type | data type | description |
---|---|---|
application/json | NodeUpdateRequest (JSON) | specify node details to update |
media type | data type | description |
---|---|---|
application/json | NodeDetails (JSON) | updated details of node |
PUT /nodes/{guid}
Content-Type: application/json
Accept: application/json
{
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"nfsStorageId" : "..."
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"nodeIp" : "...",
"name" : "...",
"proxyVmUuid" : "...",
"state" : "QUEUED_STOP",
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"stagingSpace" : {
"totalSpace" : 12345,
"usedSpace" : 12345
},
"nfsStorageId" : "...",
"backupDestinations" : [ {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
}, {
"guid" : "...",
"name" : "..."
} ],
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"lastSeen" : 1451649601000
}
Assign hypervisor managers to specified node.
name | type | description |
---|---|---|
guid | path | specify local unique identifier for node (use by vProtect) |
media type | data type | description |
---|---|---|
application/json | array of NameAndGuid (JSON) | specify list of hypervisor managers that will be assigned to node |
media type | data type | description |
---|---|---|
application/json | array of HypervisorManagerListRecord (JSON) | list of assigned hypervisor managers to node |
PUT /nodes/{guid}/hypervisor-managers
Content-Type: application/json
Accept: application/json
[ {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
} ]
HTTP/1.1 204 No Content
Content-Type: application/json
[ {
"url" : "...",
"sshPort" : 12345,
"user" : "...",
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"hvCount" : 12345,
"vmCount" : 12345,
"storageType" : "CEPH",
"region" : "...",
"endpointInterfaceType" : "INTERNAL",
"useToken" : true,
"lastInventorySyncDate" : 12345,
"lastSuccessfulInventorySyncDate" : 12345,
"possibleActions" : [ "HVM_READ", "HV_READ" ],
"version" : "...",
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"type" : {
"name" : "ENUM_NAME",
"description" : "Enum description"
}
} ]
Assign hypervisors to specified node.
name | type | description |
---|---|---|
guid | path | specify local unique identifier for node (use by vProtect) |
media type | data type | description |
---|---|---|
application/json | array of NameAndGuid (JSON) | specify list of hypervisors that will be assigned to node |
media type | data type | description |
---|---|---|
application/json | array of HypervisorListRecord (JSON) | list of assigned hypervisors to node |
PUT /nodes/{guid}/hypervisors
Content-Type: application/json
Accept: application/json
[ {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
} ]
HTTP/1.1 204 No Content
Content-Type: application/json
[ {
"host" : "...",
"sshPort" : 12345,
"user" : "...",
"nodeConfig" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"cluster" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"dataCenter" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"vmCount" : 12345,
"storageType" : "DEFAULT",
"licenseCovered" : true,
"hvManager" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"storageProvider" : {
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"name" : "Entity name"
},
"lastInventorySyncDate" : 12345,
"lastSuccessfulInventorySyncDate" : 12345,
"possibleActions" : [ "HV_READ", "WRITE" ],
"version" : "...",
"guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
"type" : {
"name" : "ENUM_NAME",
"description" : "Enum description"
}
} ]
Change node state.
name | type | description |
---|---|---|
guid | path | specify local unique identifier for node (use by vProtect) |
media type | data type | description |
---|---|---|
application/json | NodeState (JSON) | specify node state to change |
PUT /nodes/{guid}/state
Content-Type: application/json
"RUNNING"
HTTP/1.1 204 No Content