servers
Manage server hardware, configuration, and services.
GET /disks
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/disks
Response 200
id
integer
optional
-
hostname
string
optional
-
server
integer
optional
-
role
string
optional
[unassigned, mon, osd, journal, other, raid, deleting, updating, mon_unused, old_osd, old_mon]
serial
string
optional
-
capacity
integer
optional
-
name
string
optional
-
path
string
optional
-
info
string
optional
-
deviceClass
string
optional
[hdd, ssd, nvme]
lastSeen
number
optional
Duration in seconds.
serverLastSeen
number
optional
Duration in seconds.
partitions
integer
optional
-
usedPartitions
integer
optional
-
journalDisk
integer
optional
-
journalPartition
integer
optional
-
osdId
integer
optional
-
osdFragmentation
number
optional
-
smart
object
optional
-
missing
boolean
optional
-
daemonRunning
boolean
optional
-
serviceHealth
object
optional
Health information about a running service
bluestore
boolean
optional
-
wwn
string
optional
-
encrypted
boolean
optional
-
identifyLed
boolean
optional
-
notes
string
optional
User-defined notes for this disk
Example response
[
{
"id": 0,
"hostname": "string",
"server": 0,
"role": "unassigned",
"serial": "string",
"capacity": 0,
"name": "string",
"path": "string",
"info": "string",
"deviceClass": "hdd",
"lastSeen": 0,
"serverLastSeen": 0,
"partitions": 0,
"usedPartitions": 0,
"journalDisk": 0,
"journalPartition": 0,
"osdId": 0,
"osdFragmentation": 0,
"smart": {
"status": "string",
"details": "string"
},
"missing": true,
"daemonRunning": true,
"serviceHealth": {
"uptime": 0,
"memory": 0
},
"bluestore": true,
"wwn": "string",
"encrypted": true,
"identifyLed": true,
"notes": "string"
}
]
POST /disks/create-osds
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/disks/create-osds
Example body
{
"osds": [
{
"server": 0,
"disk": 0,
"journalDisk": 0,
"encrypted": true,
"reuseOsdId": 0,
"crushDeviceClass": "string"
}
]
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
[
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
]
DELETE /disks/wipe
Parameters
body
object
optional
Request to wipe several disks
Endpoint
curl -X DELETE http://mgmt-node:8080/api/disks/wipe
Example body
{
"disks": [
{
"server": 0,
"disk": 0,
"serial": "string"
}
]
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
DELETE /disks/{diskId}
Parameters
diskId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/disks/{diskId}
POST /disks/{diskId}/benchmark/basic
Parameters
diskId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/disks/{diskId}/benchmark/basic
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
GET /services/iscsi/{serviceId}/disks
Parameters
serviceId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/services/iscsi/{serviceId}/disks
Response 200
disks
array
optional
-
Example response
{
"disks": [
"string"
]
}
DELETE /services/iscsi/{serviceId}/disks/{wwn}
Parameters
serviceId
integer
path
-
wwn
string
path
-
body
object
optional
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/disks/{wwn}
Example body
{
"deleteData": true,
"pool": "string",
"image": "string"
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
PATCH /services/iscsi/{serviceId}/disks/{wwn}
Parameters
serviceId
integer
path
-
wwn
string
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/services/iscsi/{serviceId}/disks/{wwn}
Example body
{
"size": 0
}
POST /services/iscsi
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/iscsi
Example body
{
"servers": [
{
"serverId": 0,
"ip": "string"
}
]
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
GET /services/iscsi/{serviceId}
Parameters
serviceId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/services/iscsi/{serviceId}
Response 200
iqn
string
optional
-
gateways
array
optional
-
clients
array
optional
-
groups
array
optional
-
disks
array
optional
-
gatewayVersion
integer
optional
-
Example response
{
"iqn": "string",
"gateways": [
{
"name": "string",
"ip": "string"
}
],
"clients": [
{
"name": "string",
"group": "string",
"username": "string",
"password": "string",
"luns": [
{
"pool": "string",
"image": "string",
"id": 0,
"wwn": "string"
}
]
}
],
"groups": [
{
"name": "string",
"members": [
"string"
],
"luns": [
{
"pool": "string",
"image": "string",
"id": 0,
"wwn": "string"
}
]
}
],
"disks": [
{
"pool": "string",
"image": "string",
"id": 0,
"wwn": "string"
}
],
"gatewayVersion": 0
}
POST /services/iscsi/{serviceId}
Parameters
serviceId
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/iscsi/{serviceId}
Example body
{
"serverId": 0,
"ip": "string"
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
DELETE /services/iscsi/{serviceId}
Parameters
serviceId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}
DELETE /services/iscsi/{serviceId}/servers/{hostname}
Parameters
serviceId
integer
path
-
hostname
string
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/servers/{hostname}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
PUT /services/iscsi/{serviceId}/clients/{name}
Parameters
serviceId
integer
path
-
name
string
path
-
body
object
optional
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/iscsi/{serviceId}/clients/{name}
Example body
{
"username": "string",
"password": "string"
}
DELETE /services/iscsi/{serviceId}/clients/{name}
Parameters
serviceId
integer
path
-
name
string
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/clients/{name}
PATCH /services/iscsi/{serviceId}/clients/{name}
Parameters
serviceId
integer
path
-
name
string
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/services/iscsi/{serviceId}/clients/{name}
Example body
{
"username": "string",
"password": "string"
}
PUT /services/iscsi/{serviceId}/clients/{name}/disks
Parameters
serviceId
integer
path
-
name
string
path
-
body
object
optional
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/iscsi/{serviceId}/clients/{name}/disks
Example body
[
{
"pool": "string",
"name": "string",
"size": 0
}
]
DELETE /services/iscsi/{serviceId}/clients/{name}/disks
Parameters
serviceId
integer
path
-
name
string
path
-
body
object
optional
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/clients/{name}/disks
Example body
{
"pool": "string",
"name": "string"
}
PUT /services/iscsi/{serviceId}/groups/{group}
Parameters
serviceId
integer
path
-
group
string
path
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}
DELETE /services/iscsi/{serviceId}/groups/{group}
Parameters
serviceId
integer
path
-
group
string
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}
PUT /services/iscsi/{serviceId}/groups/{group}/disks
Parameters
serviceId
integer
path
-
group
string
path
-
body
object
optional
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}/disks
Example body
[
{
"pool": "string",
"name": "string",
"size": 0
}
]
DELETE /services/iscsi/{serviceId}/groups/{group}/disks
Parameters
serviceId
integer
path
-
group
string
path
-
body
object
optional
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}/disks
Example body
{
"pool": "string",
"name": "string"
}
PUT /services/iscsi/{serviceId}/groups/{group}/hosts/{host}
Parameters
serviceId
integer
path
-
group
string
path
-
host
string
path
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}/hosts/{host}
DELETE /services/iscsi/{serviceId}/groups/{group}/hosts/{host}
Parameters
serviceId
integer
path
-
group
string
path
-
host
string
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}/hosts/{host}
PUT /services/iscsi/{serviceId}/groups/{group}/hosts
Parameters
serviceId
integer
path
-
group
string
path
-
body
body
optional
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}/hosts
Example body
[
"string"
]
DELETE /services/iscsi/{serviceId}/groups/{group}/hosts
Parameters
serviceId
integer
path
-
group
string
path
-
body
body
optional
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/iscsi/{serviceId}/groups/{group}/hosts
Example body
[
"string"
]
POST /services/iscsi/{serviceId}/terminal/connect
Parameters
serviceId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/iscsi/{serviceId}/terminal/connect
Response 200
path
string
optional
Connect here.
tlsPort
integer
optional
Connect to this port for TLS.
plaintextPort
integer
optional
Connect to this port for an unencrypted connection.
authToken
string
optional
Pass as Authorization header.
validUntil
integer
optional
URL is valid until this time, existing connections stay connected afterwards.
iscsi
boolean
optional
Whether this is a connection to an iSCSI gateway.
Example response
{
"path": "string",
"tlsPort": 0,
"plaintextPort": 0,
"authToken": "string",
"validUntil": 0,
"iscsi": true
}
POST /services/nfs-gateways
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/nfs-gateways
Example body
{
"servers": [
0
],
"exports": [
{
"id": 0,
"nfsPath": "string",
"path": "string",
"access": [
{
"subnet": "string",
"rw": true
}
],
"protocols": {
"configString": "string",
"nfs3": true,
"nfs4": true
}
}
]
}
Response 200
id
integer
optional
-
Example response
{
"id": 0
}
GET /services/nfs-gateways/{serviceId}
Parameters
serviceId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}
Response 200
servers
array
optional
-
exports
array
optional
-
Example response
{
"servers": [
0
],
"exports": [
{
"id": 0,
"nfsPath": "string",
"path": "string",
"access": [
{
"subnet": "string",
"rw": true
}
],
"protocols": {
"configString": "string",
"nfs3": true,
"nfs4": true
}
}
]
}
PATCH /services/nfs-gateways/{serviceId}
Parameters
serviceId
integer
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}
Example body
{
"servers": [
0
]
}
GET /services/nfs-gateways/{serviceId}/exports
Parameters
serviceId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}/exports
Response 200
id
integer
optional
Id of this export, assigned by the server on creation.
nfsPath
string
optional
The path on the NFS server at which this export is available.
path
string
optional
The path to export.
access
array
optional
Clients allowed to access this export.
protocols
object
optional
-
Example response
[
{
"id": 0,
"nfsPath": "string",
"path": "string",
"access": [
{
"subnet": "string",
"rw": true
}
],
"protocols": {
"configString": "string",
"nfs3": true,
"nfs4": true
}
}
]
POST /services/nfs-gateways/{serviceId}/exports
Parameters
serviceId
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}/exports
Example body
{
"id": 0,
"nfsPath": "string",
"path": "string",
"access": [
{
"subnet": "string",
"rw": true
}
],
"protocols": {
"configString": "string",
"nfs3": true,
"nfs4": true
}
}
Response 200
id
integer
optional
Id of this export, assigned by the server on creation.
nfsPath
string
optional
The path on the NFS server at which this export is available.
path
string
optional
The path to export.
access
array
optional
Clients allowed to access this export.
protocols
object
optional
-
Example response
{
"id": 0,
"nfsPath": "string",
"path": "string",
"access": [
{
"subnet": "string",
"rw": true
}
],
"protocols": {
"configString": "string",
"nfs3": true,
"nfs4": true
}
}
GET /services/nfs-gateways/{serviceId}/servers
Parameters
serviceId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}/servers
Response 200
Example response
[
0
]
PUT /services/nfs-gateways/{serviceId}/exports/{exportId}
Parameters
serviceId
integer
path
-
exportId
integer
path
-
body
object
optional
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}/exports/{exportId}
Example body
{
"id": 0,
"nfsPath": "string",
"path": "string",
"access": [
{
"subnet": "string",
"rw": true
}
],
"protocols": {
"configString": "string",
"nfs3": true,
"nfs4": true
}
}
DELETE /services/nfs-gateways/{serviceId}/exports/{exportId}
Parameters
serviceId
integer
path
-
exportId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/nfs-gateways/{serviceId}/exports/{exportId}
GET /servers/{id}/disks
Parameters
id
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/{id}/disks
Response 200
id
integer
optional
-
hostname
string
optional
-
server
integer
optional
-
role
string
optional
[unassigned, mon, osd, journal, other, raid, deleting, updating, mon_unused, old_osd, old_mon]
serial
string
optional
-
capacity
integer
optional
-
name
string
optional
-
path
string
optional
-
info
string
optional
-
deviceClass
string
optional
[hdd, ssd, nvme]
lastSeen
number
optional
Duration in seconds.
serverLastSeen
number
optional
Duration in seconds.
partitions
integer
optional
-
usedPartitions
integer
optional
-
journalDisk
integer
optional
-
journalPartition
integer
optional
-
osdId
integer
optional
-
osdFragmentation
number
optional
-
smart
object
optional
-
missing
boolean
optional
-
daemonRunning
boolean
optional
-
serviceHealth
object
optional
Health information about a running service
bluestore
boolean
optional
-
wwn
string
optional
-
encrypted
boolean
optional
-
identifyLed
boolean
optional
-
notes
string
optional
User-defined notes for this disk
Example response
[
{
"id": 0,
"hostname": "string",
"server": 0,
"role": "unassigned",
"serial": "string",
"capacity": 0,
"name": "string",
"path": "string",
"info": "string",
"deviceClass": "hdd",
"lastSeen": 0,
"serverLastSeen": 0,
"partitions": 0,
"usedPartitions": 0,
"journalDisk": 0,
"journalPartition": 0,
"osdId": 0,
"osdFragmentation": 0,
"smart": {
"status": "string",
"details": "string"
},
"missing": true,
"daemonRunning": true,
"serviceHealth": {
"uptime": 0,
"memory": 0
},
"bluestore": true,
"wwn": "string",
"encrypted": true,
"identifyLed": true,
"notes": "string"
}
]
GET /servers
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/servers
Response 200
id
integer
optional
-
hostname
string
optional
-
state
string
optional
[booting, running, offline, rebooting, shutting_down]
macs
array
optional
-
ip
string
optional
-
image
string
optional
-
hardware
object
optional
-
lastSeen
number
optional
Duration in seconds.
services
object
optional
Number of services configured on the server by type.
servicesRunning
object
optional
Number of services currently running on the server by type.
osds
integer
optional
Number of disks currently mounted as OSD.
osdsRunning
integer
optional
Number of OSD daemons currently running.
ips
array
optional
IPs configured on all NICs, only these are valid for the main IP.
health
object
optional
-
ipmi
object
optional
-
notes
string
optional
User-defined notes for this server
Example response
[
{
"id": 0,
"hostname": "string",
"state": "booting",
"macs": [
"string"
],
"ip": "string",
"image": "string",
"hardware": {
"ram": 0,
"cpu": "string",
"cpus": 0,
"coresPerCpu": 0,
"cpuFreq": 0,
"mainboard": "string",
"mainboardSerial": "string",
"ipmi": {
"ip": "string",
"subnet": "string",
"mac": "string",
"vlan": "string"
}
},
"lastSeen": 0,
"services": {},
"servicesRunning": {},
"osds": 0,
"osdsRunning": 0,
"ips": [
"string"
],
"health": {
"uptime": 0,
"hwDetectTime": 0,
"cephDiskProcs": 0,
"runningImage": "string",
"clockDrift": 0,
"freeRam": 0
},
"ipmi": {
"id": 0,
"ip": "string",
"mac": "string",
"vlan": 0
},
"notes": "string"
}
]
GET /servers/{id}/services
Parameters
id
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/{id}/services
Response 200
id
string
optional
-
type
string
optional
[osd, mon, mgr, radosgw, mds, nfs_gateway, iscsi, smb, rbd_mirror, unknown]
state
string
optional
[creating, enabled, disabled, creation_failed]
subState
string
optional
[ACTIVE, STANDBY]
mdsInfo
object
optional
-
server
integer
optional
-
ip
string
optional
-
running
boolean
optional
-
multiServer
array
optional
-
health
object
optional
Health information about a running service
Example response
[
{
"id": "string",
"type": "osd",
"state": "creating",
"subState": "ACTIVE",
"mdsInfo": {
"filesystemId": 0,
"rank": 0,
"name": "string",
"status": "string"
},
"server": 0,
"ip": "string",
"running": true,
"multiServer": [
0
],
"health": {
"uptime": 0,
"memory": 0
}
}
]
DELETE /servers/{id}/disks/{diskId}
Parameters
id
integer
path
-
diskId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/servers/{id}/disks/{diskId}
PATCH /servers/{id}/disks/{diskId}
Parameters
id
integer
path
-
diskId
integer
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/servers/{id}/disks/{diskId}
Example body
{
"role": "unassigned",
"partitions": 0,
"identifyLed": true,
"notes": "string"
}
DELETE /servers/{id}/nics/{nicId}
Parameters
id
integer
path
-
nicId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/servers/{id}/nics/{nicId}
PATCH /servers/{id}/nics/{nicId}
Parameters
id
integer
path
-
nicId
integer
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/servers/{id}/nics/{nicId}
Example body
{
"ip": "string",
"ip6": "string",
"notes": "string",
"bond": {
"nics": [
0
],
"activePassive": true,
"primary": 0
},
"mac": "string"
}
POST /servers/{serverId}/services/{type}/{serviceId}/stop
Parameters
serverId
integer
path
-
type
string
path
[osds, mons, radosgws, mds, mgrs, nfs_gateways, iscsis, smbs, rbd_mirrors]
serviceId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/{type}/{serviceId}/stop
POST /servers/{serverId}/services/{type}/{serviceId}/restart
Parameters
serverId
integer
path
-
type
string
path
[osds, mons, radosgws, mds, mgrs, nfs_gateways, iscsis, smbs, rbd_mirrors]
serviceId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/{type}/{serviceId}/restart
GET /servers/ips
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/ips
Response 200
nic
array
optional
-
vlan
array
optional
-
hagroup
array
optional
-
smb
array
optional
-
Example response
{
"nic": [
{
"ip": "string",
"nicId": 0,
"serverId": 0
}
],
"vlan": [
{
"ip": "string",
"nicId": 0,
"vlanId": 0,
"serverId": 0
}
],
"hagroup": [
{
"ip": "string",
"haGroupId": 0
}
],
"smb": [
{
"ip": "string",
"serviceId": 0
}
]
}
GET /servers/free-ips
Parameters
subnet
string
query
optional
-
limit
integer
query
optional
-
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/free-ips?subnet=string&limit=0
Response 200
Example response
[
"string"
]
GET /servers/{id}/nics
Parameters
id
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/{id}/nics
Response 200
id
integer
optional
-
server
integer
optional
-
mac
string
optional
-
speed
number
optional
-
name
string
optional
-
ip
string
optional
-
ip6
string
optional
-
type
string
optional
[normal, bond]
bondedNics
array
optional
-
lastSeen
number
optional
Duration in seconds.
serverLastSeen
number
optional
Duration in seconds.
vlans
array
optional
-
linuxName
string
optional
-
lldp
array
optional
-
bondType
string
optional
[lacp, active_passive]
bondPrimary
integer
optional
-
notes
string
optional
User-defined notes for this NIC
virtual
boolean
optional
-
Example response
[
{
"id": 0,
"server": 0,
"mac": "string",
"speed": 0,
"name": "string",
"ip": "string",
"ip6": "string",
"type": "normal",
"bondedNics": [
0
],
"lastSeen": 0,
"serverLastSeen": 0,
"vlans": [
{
"id": 0,
"nic": 0,
"vlan": 0,
"ip": "string",
"ip6": "string"
}
],
"linuxName": "string",
"lldp": [
{
"chassis": {},
"port": {
"id": {
"type": "string",
"value": "string"
},
"descr": "string"
},
"vlan": [
{
"vlanId": "string"
}
],
"rid": "string"
}
],
"bondType": "lacp",
"bondPrimary": 0,
"notes": "string",
"virtual": true
}
]
GET /servers/nics
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/nics
Response 200
id
integer
optional
-
server
integer
optional
-
mac
string
optional
-
speed
number
optional
-
name
string
optional
-
ip
string
optional
-
ip6
string
optional
-
type
string
optional
[normal, bond]
bondedNics
array
optional
-
lastSeen
number
optional
Duration in seconds.
serverLastSeen
number
optional
Duration in seconds.
vlans
array
optional
-
linuxName
string
optional
-
lldp
array
optional
-
bondType
string
optional
[lacp, active_passive]
bondPrimary
integer
optional
-
notes
string
optional
User-defined notes for this NIC
virtual
boolean
optional
-
Example response
[
{
"id": 0,
"server": 0,
"mac": "string",
"speed": 0,
"name": "string",
"ip": "string",
"ip6": "string",
"type": "normal",
"bondedNics": [
0
],
"lastSeen": 0,
"serverLastSeen": 0,
"vlans": [
{
"id": 0,
"nic": 0,
"vlan": 0,
"ip": "string",
"ip6": "string"
}
],
"linuxName": "string",
"lldp": [
{
"chassis": {},
"port": {
"id": {
"type": "string",
"value": "string"
},
"descr": "string"
},
"vlan": [
{
"vlanId": "string"
}
],
"rid": "string"
}
],
"bondType": "lacp",
"bondPrimary": 0,
"notes": "string",
"virtual": true
}
]
POST /servers/{id}/nics/bonds
Parameters
id
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{id}/nics/bonds
Example body
{
"name": "string",
"nics": [
0
],
"activePassive": true,
"primary": 0
}
GET /servers/{id}/nics/{nicId}/vlans
Parameters
id
integer
path
-
nicId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/servers/{id}/nics/{nicId}/vlans
Response 200
id
integer
optional
-
nic
integer
optional
-
vlan
integer
optional
-
ip
string
optional
-
ip6
string
optional
-
Example response
[
{
"id": 0,
"nic": 0,
"vlan": 0,
"ip": "string",
"ip6": "string"
}
]
POST /servers/{id}/nics/{nicId}/vlans
Parameters
id
integer
path
-
nicId
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{id}/nics/{nicId}/vlans
Example body
{
"vlan": 0,
"ip": "string",
"ip6": "string"
}
DELETE /servers/{id}/nics/{nicId}/vlans/{vlanId}
Parameters
id
integer
path
-
nicId
integer
path
-
vlanId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/servers/{id}/nics/{nicId}/vlans/{vlanId}
PATCH /servers/{id}/nics/{nicId}/vlans/{vlanId}
Parameters
id
integer
path
-
nicId
integer
path
-
vlanId
integer
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/servers/{id}/nics/{nicId}/vlans/{vlanId}
Example body
{
"vlan": 0,
"ip": "string",
"ip6": "string"
}
DELETE /servers/{id}
Parameters
id
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/servers/{id}
PATCH /servers/{id}
Parameters
id
integer
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/servers/{id}
Example body
{
"hostname": "string",
"ip": "string",
"image": "string",
"notes": "string"
}
POST /servers/{serverId}/services/mon
Parameters
serverId
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/mon
Example body
{
"ip": "string"
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
POST /servers/{serverId}/services/mds
Parameters
serverId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/mds
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
POST /servers/{serverId}/services/rgw
Parameters
serverId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/rgw
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
POST /servers/{serverId}/services/rbd-mirror
Parameters
serverId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/rbd-mirror
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
DELETE /servers/{id}/services/{serviceId}
Parameters
id
integer
path
-
serviceId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/servers/{id}/services/{serviceId}
Response 200
object
string
optional
-
id
integer
optional
-
done
boolean
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
result
object
optional
-
output
string
optional
-
Example response
{
"object": "string",
"id": 0,
"done": true,
"statusCode": 0,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"result": {},
"output": "string"
}
POST /servers/{id}/reboot
Parameters
id
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{id}/reboot
POST /servers/{id}/shutdown
Parameters
id
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{id}/shutdown
POST /servers/reboot
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/reboot
Example body
{
"servers": [
0
]
}
Response 200
object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-
Example response
{
"object": "string",
"done": true,
"result": {},
"question": {
"token": "string",
"message": "string",
"defaultResponse": "string",
"responseOptions": [
"string"
],
"priority": "Standard",
"timeout": 0,
"timeLeft": 0
},
"id": 0,
"statusCode": 0,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"output": "string"
}
POST /servers/{id}/redetect
Parameters
id
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{id}/redetect
POST /servers/{serverId}/services/{type}/{serviceId}/start
Parameters
serverId
integer
path
-
type
string
path
[osds, mons, radosgws, mds, mgrs, nfs_gateways, iscsis, smbs, rbd_mirrors]
serviceId
integer
path
-
Endpoint
curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/{type}/{serviceId}/start
POST /services/smb
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/smb
Example body
{
"servers": [
{
"server": 0,
"nic": 0,
"vlan": 0,
"domainAdminUser": "string",
"domainAdminPassword": "string"
}
],
"virtualIps": [
"string"
],
"adminPassword": "string",
"readonlyPassword": "string",
"shares": [
]
}
Response 200
id
integer
optional
-
Example response
{
"id": 0
}
POST /services/smb/active-directory-authentication
Parameters
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/smb/active-directory-authentication
Example body
{
"servers": [
{
"server": 0,
"nic": 0,
"vlan": 0,
"domainAdminUser": "string",
"domainAdminPassword": "string"
}
],
"virtualIps": [
"string"
],
"domain": "string",
"netbiosDomainName": "string",
"domainController": "string",
"dnsServers": [
"string"
],
"shares": [
],
"joinWithSssd": true
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
GET /services/smb/{serviceId}
Parameters
serviceId
integer
path
-
Endpoint
curl -X GET http://mgmt-node:8080/api/services/smb/{serviceId}
Response 200
type
string
optional
[SIMPLE, ADS]
servers
array
optional
-
virtualIps
array
optional
Virtual IP addresses to be distributed evenly across all healthy servers.
shares
array
optional
-
domain
string
optional
-
netbiosDomainName
string
optional
-
domainController
string
optional
-
dnsServers
array
optional
-
joinWithSssd
boolean
optional
Joined with adcli+sssd.
Example response
{
"type": "SIMPLE",
"servers": [
{
"server": 0,
"nic": 0,
"vlan": 0,
"virtualIps": [
"string"
],
"healthy": true
}
],
"virtualIps": [
"string"
],
"shares": [
{
"share": "string",
"path": "string"
}
],
"domain": "string",
"netbiosDomainName": "string",
"domainController": "string",
"dnsServers": [
"string"
],
"joinWithSssd": true
}
DELETE /services/smb/{serviceId}
Parameters
serviceId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/smb/{serviceId}
PATCH /services/smb/{serviceId}
Parameters
serviceId
integer
path
-
body
object
optional
-
Endpoint
curl -X PATCH http://mgmt-node:8080/api/services/smb/{serviceId}
Example body
{
"virtualIps": [
"string"
],
"adminPassword": "string",
"readonlyPassword": "string",
"domainController": "string",
"dnsServers": [
"string"
]
}
POST /services/smb/{serviceId}/shares
Parameters
serviceId
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/smb/{serviceId}/shares
Example body
{
"share": "string",
"path": "string"
}
Response 200
id
integer
optional
-
Example response
{
"id": 0
}
PUT /services/smb/{serviceId}/shares/{shareId}
Parameters
serviceId
integer
path
-
shareId
integer
path
-
body
object
optional
-
Endpoint
curl -X PUT http://mgmt-node:8080/api/services/smb/{serviceId}/shares/{shareId}
Example body
{
"share": "string",
"path": "string"
}
DELETE /services/smb/{serviceId}/shares/{shareId}
Parameters
serviceId
integer
path
-
shareId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/smb/{serviceId}/shares/{shareId}
POST /services/smb/{serviceId}/servers
Parameters
serviceId
integer
path
-
body
object
optional
-
Endpoint
curl -X POST http://mgmt-node:8080/api/services/smb/{serviceId}/servers
Example body
{
"server": 0,
"nic": 0,
"vlan": 0,
"domainAdminUser": "string",
"domainAdminPassword": "string"
}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
DELETE /services/smb/{serviceId}/servers/{serverId}
Parameters
serviceId
integer
path
-
serverId
integer
path
-
Endpoint
curl -X DELETE http://mgmt-node:8080/api/services/smb/{serviceId}/servers/{serverId}
Response 200
result
object
optional
-
statusCode
integer
optional
-
id
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
object
string
optional
-
output
string
optional
-
Example response
{
"result": {},
"statusCode": 0,
"id": 0,
"done": true,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"object": "string",
"output": "string"
}
GET /server-access/host-keys
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/server-access/host-keys
Response 200
Example response
{}
GET /server-access/keys
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/server-access/keys
Response 200
Example response
[
"string"
]
PUT /server-access/keys
Parameters
body
object
optional
List of SSH keys allowed to access managed servers.
Endpoint
curl -X PUT http://mgmt-node:8080/api/server-access/keys
Example body
{
"keys": [
"string"
]
}
GET /server-access/passwords
Parameters
No parameters...
Endpoint
curl -X GET http://mgmt-node:8080/api/server-access/passwords
Response 200
rootPassword
string
optional
Password for (physical) shell access as root user, password login for SSH is disabled.
ipmiPassword
string
optional
IPMI password for the ADMIN user of IPMI interfaces managed by croit.
Example response
{
"rootPassword": "string",
"ipmiPassword": "string"
}
PATCH /server-access/passwords
Parameters
body
object
optional
Passwords to access servers.
Endpoint
curl -X PATCH http://mgmt-node:8080/api/server-access/passwords
Example body
{
"rootPassword": "string",
"ipmiPassword": "string"
}
Response 200
object
string
optional
-
done
boolean
optional
-
result
object
optional
-
question
object
optional
-
id
integer
optional
-
statusCode
integer
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
name
string
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
output
string
optional
-
Example response
{
"object": "string",
"done": true,
"result": {},
"question": {
"token": "string",
"message": "string",
"defaultResponse": "string",
"responseOptions": [
"string"
],
"priority": "Standard",
"timeout": 0,
"timeLeft": 0
},
"id": 0,
"statusCode": 0,
"startedAt": 0,
"startedBy": "string",
"name": "string",
"state": "WAITING",
"output": "string"
}