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
-
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,
    "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

[
  {
    "result": {},
    "name": "string",
    "id": 0,
    "state": "WAITING",
    "statusCode": 0,
    "done": true,
    "startedAt": 0,
    "startedBy": "string",
    "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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"
  ]
}
                  

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}
                

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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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}/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
-
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,
    "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/{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, 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
    }
  }
]
                  

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]
mac
string
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",
    "mac": "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
    },
    "ipmi": {
      "id": 0,
      "ip": "string",
      "mac": "string",
      "vlan": 0
    },
    "notes": "string"
  }
]
                  

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
  }
}
                

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

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"
  }
]
                  

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

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"
  }
]
                  

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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
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": {},
  "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]
serviceId
integer
path
-

Endpoint

curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/{type}/{serviceId}/start
                

POST /servers/{serverId}/services/{type}/{serviceId}/stop

Parameters

serverId
integer
path
-
type
string
path
[osds, mons, radosgws, mds, mgrs, nfs_gateways, iscsis, smbs]
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]
serviceId
integer
path
-

Endpoint

curl -X POST http://mgmt-node:8080/api/servers/{serverId}/services/{type}/{serviceId}/restart
                

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": [
    
  ]
}
                

Response 200

result
object
optional
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-

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"
  ]
}
                  

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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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
-
name
string
optional
-
id
integer
optional
-
state
string
optional
[WAITING, RUNNING, FINISHED, FAILED, CANCELED]
statusCode
integer
optional
-
done
boolean
optional
-
startedAt
integer
optional
-
startedBy
string
optional
-
object
string
optional
-
output
string
optional
-

Example response

{
  "result": {},
  "name": "string",
  "id": 0,
  "state": "WAITING",
  "statusCode": 0,
  "done": true,
  "startedAt": 0,
  "startedBy": "string",
  "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/support-key

Parameters

No parameters...

Endpoint

curl -X GET http://mgmt-node:8080/api/server-access/support-key
                

Response 200

enabled
boolean
optional
-

Example response

{
  "enabled": true
}
                  

PUT /server-access/support-key

Parameters

body
object
optional
Status of the croit support SSH key.

Endpoint

curl -X PUT http://mgmt-node:8080/api/server-access/support-key
                

Example body

{
  "enabled": true
}
                

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
-
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": {},
  "id": 0,
  "statusCode": 0,
  "startedAt": 0,
  "startedBy": "string",
  "name": "string",
  "state": "WAITING",
  "output": "string"
}