Remove 21MB Vuexy theme directory (replaced by custom EZSCALE design system), old session logs, patch notes, screenshots, and discovery artifacts. Move infrastructure files (Horizon config, install script, VirtFusion API spec, discover script) into docs/ subdirectories. Update CLAUDE.md reference docs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8310 lines
312 KiB
YAML
8310 lines
312 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: VirtFusion Global API
|
|
description: >-
|
|
You can use this API to access all Administrator API endpoints, such as the
|
|
server API to deploy and manage servers, or the system API to configure and
|
|
manage the system.
|
|
|
|
|
|
The API is organized around REST. All requests should be made over SSL. All
|
|
request and response bodies, including errors, are encoded in JSON.
|
|
|
|
|
|
Endpoint https://cp.domain.com/api/v1
|
|
version: 1.0.0
|
|
tags:
|
|
- name: General
|
|
- name: Hypervisors
|
|
- name: Hypervisor Groups
|
|
- name: Servers
|
|
- name: Servers/Network
|
|
- name: Servers/Network/Firewall
|
|
- name: Servers/Network/Traffic
|
|
- name: Servers/Power
|
|
- name: IP Blocks
|
|
- name: Backups
|
|
- name: DNS
|
|
- name: Media
|
|
- name: Packages
|
|
- name: Queue & Tasks
|
|
- name: SSH Keys
|
|
- name: Users
|
|
- name: Users/External Rel ID & Rel Str
|
|
- name: Self Service
|
|
- name: Self Service/External Relational ID
|
|
paths:
|
|
/connect:
|
|
get:
|
|
summary: Test connection
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- General
|
|
parameters: []
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example: []
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/compute/hypervisors/groups:
|
|
get:
|
|
summary: Retrieve hypervisor groups
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Hypervisor Groups
|
|
parameters:
|
|
- name: results
|
|
in: query
|
|
description: >-
|
|
Number of results to return. Range between 1 and 200. Defaults to
|
|
20.
|
|
required: false
|
|
example: 20
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
current_page: 1
|
|
data:
|
|
- id: 1
|
|
name: Default
|
|
label: null
|
|
description: Default hypervisor group
|
|
distributionType: 5
|
|
enabled: true
|
|
default: true
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
- id: 2
|
|
name: Test 1
|
|
label: null
|
|
description: null
|
|
distributionType: 13
|
|
enabled: true
|
|
default: false
|
|
created: '2024-10-08T13:23:28+00:00'
|
|
updated: '2024-10-08T13:23:42+00:00'
|
|
- id: 3
|
|
name: Test 2
|
|
label: null
|
|
description: null
|
|
distributionType: 5
|
|
enabled: true
|
|
default: false
|
|
created: '2024-10-12T21:12:33+00:00'
|
|
updated: '2024-10-12T21:14:18+00:00'
|
|
first_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups?results=20&page=1
|
|
from: 1
|
|
last_page: 1
|
|
last_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups?results=20&page=1
|
|
links:
|
|
- url: null
|
|
label: '« Previous'
|
|
active: false
|
|
- url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups?results=20&page=1
|
|
label: '1'
|
|
active: true
|
|
- url: null
|
|
label: Next »
|
|
active: false
|
|
next_page_url: null
|
|
path: https://192.168.3.11/api/v1/compute/hypervisors/groups
|
|
per_page: 20
|
|
prev_page_url: null
|
|
to: 3
|
|
total: 3
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/compute/hypervisors/groups/{hypervisorGroupId}:
|
|
get:
|
|
summary: Retrieve a hypervisor group
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Hypervisor Groups
|
|
parameters:
|
|
- name: hypervisorGroupId
|
|
in: path
|
|
description: A valid hypervisor group ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 1
|
|
name: Default
|
|
label: null
|
|
description: Default hypervisor group
|
|
distributionType: 5
|
|
enabled: true
|
|
default: true
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/compute/hypervisors/groups/{hypervisorGroupId}/resources:
|
|
get:
|
|
summary: Retrieve a hypervisor groups resources
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Hypervisor Groups
|
|
parameters:
|
|
- name: hypervisorGroupId
|
|
in: path
|
|
description: A valid hypervisor group ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: results
|
|
in: query
|
|
description: >-
|
|
Number of results to return. Range between 1 and 200. Defaults to
|
|
20.
|
|
required: false
|
|
example: 20
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
current_page: 1
|
|
data:
|
|
- hypervisor:
|
|
id: 1
|
|
name: PHV 1 (RED)
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 1
|
|
free: -1
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 6004
|
|
allocated: 4096
|
|
free: 1908
|
|
percent: 68.2
|
|
cpuCores:
|
|
units: '#'
|
|
max: 4
|
|
allocated: 3
|
|
free: 1
|
|
percent: 75
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 90
|
|
allocated: 25
|
|
free: 65
|
|
percent: 27.8
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 470
|
|
- hypervisor:
|
|
id: 2
|
|
name: PHV 2 (BLUE)
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 1
|
|
free: -1
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 10000
|
|
allocated: 1024
|
|
free: 8976
|
|
percent: 10.2
|
|
cpuCores:
|
|
units: '#'
|
|
max: 28
|
|
allocated: 1
|
|
free: 27
|
|
percent: 3.6
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 150
|
|
allocated: 10
|
|
free: 140
|
|
percent: 6.7
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 470
|
|
- hypervisor:
|
|
id: 3
|
|
name: BHV 9
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 2
|
|
free: -2
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 27913
|
|
allocated: 2048
|
|
free: 25865
|
|
percent: 7.3
|
|
cpuCores:
|
|
units: '#'
|
|
max: 64
|
|
allocated: 2
|
|
free: 62
|
|
percent: 3.1
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 400
|
|
allocated: 20
|
|
free: 380
|
|
percent: 5
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 470
|
|
- hypervisor:
|
|
id: 4
|
|
name: BHV 8
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 0
|
|
free: 0
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 27913
|
|
allocated: 0
|
|
free: 27913
|
|
percent: 0
|
|
cpuCores:
|
|
units: '#'
|
|
max: 16
|
|
allocated: 0
|
|
free: 16
|
|
percent: 0
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 1000
|
|
allocated: 0
|
|
free: 1000
|
|
percent: 0
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 0
|
|
- hypervisor:
|
|
id: 8
|
|
name: BHV 3
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 2
|
|
free: -2
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 27913
|
|
allocated: 2048
|
|
free: 25865
|
|
percent: 7.3
|
|
cpuCores:
|
|
units: '#'
|
|
max: 120
|
|
allocated: 3
|
|
free: 117
|
|
percent: 2.5
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 1
|
|
units: GB
|
|
max: 2000
|
|
allocated: 20
|
|
free: 1980
|
|
percent: 1
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 470
|
|
- hypervisor:
|
|
id: 9
|
|
name: BHV 4
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 0
|
|
free: 0
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 13684
|
|
allocated: 0
|
|
free: 13684
|
|
percent: 0
|
|
cpuCores:
|
|
units: '#'
|
|
max: 4
|
|
allocated: 0
|
|
free: 4
|
|
percent: 0
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 1000
|
|
allocated: 0
|
|
free: 1000
|
|
percent: 0
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 0
|
|
- hypervisor:
|
|
id: 10
|
|
name: BHV 5
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 0
|
|
free: 0
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 13684
|
|
allocated: 0
|
|
free: 13684
|
|
percent: 0
|
|
cpuCores:
|
|
units: '#'
|
|
max: 4
|
|
allocated: 0
|
|
free: 4
|
|
percent: 0
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 1000
|
|
allocated: 0
|
|
free: 1000
|
|
percent: 0
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 0
|
|
- hypervisor:
|
|
id: 11
|
|
name: BHV 6
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 1
|
|
free: -1
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 27913
|
|
allocated: 1024
|
|
free: 26889
|
|
percent: 3.7
|
|
cpuCores:
|
|
units: '#'
|
|
max: 16
|
|
allocated: 1
|
|
free: 15
|
|
percent: 6.3
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 1000
|
|
allocated: 10
|
|
free: 990
|
|
percent: 1
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 478
|
|
- hypervisor:
|
|
id: 12
|
|
name: BHV 7
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 1
|
|
free: -1
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 27913
|
|
allocated: 1024
|
|
free: 26889
|
|
percent: 3.7
|
|
cpuCores:
|
|
units: '#'
|
|
max: 16
|
|
allocated: 1
|
|
free: 15
|
|
percent: 6.3
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 0
|
|
units: GB
|
|
max: 1000
|
|
allocated: 10
|
|
free: 990
|
|
percent: 1
|
|
otherStorage: []
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 478
|
|
- hypervisor:
|
|
id: 13
|
|
name: Ceph Hypervisor 1
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 5
|
|
free: -5
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 24000
|
|
allocated: 7168
|
|
free: 16832
|
|
percent: 29.9
|
|
cpuCores:
|
|
units: '#'
|
|
max: 64
|
|
allocated: 8
|
|
free: 56
|
|
percent: 12.5
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 1
|
|
units: GB
|
|
max: 100
|
|
allocated: 50
|
|
free: 50
|
|
percent: 50
|
|
otherStorage:
|
|
- id: 1
|
|
name: Ceph RBD
|
|
enabled: 0
|
|
path: null
|
|
units: GB
|
|
storageType: 2
|
|
isDatastore: true
|
|
max: 10000
|
|
allocated: 35
|
|
free: 9965
|
|
percent: 0.4
|
|
- id: 4
|
|
name: Ceph FS
|
|
enabled: 0
|
|
path: null
|
|
units: GB
|
|
storageType: 2
|
|
isDatastore: true
|
|
max: 558349385
|
|
allocated: 5
|
|
free: 558349380
|
|
percent: 0
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 503
|
|
- hypervisor:
|
|
id: 14
|
|
name: Ceph Hypervisor 2
|
|
enabled: true
|
|
prohibit: false
|
|
accept: false
|
|
commissioned: true
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 3
|
|
free: -3
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 24000
|
|
allocated: 3072
|
|
free: 20928
|
|
percent: 12.8
|
|
cpuCores:
|
|
units: '#'
|
|
max: 64
|
|
allocated: 3
|
|
free: 61
|
|
percent: 4.7
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 1
|
|
units: GB
|
|
max: 1000
|
|
allocated: 10
|
|
free: 990
|
|
percent: 1
|
|
otherStorage:
|
|
- id: 2
|
|
name: Ceph RBD
|
|
enabled: 0
|
|
path: null
|
|
units: GB
|
|
storageType: 2
|
|
isDatastore: true
|
|
max: 10000
|
|
allocated: 10
|
|
free: 9990
|
|
percent: 0.1
|
|
- id: 3
|
|
name: Ceph EC
|
|
enabled: 0
|
|
path: null
|
|
units: GB
|
|
storageType: 2
|
|
isDatastore: true
|
|
max: 13333333
|
|
allocated: 10
|
|
free: 13333323
|
|
percent: 0
|
|
network:
|
|
total:
|
|
ipv4:
|
|
free: 33
|
|
first_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources?page=1
|
|
from: 1
|
|
last_page: 1
|
|
last_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources?page=1
|
|
links:
|
|
- url: null
|
|
label: '« Previous'
|
|
active: false
|
|
- url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources?page=1
|
|
label: '1'
|
|
active: true
|
|
- url: null
|
|
label: Next »
|
|
active: false
|
|
next_page_url: null
|
|
path: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors/groups/1/resources
|
|
per_page: 20
|
|
prev_page_url: null
|
|
to: 11
|
|
total: 11
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/firewall/{interface}/disable:
|
|
post:
|
|
summary: Disable firewall
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Firewall
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
- name: interface
|
|
in: path
|
|
description: primary or secondary.
|
|
required: true
|
|
example: primary
|
|
schema:
|
|
type: string
|
|
- name: sync
|
|
in: query
|
|
description: >-
|
|
Synchronise and apply the defined rules. true|false Defaults to
|
|
false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/firewall/{interface}/enable:
|
|
post:
|
|
summary: Enable firewall
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Firewall
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
- name: interface
|
|
in: path
|
|
description: primary or secondary.
|
|
required: true
|
|
example: primary
|
|
schema:
|
|
type: string
|
|
- name: sync
|
|
in: query
|
|
description: >-
|
|
Synchronise and apply the defined rules. true|false Defaults to
|
|
false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/firewall/{interface}:
|
|
get:
|
|
summary: Retrieve firewall
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Firewall
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
- name: interface
|
|
in: path
|
|
description: primary or secondary.
|
|
required: true
|
|
example: primary
|
|
schema:
|
|
type: string
|
|
- name: sync
|
|
in: query
|
|
description: >-
|
|
Synchronise and apply the defined rules. true|false Defaults to
|
|
false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example: |-
|
|
{
|
|
"data": {
|
|
"enabled": true,
|
|
"rules": []
|
|
}
|
|
}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/firewall/{interface}/rules:
|
|
post:
|
|
summary: Apply firewall rulesets
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Firewall
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
- name: interface
|
|
in: path
|
|
description: primary or secondary.
|
|
required: true
|
|
example: primary
|
|
schema:
|
|
type: string
|
|
- name: sync
|
|
in: query
|
|
description: >-
|
|
Synchronise and apply the defined rules. true|false Defaults to
|
|
false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
rulesets:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: >-
|
|
An array of ruleset IDs. All existing rules will be flushed
|
|
and the new rules applied. An empty array will flush all
|
|
rules.
|
|
required:
|
|
- rulesets
|
|
example:
|
|
rulesets:
|
|
- 1
|
|
- 2
|
|
- 5
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/traffic/blocks:
|
|
post:
|
|
summary: Add a traffic block to a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Traffic
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
month:
|
|
type: integer
|
|
description: >-
|
|
The numeric month as returned by the GET request
|
|
(available).
|
|
amount:
|
|
type: integer
|
|
description: An amount of traffic in GB.
|
|
required:
|
|
- month
|
|
- amount
|
|
example:
|
|
month: 2
|
|
amount: 100
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
get:
|
|
summary: Retrieve a servers traffic blocks
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Traffic
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
month:
|
|
type: integer
|
|
description: >-
|
|
The numeric month as returned by the GET request
|
|
(available).
|
|
amount:
|
|
type: integer
|
|
description: An amount of traffic in GB.
|
|
required:
|
|
- month
|
|
- amount
|
|
example: ''
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
assigned:
|
|
- id: 2
|
|
current: false
|
|
month: 2
|
|
traffic: 100
|
|
start: '2025-02-20 00:00:00'
|
|
end: '2025-03-19 23:59:59'
|
|
added: '2025-01-20T15:08:15.000000Z'
|
|
available:
|
|
total: 25
|
|
current:
|
|
month: 1
|
|
start: '2025-01-20 00:00:00'
|
|
end: '2025-02-19 23:59:59'
|
|
months:
|
|
'1':
|
|
month: 1
|
|
start: '2025-01-20 00:00:00'
|
|
end: '2025-02-19 23:59:59'
|
|
'2':
|
|
month: 2
|
|
start: '2025-02-20 00:00:00'
|
|
end: '2025-03-19 23:59:59'
|
|
'3':
|
|
month: 3
|
|
start: '2025-03-20 00:00:00'
|
|
end: '2025-04-19 23:59:59'
|
|
'4':
|
|
month: 4
|
|
start: '2025-04-20 00:00:00'
|
|
end: '2025-05-19 23:59:59'
|
|
'5':
|
|
month: 5
|
|
start: '2025-05-20 00:00:00'
|
|
end: '2025-06-19 23:59:59'
|
|
'6':
|
|
month: 6
|
|
start: '2025-06-20 00:00:00'
|
|
end: '2025-07-19 23:59:59'
|
|
'7':
|
|
month: 7
|
|
start: '2025-07-20 00:00:00'
|
|
end: '2025-08-19 23:59:59'
|
|
'8':
|
|
month: 8
|
|
start: '2025-08-20 00:00:00'
|
|
end: '2025-09-19 23:59:59'
|
|
'9':
|
|
month: 9
|
|
start: '2025-09-20 00:00:00'
|
|
end: '2025-10-19 23:59:59'
|
|
'10':
|
|
month: 10
|
|
start: '2025-10-20 00:00:00'
|
|
end: '2025-11-19 23:59:59'
|
|
'11':
|
|
month: 11
|
|
start: '2025-11-20 00:00:00'
|
|
end: '2025-12-19 23:59:59'
|
|
'12':
|
|
month: 12
|
|
start: '2025-12-20 00:00:00'
|
|
end: '2026-01-19 23:59:59'
|
|
'13':
|
|
month: 13
|
|
start: '2026-01-20 00:00:00'
|
|
end: '2026-02-19 23:59:59'
|
|
'14':
|
|
month: 14
|
|
start: '2026-02-20 00:00:00'
|
|
end: '2026-03-19 23:59:59'
|
|
'15':
|
|
month: 15
|
|
start: '2026-03-20 00:00:00'
|
|
end: '2026-04-19 23:59:59'
|
|
'16':
|
|
month: 16
|
|
start: '2026-04-20 00:00:00'
|
|
end: '2026-05-19 23:59:59'
|
|
'17':
|
|
month: 17
|
|
start: '2026-05-20 00:00:00'
|
|
end: '2026-06-19 23:59:59'
|
|
'18':
|
|
month: 18
|
|
start: '2026-06-20 00:00:00'
|
|
end: '2026-07-19 23:59:59'
|
|
'19':
|
|
month: 19
|
|
start: '2026-07-20 00:00:00'
|
|
end: '2026-08-19 23:59:59'
|
|
'20':
|
|
month: 20
|
|
start: '2026-08-20 00:00:00'
|
|
end: '2026-09-19 23:59:59'
|
|
'21':
|
|
month: 21
|
|
start: '2026-09-20 00:00:00'
|
|
end: '2026-10-19 23:59:59'
|
|
'22':
|
|
month: 22
|
|
start: '2026-10-20 00:00:00'
|
|
end: '2026-11-19 23:59:59'
|
|
'23':
|
|
month: 23
|
|
start: '2026-11-20 00:00:00'
|
|
end: '2026-12-19 23:59:59'
|
|
'24':
|
|
month: 24
|
|
start: '2026-12-20 00:00:00'
|
|
end: '2027-01-19 23:59:59'
|
|
'25':
|
|
month: 25
|
|
start: '2027-01-20 00:00:00'
|
|
end: '2027-02-19 23:59:59'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/traffic/blocks/{blockId}:
|
|
delete:
|
|
summary: Remove a traffic block from a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Traffic
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
- name: blockId
|
|
in: path
|
|
description: >-
|
|
ID of an assigned traffic block as returned by the GET request
|
|
(assigned).
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
month:
|
|
type: integer
|
|
description: >-
|
|
The numeric month as returned by the GET request
|
|
(available).
|
|
amount:
|
|
type: integer
|
|
description: An amount of traffic in GB.
|
|
required:
|
|
- month
|
|
- amount
|
|
example:
|
|
month: 2
|
|
amount: 100
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/modify/traffic:
|
|
put:
|
|
summary: Modify primary traffic allowance
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network/Traffic
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
traffic:
|
|
type: string
|
|
description: Range of 0 - 999999999
|
|
required:
|
|
- traffic
|
|
example:
|
|
traffic: 1000
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/networkWhitelist:
|
|
post:
|
|
summary: Add an address to the whitelist
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
interface:
|
|
type: string
|
|
description: Primary or secondary.
|
|
ip:
|
|
type: string
|
|
description: IPv4 or IPv6 address.
|
|
cidr:
|
|
type: integer
|
|
description: IPv4 or IPv6 CIDR.
|
|
required:
|
|
- interface
|
|
- ip
|
|
- cidr
|
|
example:
|
|
interface: primary
|
|
ip: 10.0.0.10
|
|
cidr: 32
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
delete:
|
|
summary: Remove an address from the whitelist
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
interface:
|
|
type: string
|
|
description: Primary or secondary.
|
|
ip:
|
|
type: string
|
|
description: IPv4 or IPv6 address.
|
|
required:
|
|
- interface
|
|
- ip
|
|
example:
|
|
interface: primary
|
|
ip: 10.0.0.10
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/ipv4Qty:
|
|
post:
|
|
summary: Add a quantity of IPv4 addresses
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
interface:
|
|
type: string
|
|
description: Primary or secondary.
|
|
quantity:
|
|
type: integer
|
|
description: Number of IPv4 addresses.
|
|
required:
|
|
- interface
|
|
- quantity
|
|
example:
|
|
interface: primary
|
|
quantity: 2
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- 192.168.4.36
|
|
- 192.168.4.37
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/ipv4:
|
|
post:
|
|
summary: Add an array of IPv4 addresses
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
ip:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- ip
|
|
example:
|
|
ip:
|
|
- 10.100.0.10
|
|
- 10.100.0.11
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
delete:
|
|
summary: Remove an array of IPv4 addresses
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Network
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
ip:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Valid IPv4 addresses.
|
|
description: Valid IPv4 addresses.
|
|
required:
|
|
- ip
|
|
example:
|
|
ip:
|
|
- 10.100.0.10
|
|
- 10.100.0.11
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/power/boot:
|
|
post:
|
|
summary: Boot a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Power
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
queueId: 171
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/power/shutdown:
|
|
post:
|
|
summary: Shutdown a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Power
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
queueId: 171
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/power/restart:
|
|
post:
|
|
summary: Restart a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Power
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
queueId: 171
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/power/poweroff:
|
|
post:
|
|
summary: Poweroff a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers/Power
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
queueId: 171
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}:
|
|
get:
|
|
summary: Retrieve a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: remoteState
|
|
in: query
|
|
description: Return the remote state of the server.
|
|
required: false
|
|
example: 'false'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 69
|
|
ownerId: 1
|
|
hypervisorId: 6
|
|
arch: 1
|
|
name: Elliptical Way
|
|
selfService: 0
|
|
selfServiceSettings: []
|
|
hostname: null
|
|
commissionStatus: 3
|
|
uuid: b9fd9092-7200-4a24-96d4-76aedd664274
|
|
state: complete
|
|
migratable: true
|
|
timezone: _default
|
|
migrateLevel: 0
|
|
deleteLevel: 0
|
|
configLevel: 0
|
|
backupLevel: 0
|
|
elevated: false
|
|
elevateId: null
|
|
elevate: false
|
|
destroyable: true
|
|
rebuild: false
|
|
suspended: false
|
|
protected: false
|
|
buildFailed: false
|
|
primaryNetworkDhcp4: false
|
|
primaryNetworkDhcp6: false
|
|
built: '2025-01-15T15:00:49+00:00'
|
|
created: '2024-12-06T21:25:58+00:00'
|
|
updated: '2025-01-15T23:17:49+00:00'
|
|
traffic:
|
|
public:
|
|
countMethod: 1
|
|
currentPeriod:
|
|
start: '2025-01-06T00:00:00.000000Z'
|
|
end: '2025-02-05T23:59:59.999999Z'
|
|
limit: 20000
|
|
settings:
|
|
osTemplateInstall: true
|
|
osTemplateInstallId: 49
|
|
encryptedPassword: >-
|
|
eyJpdiI6IkNtT0ZmUEQ4Q2ZuNW5yUWVXZUcvWWc9PSIsInZhbHVlIjoibHJmMTNHZXpqV3lneFUrZEZ3eThSWEZVbVk5TDlBYTJQbXpPbFRvcmd0OD0iLCJtYWMiOiI1NTNhMGVmNzBlZWViZWI3NjkyMmYzYmM3NWFjMDY3ZTlmZmE4ZDE3NDI2YzliMjY0ODM4YzQzMDViMWY3MTI1IiwidGFnIjoiIn0=
|
|
backupPlan: null
|
|
uefi: false
|
|
uefiType: 0
|
|
cloudInit: true
|
|
cloudInitType: 1
|
|
config:
|
|
cloud.init:
|
|
on.network:
|
|
netplan_routes_v4: true
|
|
netplan_routes_v6: true
|
|
on.network.libvirtrouted:
|
|
netplan_routes_v4: true
|
|
netplan_routes_v6: true
|
|
on.all:
|
|
user.data:
|
|
runcmd:
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet update
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet install qemu-guest-agent
|
|
- /usr/bin/systemctl enable qemu-guest-agent
|
|
- /usr/bin/systemctl start qemu-guest-agent
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet dist-upgrade
|
|
on.password:
|
|
user.data:
|
|
runcmd:
|
|
- >-
|
|
/usr/bin/sed -i "s/#PermitRootLogin
|
|
prohibit-password/PermitRootLogin yes/g"
|
|
/etc/ssh/sshd_config
|
|
- >-
|
|
/usr/bin/sed -i "s/PasswordAuthentication
|
|
no/PasswordAuthentication yes/g"
|
|
/etc/ssh/sshd_config
|
|
- /usr/bin/systemctl restart sshd
|
|
on.sshkey:
|
|
user.data: []
|
|
userConfig: []
|
|
bootOrder:
|
|
- hd
|
|
- cdrom
|
|
tpmType: 0
|
|
networkBoot: false
|
|
bootMenu: 1
|
|
customISO: 1
|
|
securityDriver: 3
|
|
memBalloon:
|
|
model: 1
|
|
autoDeflate: 0
|
|
freePageReporting: 0
|
|
hyperv:
|
|
enabled: false
|
|
passthrough: false
|
|
relaxed: 0
|
|
vapic: 0
|
|
spinlocks: 0
|
|
vpindex: 0
|
|
runtime: 0
|
|
synic: 0
|
|
stimer: 0
|
|
reset: 0
|
|
vendorId: 0
|
|
frequencies: 0
|
|
reenlightenment: 0
|
|
tlbflush: 0
|
|
ipi: 0
|
|
evmcs: 0
|
|
vendorIdValue: KVM VM
|
|
spinlocksValue: 8191
|
|
clockEnabled: 0
|
|
extended:
|
|
cpuFlags:
|
|
topoext: '1'
|
|
svm: '1'
|
|
vmx: '1'
|
|
machineType: inherit
|
|
pciPorts: 16
|
|
resources:
|
|
memory: 1024
|
|
storage: 11
|
|
traffic: 20000
|
|
cpuCores: 2
|
|
cpu:
|
|
cores: 2
|
|
type: inherit
|
|
typeExact: host-model
|
|
shares: 1024
|
|
throttle: 0
|
|
topology:
|
|
enabled: false
|
|
sockets: 1
|
|
cores: 1
|
|
threads: 1
|
|
dies: 1
|
|
customXML:
|
|
domain:
|
|
xml: ''
|
|
enabled: false
|
|
os:
|
|
xml: ''
|
|
enabled: false
|
|
devices:
|
|
xml: ''
|
|
enabled: false
|
|
features:
|
|
xml: ''
|
|
enabled: false
|
|
clock:
|
|
xml: ''
|
|
enabled: false
|
|
cpuTune:
|
|
xml: ''
|
|
enabled: false
|
|
qemuCommandline: []
|
|
qemuAgent:
|
|
os:
|
|
screen: >-
|
|
iVBORw0KGgoAAAANSUhEUgAAAJYAAABTCAAAAABYT6E5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfpARESACl1ShbSAAAB0klEQVRo3u3VS2/TQBAA4NlZr9eP+N04DmmKqxZFBQRC6oX/wN9G4s6l0ENFKQQoSVw7deT4xaFpRTkgkNKIivksreWd9e5oVqsFIH+N/UmUrdrrz9//tMaMxK8rSaEgAICGGnAAuGpAv+sy8f3wUYnBttibW2Wz33X9qfayOJhVXvydx8nzYLDMjcfZTrZTdH1tlHXxQbWXx1PhGD23lYVymD7LDHt7st7SKWGlxSguWRvtvq70yWjqST8YnmilCxB9GzdD8zwcnZrClKGZIna81jzMpWE97OfKWH0DArj24shac7VYlJuJNy9qgd4ZDOczYaXmhcLNeXQKgyJBP80VN40mbmp1vixYkMu5lXU/gK1Vjc+PwVwY1dNj++Ndb+u/ga0eAAbXr1UA2E0XA3Z18m4N/3mW/0UkIu4Aoio6jAP05E3EtRGYcJABbjgn5dVRrTpJ6G0t+btIme1e5IbNB2VwVn8qpB4Xvfe6G791TjabFla5Y1iG7etfz3WXMVW1jGU7kBKeMDBs4H1w1c9qteFqMdaqDTZc1AtE1mDVqnUN2HC+NW5FC20/Kctmw0ndQ7fuZ0IIIYQQQgghhBBCCCGEEEIIIYQQQgghhNwTPwDlF4AYGPA7/gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNS0wMS0xN1QxODowMDo0MSswMDowMA+ZFQkAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjUtMDEtMTdUMTg6MDA6NDErMDA6MDB+xK21AAAAAElFTkSuQmCC
|
|
media:
|
|
isoMounted: false
|
|
isoType: local
|
|
isoName: ''
|
|
isoFilename: ''
|
|
isoUrl: ''
|
|
isoDownload: false
|
|
backupPlan:
|
|
id: null
|
|
name: null
|
|
vnc:
|
|
ip: 192.168.4.2
|
|
port: 5903
|
|
enabled: false
|
|
network:
|
|
interfaces:
|
|
- id: 69
|
|
order: 1
|
|
enabled: true
|
|
tag: 4618706442
|
|
name: ens3
|
|
type: public
|
|
driver: 1
|
|
processQueues: null
|
|
mac: 00:E7:FB:01:87:14
|
|
ipv4ToMac: null
|
|
ipv6ToMac: null
|
|
inTrafficCount: true
|
|
outTrafficCount: false
|
|
inAverage: 0
|
|
inPeak: 0
|
|
inBurst: 0
|
|
outAverage: 0
|
|
outPeak: 0
|
|
outBurst: 0
|
|
ipFilter: false
|
|
vlans: []
|
|
ipFilterType: null
|
|
portIsolated: false
|
|
ipv4_resolver_1: 1
|
|
ipv4_resolver_2: 2
|
|
ipv6_resolver_1: 1
|
|
ipv6_resolver_2: 2
|
|
networkProfile: 0
|
|
dhcpV4: 0
|
|
dhcpV6: 0
|
|
firewallEnabled: false
|
|
hypervisorNetwork: 6
|
|
isNat: false
|
|
nat: false
|
|
firewall: []
|
|
hypervisorConnectivity:
|
|
id: 6
|
|
type: simpleBridge
|
|
bridge: br0
|
|
mtu: null
|
|
primary: true
|
|
default: true
|
|
ipWhitelist: []
|
|
actions: []
|
|
ipv4:
|
|
- id: 33
|
|
order: 1
|
|
enabled: true
|
|
blockId: 1
|
|
address: 192.168.4.32
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
- id: 36
|
|
order: 2
|
|
enabled: true
|
|
blockId: 1
|
|
address: 192.168.4.35
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
ipv6:
|
|
- id: 502
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:2::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
- id: 505
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:5::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
- id: 506
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:6::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
- id: 507
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:7::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
- id: 508
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:8::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
- id: 509
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:9::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
secondaryInterfaces:
|
|
- id: 4
|
|
enabled: true
|
|
order: 1
|
|
tag: 3933491695
|
|
name: eth1
|
|
type: private
|
|
driver: 1
|
|
processQueues: null
|
|
mac: 00:F0:4A:C6:3F:08
|
|
ipv4ToMac: null
|
|
ipv6ToMac: null
|
|
inTrafficCount: true
|
|
outTrafficCount: false
|
|
inAverage: 0
|
|
inPeak: 0
|
|
inBurst: 0
|
|
outAverage: 0
|
|
outPeak: 0
|
|
outBurst: 0
|
|
ipFilter: true
|
|
vlans: []
|
|
ipFilterType: 4-6
|
|
portIsolated: false
|
|
ipv4_resolver_1: 1
|
|
ipv4_resolver_2: 2
|
|
ipv6_resolver_1: 1
|
|
ipv6_resolver_2: 2
|
|
networkProfile: 0
|
|
dhcpV4: 0
|
|
dhcpV6: 0
|
|
firewallEnabled: false
|
|
hypervisorNetwork: 6
|
|
isNat: false
|
|
nat: false
|
|
firewall: []
|
|
hypervisorConnectivity:
|
|
id: 6
|
|
type: simpleBridge
|
|
bridge: br0
|
|
mtu: null
|
|
primary: true
|
|
default: true
|
|
ipWhitelist: []
|
|
actions: []
|
|
ipv4:
|
|
- id: 34
|
|
order: 1
|
|
enabled: true
|
|
address: 192.168.4.33
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
- id: 35
|
|
order: 2
|
|
enabled: true
|
|
address: 192.168.4.34
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
ipv6:
|
|
- id: 503
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:3::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
- id: 504
|
|
block:
|
|
id: 5
|
|
name: V6 For BHV 1,3
|
|
order: 1
|
|
enabled: true
|
|
addresses: []
|
|
addressesDetailed: []
|
|
subnet: '2001:db8:abcd:12:4::'
|
|
cidr: 80
|
|
exhausted: false
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolver1: 2001:4860:4860::8888
|
|
resolver2: 2001:4860:4860::8844
|
|
routeNet: false
|
|
storage:
|
|
- _id: 80
|
|
id: 1
|
|
cache: null
|
|
bus: null
|
|
capacity: 11
|
|
drive: a
|
|
datastoreDiskId: null
|
|
filesystem: null
|
|
iops:
|
|
read: null
|
|
write: null
|
|
bytes:
|
|
read: null
|
|
write: null
|
|
type: qcow2
|
|
profile: 1
|
|
status: 3
|
|
enabled: true
|
|
primary: true
|
|
created: '2024-12-06T21:25:58+00:00'
|
|
updated: '2025-01-07T22:26:16+00:00'
|
|
datastore: []
|
|
name: b9fd9092-7200-4a24-96d4-76aedd664274_1
|
|
filename: b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
hypervisorStorageId: null
|
|
local: true
|
|
locationType: mountpoint
|
|
path: /home/vf-data/disk
|
|
hypervisorAssets: []
|
|
hypervisor:
|
|
id: 6
|
|
ip: 192.168.4.2
|
|
hostname: null
|
|
port: 8892
|
|
maintenance: false
|
|
groupId: 2
|
|
group:
|
|
name: Test
|
|
icon: null
|
|
timezone: Europe/London
|
|
forceIPv6: false
|
|
vncListenType: 1
|
|
displayName: null
|
|
cpuSet: null
|
|
nfType: 4
|
|
backupStorageType: 2
|
|
defaultDiskType: inherit
|
|
defaultDiskCacheType: inherit
|
|
defaultCPU: inherit
|
|
defaultMachineType: inherit
|
|
created: '2024-03-30T09:53:38+00:00'
|
|
updated: '2024-12-06T21:25:54+00:00'
|
|
name: BHV 1
|
|
dataDir: /home/vf-data
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 5
|
|
free: -5
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 29419
|
|
allocated: 7168
|
|
free: 22251
|
|
percent: 24.4
|
|
cpuCores:
|
|
units: '#'
|
|
max: 128
|
|
allocated: 6
|
|
free: 122
|
|
percent: 4.7
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 1
|
|
units: GB
|
|
max: 1000
|
|
allocated: 141
|
|
free: 859
|
|
percent: 14.1
|
|
otherStorage: []
|
|
owner:
|
|
id: 1
|
|
admin: true
|
|
extRelationId: null
|
|
name: Jon Doe
|
|
email: jon@doe.com
|
|
timezone: Europe/London
|
|
suspended: false
|
|
twoFactorAuth: false
|
|
created: '2024-03-12T22:22:09+00:00'
|
|
updated: '2025-01-15T11:01:18+00:00'
|
|
sshKeys:
|
|
- id: 1
|
|
ownerId: 1
|
|
type: OpenSSH
|
|
name: Test Key
|
|
public: >-
|
|
ssh-rsa
|
|
AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs4Ujb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrDZ4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
|
|
enabled: true
|
|
created: '2024-03-13T20:28:32+00:00'
|
|
sharedUsers: []
|
|
tasks:
|
|
active: false
|
|
lastOn: '2025-01-15 15:00:49'
|
|
actions:
|
|
pending: []
|
|
remoteState: false
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
delete:
|
|
summary: Delete a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
- name: delay
|
|
in: query
|
|
description: >-
|
|
How many minutes the system should wait before deleting the server.
|
|
(0-43800)
|
|
required: false
|
|
example: 5
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/backups/plan/{planId}:
|
|
put:
|
|
summary: Add, remove or modify a backup plan
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
- name: planId
|
|
in: path
|
|
description: >-
|
|
A valid backup plan ID as shown in VirtFusion. A value of 0 (zero)
|
|
will remove the plan.
|
|
required: true
|
|
example: 0
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/build:
|
|
post:
|
|
summary: Build a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
operatingSystemId:
|
|
type: integer
|
|
description: A valid operating system template ID.
|
|
name:
|
|
type: string
|
|
description: Server name.
|
|
hostname:
|
|
type: string
|
|
description: Server Hostname.
|
|
sshKeys:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: An array of SSH keys.
|
|
vnc:
|
|
type: boolean
|
|
description: Enable/disable.
|
|
ipv6:
|
|
type: boolean
|
|
description: Enable/disable.
|
|
email:
|
|
type: boolean
|
|
description: Enable/disable.
|
|
swap:
|
|
type: number
|
|
description: Values of 256, 512, 768, 1, 1.5, 2, 3, 4, 5,6 8
|
|
required:
|
|
- operatingSystemId
|
|
example:
|
|
operatingSystemId: 1
|
|
name: server 1
|
|
hostname: server1.domain.com
|
|
sshKeys:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
- 4
|
|
vnc: false
|
|
ipv6: false
|
|
swap: 512
|
|
email: true
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 9
|
|
ownerId: 3
|
|
hypervisorId: 6
|
|
arch: 1
|
|
name: server 1
|
|
selfService: 0
|
|
selfServiceSettings: []
|
|
hostname: server1.domain.com
|
|
commissionStatus: 1
|
|
uuid: 5de5a89b-b707-41bf-a051-7af1a4e67795
|
|
state: queued
|
|
migratable: true
|
|
timezone: _default
|
|
migrateLevel: 0
|
|
deleteLevel: 0
|
|
configLevel: 1
|
|
backupLevel: 0
|
|
elevated: false
|
|
elevateId: null
|
|
elevate: false
|
|
destroyable: true
|
|
rebuild: false
|
|
suspended: false
|
|
protected: false
|
|
buildFailed: false
|
|
primaryNetworkDhcp4: false
|
|
primaryNetworkDhcp6: false
|
|
built: '2024-11-29T19:32:17+00:00'
|
|
created: '2024-04-11T17:22:19+00:00'
|
|
updated: '2025-01-20T13:32:44+00:00'
|
|
traffic:
|
|
public:
|
|
countMethod: 1
|
|
currentPeriod:
|
|
start: '2025-01-11T00:00:00.000000Z'
|
|
end: '2025-02-10T23:59:59.999999Z'
|
|
limit: 200
|
|
settings:
|
|
osTemplateInstall: true
|
|
osTemplateInstallId: 1
|
|
encryptedPassword: >-
|
|
eyJpdiI6IjVsdWVBMzNNWnVXZzlYMjhlTUMzSXc9PSIsInZhbHVlIjoiT2E3SDNmVTVCOW1GK1RCd0h6YjZwZnIva1ZHbU9rQU1VL1hsQSthcUVRYz0iLCJtYWMiOiIzMzdmNjkxOTcwMjkxYmM2ZmNlMjgyMzdkMTQzMDY2OWY1ZTBlYjExYzA1MjdjMzZmMTU1ZTVlMGFiMWY2ZmJlIiwidGFnIjoiIn0=
|
|
backupPlan: null
|
|
uefi: false
|
|
uefiType: 0
|
|
cloudInit: true
|
|
cloudInitType: 1
|
|
config:
|
|
cloud.init:
|
|
on.all:
|
|
user.data:
|
|
runcmd:
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet update
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet dist-upgrade
|
|
on.password:
|
|
user.data: []
|
|
on.sshkey:
|
|
user.data: []
|
|
on.allpre:
|
|
user.data: []
|
|
on.allpost:
|
|
user.data: []
|
|
on.network: []
|
|
on.network.libvirtrouted: []
|
|
userConfig: []
|
|
bootOrder:
|
|
- hd
|
|
- cdrom
|
|
tpmType: 0
|
|
networkBoot: false
|
|
bootMenu: 1
|
|
customISO: 1
|
|
securityDriver: 3
|
|
memBalloon:
|
|
model: 1
|
|
autoDeflate: 0
|
|
freePageReporting: 0
|
|
hyperv:
|
|
enabled: false
|
|
passthrough: false
|
|
relaxed: 0
|
|
vapic: 0
|
|
spinlocks: 0
|
|
vpindex: 0
|
|
runtime: 0
|
|
synic: 0
|
|
stimer: 0
|
|
reset: 0
|
|
vendorId: 0
|
|
frequencies: 0
|
|
reenlightenment: 0
|
|
tlbflush: 0
|
|
ipi: 0
|
|
evmcs: 0
|
|
vendorIdValue: KVM VM
|
|
spinlocksValue: 8191
|
|
clockEnabled: 0
|
|
extended:
|
|
cpuFlags:
|
|
topoext: '1'
|
|
svm: '1'
|
|
vmx: '1'
|
|
machineType: inherit
|
|
pciPorts: 16
|
|
resources:
|
|
memory: 2048
|
|
storage: 10
|
|
traffic: 200
|
|
cpuCores: 1
|
|
decryptedPassword: uv1dmfUUaENhNpbrGUwD
|
|
cpu:
|
|
cores: 1
|
|
type: inherit
|
|
typeExact: host-model
|
|
shares: 1024
|
|
throttle: 0
|
|
topology:
|
|
enabled: false
|
|
sockets: 1
|
|
cores: 1
|
|
threads: 1
|
|
dies: 1
|
|
customXML:
|
|
domain:
|
|
xml: ''
|
|
enabled: false
|
|
os:
|
|
xml: ''
|
|
enabled: false
|
|
devices:
|
|
xml: ''
|
|
enabled: false
|
|
features:
|
|
xml: ''
|
|
enabled: false
|
|
clock:
|
|
xml: ''
|
|
enabled: false
|
|
cpuTune:
|
|
xml: ''
|
|
enabled: false
|
|
qemuCommandline: []
|
|
qemuAgent:
|
|
os:
|
|
screen: >-
|
|
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
|
|
media:
|
|
isoMounted: false
|
|
isoType: local
|
|
isoName: ''
|
|
isoFilename: ''
|
|
isoUrl: ''
|
|
isoDownload: false
|
|
backupPlan:
|
|
id: null
|
|
name: null
|
|
vnc:
|
|
ip: 192.168.4.2
|
|
port: 5901
|
|
enabled: false
|
|
network:
|
|
interfaces:
|
|
- id: 9
|
|
order: 1
|
|
enabled: true
|
|
tag: 4238114467
|
|
name: eth0
|
|
type: public
|
|
driver: 1
|
|
processQueues: null
|
|
mac: 00:C3:BA:23:37:B3
|
|
ipv4ToMac: null
|
|
ipv6ToMac: null
|
|
inTrafficCount: true
|
|
outTrafficCount: false
|
|
inAverage: 0
|
|
inPeak: 0
|
|
inBurst: 0
|
|
outAverage: 0
|
|
outPeak: 0
|
|
outBurst: 0
|
|
ipFilter: true
|
|
vlans: []
|
|
ipFilterType: '4'
|
|
portIsolated: false
|
|
ipv4_resolver_1: 1
|
|
ipv4_resolver_2: 2
|
|
ipv6_resolver_1: 1
|
|
ipv6_resolver_2: 2
|
|
networkProfile: 0
|
|
dhcpV4: 0
|
|
dhcpV6: 0
|
|
firewallEnabled: false
|
|
hypervisorNetwork: 6
|
|
isNat: false
|
|
nat: false
|
|
firewall: []
|
|
hypervisorConnectivity:
|
|
id: 6
|
|
type: simpleBridge
|
|
bridge: br0
|
|
mtu: null
|
|
primary: true
|
|
default: true
|
|
ipWhitelist:
|
|
- id: 1
|
|
type: 4
|
|
ip: 100.100.100.100
|
|
mask: 32
|
|
- id: 2
|
|
type: 4
|
|
ip: 10.0.0.10
|
|
mask: 32
|
|
actions: []
|
|
ipv4:
|
|
- id: 22
|
|
order: 1
|
|
enabled: true
|
|
blockId: 1
|
|
address: 192.168.4.21
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
- id: 37
|
|
order: 2
|
|
enabled: true
|
|
blockId: 1
|
|
address: 192.168.4.36
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
- id: 38
|
|
order: 3
|
|
enabled: true
|
|
blockId: 1
|
|
address: 192.168.4.37
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
ipv6: []
|
|
secondaryInterfaces: []
|
|
storage:
|
|
- _id: 11
|
|
id: 1
|
|
cache: null
|
|
bus: null
|
|
capacity: 10
|
|
drive: a
|
|
datastoreDiskId: null
|
|
filesystem: null
|
|
iops:
|
|
read: null
|
|
write: null
|
|
bytes:
|
|
read: null
|
|
write: null
|
|
type: qcow2
|
|
profile: 0
|
|
status: 3
|
|
enabled: true
|
|
primary: true
|
|
created: '2024-04-11T17:22:19+00:00'
|
|
updated: '2024-04-11T17:22:19+00:00'
|
|
datastore: []
|
|
name: 5de5a89b-b707-41bf-a051-7af1a4e67795_1
|
|
filename: 5de5a89b-b707-41bf-a051-7af1a4e67795_1.img
|
|
hypervisorStorageId: null
|
|
local: true
|
|
locationType: mountpoint
|
|
path: /home/vf-data/disk
|
|
hypervisorAssets: []
|
|
hypervisor:
|
|
id: 6
|
|
ip: 192.168.4.2
|
|
hostname: null
|
|
port: 8892
|
|
maintenance: false
|
|
groupId: 2
|
|
group:
|
|
name: Test
|
|
icon: null
|
|
timezone: Europe/London
|
|
forceIPv6: false
|
|
vncListenType: 1
|
|
displayName: null
|
|
cpuSet: null
|
|
nfType: 4
|
|
backupStorageType: 2
|
|
defaultDiskType: inherit
|
|
defaultDiskCacheType: inherit
|
|
defaultCPU: inherit
|
|
defaultMachineType: inherit
|
|
created: '2024-03-30T09:53:38+00:00'
|
|
updated: '2024-12-06T21:25:54+00:00'
|
|
name: BHV 1
|
|
dataDir: /home/vf-data
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 5
|
|
free: -5
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 29419
|
|
allocated: 7168
|
|
free: 22251
|
|
percent: 24.4
|
|
cpuCores:
|
|
units: '#'
|
|
max: 128
|
|
allocated: 6
|
|
free: 122
|
|
percent: 4.7
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 1
|
|
units: GB
|
|
max: 1000
|
|
allocated: 141
|
|
free: 859
|
|
percent: 14.1
|
|
otherStorage: []
|
|
owner:
|
|
id: 3
|
|
admin: false
|
|
extRelationId: 1
|
|
name: jon Doe
|
|
email: jon@doe.com
|
|
timezone: Europe/London
|
|
suspended: false
|
|
twoFactorAuth: false
|
|
created: '2025-01-20T12:48:20+00:00'
|
|
updated: '2025-01-20T13:00:38+00:00'
|
|
sshKeys: []
|
|
sharedUsers: []
|
|
tasks:
|
|
active: true
|
|
lastOn: '2024-11-29 19:32:17'
|
|
actions:
|
|
pending: []
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/package/{packageId}:
|
|
put:
|
|
summary: Change a server package
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
- name: packageId
|
|
in: path
|
|
description: A valid package ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
backupPlan:
|
|
type: boolean
|
|
cpu:
|
|
type: boolean
|
|
memory:
|
|
type: boolean
|
|
primaryDiskReadIOPS:
|
|
type: boolean
|
|
primaryDiskReadThroughput:
|
|
type: boolean
|
|
primaryDiskSize:
|
|
type: boolean
|
|
primaryDiskWriteIOPS:
|
|
type: boolean
|
|
primaryDiskWriteThroughput:
|
|
type: boolean
|
|
primaryNetworkInboundSpeed:
|
|
type: boolean
|
|
primaryNetworkOutboundSpeed:
|
|
type: boolean
|
|
primaryNetworkTraffic:
|
|
type: boolean
|
|
example:
|
|
backupPlan: true
|
|
cpu: true
|
|
memory: true
|
|
primaryDiskReadIOPS: false
|
|
primaryDiskReadThroughput: false
|
|
primaryDiskSize: true
|
|
primaryDiskWriteIOPS: true
|
|
primaryDiskWriteThroughput: true
|
|
primaryNetworkInboundSpeed: true
|
|
primaryNetworkOutboundSpeed: true
|
|
primaryNetworkTraffic: true
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
info:
|
|
- CPU cores not updated. It matches the current value
|
|
- >-
|
|
primary disk not updated. It either matches or is lower than
|
|
the current value
|
|
- traffic not updated. It matches the current value
|
|
- >-
|
|
primary network speed inbound not updated. It matches the
|
|
current value
|
|
- >-
|
|
primary network speed outbound not updated. It matches the
|
|
current value
|
|
- write IOPS not updated. It matches the current value
|
|
- write bytes/sec not updated. It matches the current value
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers:
|
|
post:
|
|
summary: Create a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: dryRun
|
|
in: query
|
|
description: >-
|
|
Test to see if a server can be created without actual creation.
|
|
true|false Defaults to false.
|
|
required: false
|
|
example: 'false'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
packageId:
|
|
type: integer
|
|
description: A valid package ID.
|
|
userId:
|
|
type: integer
|
|
description: A valid user ID.
|
|
hypervisorId:
|
|
type: integer
|
|
description: A valid hypervisor group ID.
|
|
ipv4:
|
|
type: integer
|
|
description: Number of IPv4 addresses.
|
|
storage:
|
|
type: integer
|
|
description: Number of GB primary storage.
|
|
traffic:
|
|
type: integer
|
|
description: Number of GB traffic (0=unlimited).
|
|
memory:
|
|
type: integer
|
|
description: Number of MB memory.
|
|
cpuCores:
|
|
type: integer
|
|
description: Number of CPU cores.
|
|
networkSpeedInbound:
|
|
type: integer
|
|
description: Inbound network speed (kB/s).
|
|
networkSpeedOutbound:
|
|
type: integer
|
|
description: Outbound network speed (kB/s).
|
|
storageProfile:
|
|
type: integer
|
|
description: Storage profile ID.
|
|
networkProfile:
|
|
type: integer
|
|
description: Network profile ID.
|
|
firewallRulesets:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: >-
|
|
Array of firewall rulesets. This will override package
|
|
settings. A value of -1 will force no rulesets to be
|
|
applied.
|
|
hypervisorAssetGroups:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: >-
|
|
Array of hypervisor asset groups. This will override package
|
|
settings. A value of -1 will force no groups to be applied.
|
|
additionalStorage1Enable:
|
|
type: boolean
|
|
description: Enable/disable additional storage 1.
|
|
additionalStorage2Enable:
|
|
type: boolean
|
|
description: Enable/disable additional storage 2.
|
|
additionalStorage1Profile:
|
|
type: integer
|
|
description: Additional storage 1 profile ID.
|
|
additionalStorage2Profile:
|
|
type: integer
|
|
description: Additional storage 2 profile ID.
|
|
additionalStorage1Capacity:
|
|
type: integer
|
|
description: Number of GB additional storage 1 capacity.
|
|
additionalStorage2Capacity:
|
|
type: integer
|
|
description: Number of GB additional storage 2 capacity.
|
|
required:
|
|
- packageId
|
|
- userId
|
|
- hypervisorId
|
|
example:
|
|
packageId: 1
|
|
userId: 1
|
|
hypervisorId: 1
|
|
ipv4: 1
|
|
storage: 20
|
|
traffic: 20
|
|
memory: 512
|
|
cpuCores: 5
|
|
networkSpeedInbound: 200
|
|
networkSpeedOutbound: 400
|
|
storageProfile: 1
|
|
networkProfile: 1
|
|
firewallRulesets:
|
|
- 1
|
|
- 2
|
|
hypervisorAssetGroups:
|
|
- 3
|
|
- 4
|
|
additionalStorage1Enable: true
|
|
additionalStorage2Enable: false
|
|
additionalStorage1Profile: 1
|
|
additionalStorage2Profile: 2
|
|
additionalStorage1Capacity: 10
|
|
additionalStorage2Capacity: 20
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 70
|
|
ownerId: 1
|
|
hypervisorId: 14
|
|
arch: 1
|
|
name: ''
|
|
selfService: 0
|
|
selfServiceSettings: []
|
|
hostname: null
|
|
commissionStatus: 0
|
|
uuid: ab68e20a-211f-4b90-99f1-8ee9068c81de
|
|
state: allocated
|
|
migratable: true
|
|
timezone: _default
|
|
migrateLevel: 0
|
|
deleteLevel: 0
|
|
configLevel: 0
|
|
backupLevel: 0
|
|
elevated: false
|
|
elevateId: null
|
|
elevate: false
|
|
destroyable: true
|
|
rebuild: false
|
|
suspended: false
|
|
protected: false
|
|
buildFailed: false
|
|
primaryNetworkDhcp4: false
|
|
primaryNetworkDhcp6: false
|
|
built: null
|
|
created: '2025-01-20T14:00:47+00:00'
|
|
updated: '2025-01-20T14:00:47+00:00'
|
|
traffic:
|
|
public:
|
|
countMethod: 1
|
|
currentPeriod:
|
|
start: '2025-01-20T00:00:00.000000Z'
|
|
end: '2025-02-19T23:59:59.999999Z'
|
|
limit: 20
|
|
settings:
|
|
osTemplateInstall: true
|
|
osTemplateInstallId: 0
|
|
encryptedPassword: >-
|
|
eyJpdiI6IkF5L05USXR3OGRNMm80NVFpMXhaVnc9PSIsInZhbHVlIjoiZ0JtclcxSFhoeEdEOGJPa1J6cTVteTllOTh5YU1xM3ViUGphSS9qUTFPMD0iLCJtYWMiOiI3MWFmYzhkY2Y4ZTkxNmNjZWFhZDgzMjZlMjIwZGFhYTg2YTU2OThmYzdjN2MwYzZjNzZhNDBmZTE2MDY4MTc5IiwidGFnIjoiIn0=
|
|
backupPlan: null
|
|
uefi: false
|
|
uefiType: 0
|
|
cloudInit: true
|
|
cloudInitType: 1
|
|
config: []
|
|
userConfig: []
|
|
bootOrder:
|
|
- hd
|
|
- cdrom
|
|
tpmType: 0
|
|
networkBoot: false
|
|
bootMenu: 1
|
|
customISO: 1
|
|
securityDriver: 3
|
|
memBalloon:
|
|
model: 1
|
|
autoDeflate: 0
|
|
freePageReporting: 0
|
|
hyperv:
|
|
enabled: false
|
|
passthrough: false
|
|
relaxed: 0
|
|
vapic: 0
|
|
spinlocks: 0
|
|
vpindex: 0
|
|
runtime: 0
|
|
synic: 0
|
|
stimer: 0
|
|
reset: 0
|
|
vendorId: 0
|
|
frequencies: 0
|
|
reenlightenment: 0
|
|
tlbflush: 0
|
|
ipi: 0
|
|
evmcs: 0
|
|
vendorIdValue: WIN KVM
|
|
spinlocksValue: 8191
|
|
clockEnabled: 0
|
|
extended:
|
|
cpuFlags:
|
|
topoext: '1'
|
|
svm: '1'
|
|
vmx: '1'
|
|
machineType: inherit
|
|
pciPorts: 16
|
|
resources:
|
|
memory: 512
|
|
storage: 20
|
|
traffic: 20
|
|
cpuCores: 5
|
|
cpu:
|
|
cores: 5
|
|
type: inherit
|
|
typeExact: host-model
|
|
shares: 1024
|
|
throttle: 0
|
|
topology:
|
|
enabled: false
|
|
sockets: 1
|
|
cores: 5
|
|
threads: 1
|
|
dies: 1
|
|
customXML:
|
|
domain:
|
|
xml: ''
|
|
enabled: false
|
|
os:
|
|
xml: ''
|
|
enabled: false
|
|
devices:
|
|
xml: ''
|
|
enabled: false
|
|
features:
|
|
xml: ''
|
|
enabled: false
|
|
clock:
|
|
xml: ''
|
|
enabled: false
|
|
cpuTune:
|
|
xml: ''
|
|
enabled: false
|
|
qemuCommandline: []
|
|
qemuAgent:
|
|
os:
|
|
screen: >-
|
|
iVBORw0KGgoAAAANSUhEUgAAAWgAAAEQCAYAAACdlO55AAAAAXNSR0IArs4c6QAAAHhlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAWigAwAEAAAAAQAAARAAAAAAoXChbAAAAAlwSFlzAAALEwAACxMBAJqcGAAAIOZJREFUeAHtnQe4HUXZx+eWAAYTiCQQEpUaFVSIigoK2LBrKAbsgkBARSw8Sn3UPKISPj4ExQpiw4Y1VvR7VFBEMfoIIiK9SC+GIgFCknu+/S++65zN7rnn3Jy9O3P2N3lOtszuzju/d+5/Z2dndobOPffcloswtFojbuutz3Rz5ix1U6bcF2EOcia3Wu6CsV3d4a3T3MWjOyaRQ7kDItxsrUyMXuhaQ/+XLFdFmIG8yS134JkHuZOO/B834+4ZbijKvxw/TypjNyb+WeBc65JkfcyPjG5duRlzw+64kePdie4o1xobTvIVXTbaDE5yQIAABCAAgRAJINAhegWbIAABCCQEEGiKAQQgAIFACSDQgToGsyAAAQgg0JQBCEAAAoESQKADdQxmQQACEECgKQMQgAAEAiWAQAfqGMyCAAQggEBTBiAAAQgESgCBDtQxmAUBCEAAgaYMQAACEAiUAAIdqGMwCwIQgAACTRmAAAQgECgBBDpQx2AWBCAAAQSaMgABCEAgUAIIdKCOwSwIQAACCDRlAAIQgECgBBDoQB2DWRCAAAQQaMoABCAAgUAJINCBOgazIAABCCDQlAEIQAACgRJAoAN1DGZBAAIQQKApAxCAAAQCJYBAB+oYzIIABCCAQFMGIAABCARKAIEO1DGYBQEIQACBpgxAAAIQCJQAAh2oYzALAhCAAAJNGYAABCAQKAEEOlDHYBYEIAABBJoyAAEIQCBQAgh0oI7BLAhAAAIINGUAAhCAQKAEEOhAHYNZEIAABBBoygAEIACBQAkg0IE6BrMgAAEIINCUAQhAAAKBEkCgA3UMZkEAAhBAoCkDEIAABAIlgEAH6hjMggAEIIBAUwYgAAEIBEoAgQ7UMZgFAQhAAIGmDEAAAhAIlAACHahjMAsCEIAAAk0ZgAAEIBAoAQQ6UMdgFgQgAAEEmjIAAQhAIFACCHSgjsEsCEAAAgg0ZQACEIBAoAQQ6EAdg1kQgAAEEGjKAAQgAIFACSDQgToGsyAAAQgg0JQBCEAAAoESQKADdQxmQQACEECgKQMQgAAEAiWAQAfqGMyCAAQggEBTBiAAAQgESgCBDtQxmAUBCEAAgaYMQAACEAiUAAIdqGMwCwIQgAACTRmAAAQgECgBBDpQx2AWBCAAAQSaMgABCEAgUAIIdKCOwSwIQAACCDRlAAIQgECgBBDoQB2DWRCAAAQQaMoABCAAgUAJINCBOgazIAABCCDQlAEIQAACgRJAoAN1DGZBAAIQQKApAxCAAAQCJYBAB+oYzIIABCCAQFMGIAABCARKAIEO1DGYBQEIQACBpgxAAAIQCJQAAh2oYzALAhCAAAJNGYAABCAQKAEEOlDHYBYEIAABBJoyAAEIQCBQAgh0oI7BLAhAAAIINGUAAhCAQKAEEOhAHYNZEIAABBBoygAEIACBQAkg0IE6BrMgAAEIINCUAQhAAAKBEkCgA3UMZkEAAhBAoCkDEIAABAIlgEAH6hjMggAEIIBAUwYgAAEIBEoAgQ7UMZgFAQhAAIGmDEAAAhAIlAACHahjMAsCEIAAAk0ZgAAEIBAoAQQ6UMdgFgQgAAEEmjIAAQhAIFACCHSgjsEsCEAAAgg0ZQACEIBAoAQQ6EAdg1kQgAAERkGwNoFzzmm5r3997f2V7mk5d0frCne9O9a1hmckSQ1VmtykXLy1JknmoiQrq5NlksEBCOddfZ479P5D3Xqt9QbAQypjK1yrdUOyHJt070xNUjx90lONK0EEusBfl13mJl+gUzvuTP4/p8AidoVC4Fp3jdOPsO4EpiWXQKA7c6SJozMfYiEAAQjURgCBrg09CUMAAhDoTACB7syHWAhAAAK1EUCga0NPwhCAAAQ6E0CgO/MhFgIQgEBtBBDo2tCTMAQgAIHOBBDoznyIhQAEIFAbAQS6NvQkDAEIQKAzAQS6Mx9iIQABCNRGgJGEk4h+6tSp7slPfrKbNm2au+qqq9yNN97YVeqbbbaZ23777d0DDzzg/v73v7v777+/8LwpU6a4DTbYII0bGxtzK1asaDtuZGTEyQaFBx980K1erSHY7WH69OnuKU95inv0ox/tbrrpJnfllVcWHtd+lnPd2pg/r9O2n59OxylOTFqt4uHkysvQUPvQ+TVr1rhVq1alv6JrF52j48RM7IpCL/bqGo961KOyy8i3sikf5E9dV0HHyIfrr79+tq1zeklX17AyoIuojKisWPDznS9Do6Ojmc0rV650Dz/8sJ3GsiIC1KArAutfdvfdd3d//etf3b///W+3bNky96tf/cr985//dMuXL3fvfve70z86/3itz5gxw33pS19yt912W/r79a9/7S688EJ33333uauvvtq94Q1vyJ/i3vrWt6bxOubee+918+fPbztmt912y+J/8pOftMUtWLDAXXfddel5F1xwgfvFL36R3gxk88knn5zeVNpOSDYmYuNf/vKXNA3Zd/jhh+cv2bb9tre9LbNXeer022abbdrO9TduuOGGtc6VMElglL/vfOc7btNNN/VPSVkUpSeBe+ihh9zNN9/svvrVr7Zx6cXe5z//+W02vf3tb29L3zYuuuii7DiVhw984APZ9llnnZUe1ku6T3/607Pzlb8XvOAFlpR77GMfm/KwfP/rX//Kbvg6SDZa3N/+9rfsPFaqI4BAV8c2vfIHP/hBd+6557oddtjBDQ+345bAnXrqqcl3P9q/zLTddts5/QEccMABac3UN1E1QYmRzvn+97/vVKspCqppffazn12r5mjHPuEJT7BVd8ghh7ilS5e6LbfcMttnK6rBHXHEEc7EwPZP1EY9PaiWrp/VBO2adSxVY1y4cKG79NJL3ZOe9KSuTJDdc+bMcW9+85vTm+bGG2/c1Xn+Qddff7275557sl2ve93rsnVb0ZOMb9M//vEPi0qXvg/bIjps3H333U61Xws777yzrbo99tgjW9eK8unH++u6wRKqJ9CuGNWn16gUnv3sZ7vFixdnwqxHcNWk1XTgh9e+9rXuuc99brpLgisxnDt3bnaIanuqPetc/3F07733Tmvg2YG5Ff1BLVq0KLd37c33vOc9mZDrkflPf/qT+8Mf/tD2+L/nnns6PQko9NPGta0p3qPmiEsuuaTw9/Of/9zdcsstxSfm9oq9xPiaa65pa1KYNWuWKxJJna4as9LWTfOKK65oa0pR09NLX/rSXCouZTeevaq5W3jOc56T1mBtW0vdOCyo7HzjG9+wzdJlN5zkXwu77LKLra4l0IpQTd+Cf+xvf/tb282yQgIIdIVwP/GJT2TCJ5F9+ctfnjY7PO5xj3Ovec1r2lL+6Ec/mm6/6U1v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
|
|
media:
|
|
isoMounted: false
|
|
isoType: local
|
|
isoName: ''
|
|
isoFilename: ''
|
|
isoUrl: ''
|
|
isoDownload: false
|
|
backupPlan:
|
|
id: null
|
|
name: null
|
|
vnc:
|
|
ip: 192.168.30.6
|
|
port: 5904
|
|
enabled: false
|
|
network:
|
|
interfaces:
|
|
- id: 70
|
|
order: 1
|
|
enabled: true
|
|
tag: 6927490480
|
|
name: eth0
|
|
type: public
|
|
driver: null
|
|
processQueues: null
|
|
mac: 00:BA:76:AB:DF:4E
|
|
ipv4ToMac: null
|
|
ipv6ToMac: null
|
|
inTrafficCount: true
|
|
outTrafficCount: false
|
|
inAverage: 200
|
|
inPeak: 0
|
|
inBurst: 0
|
|
outAverage: 400
|
|
outPeak: 0
|
|
outBurst: 0
|
|
ipFilter: true
|
|
vlans: []
|
|
ipFilterType: '4'
|
|
portIsolated: false
|
|
ipv4_resolver_1: 1
|
|
ipv4_resolver_2: 2
|
|
ipv6_resolver_1: 1
|
|
ipv6_resolver_2: 2
|
|
networkProfile: 0
|
|
dhcpV4: 0
|
|
dhcpV6: 0
|
|
firewallEnabled: false
|
|
hypervisorNetwork: 14
|
|
isNat: false
|
|
nat: false
|
|
firewall: []
|
|
hypervisorConnectivity:
|
|
id: 14
|
|
type: simpleBridge
|
|
bridge: br0
|
|
mtu: null
|
|
primary: true
|
|
default: true
|
|
ipWhitelist: []
|
|
actions: []
|
|
ipv4:
|
|
- id: 520
|
|
order: 1
|
|
enabled: true
|
|
blockId: 3
|
|
address: 192.168.30.207
|
|
gateway: 192.168.30.1
|
|
netmask: 255.255.255.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
rdns: null
|
|
mac: null
|
|
ipv6: []
|
|
secondaryInterfaces: []
|
|
storage:
|
|
- _id: 81
|
|
id: 1
|
|
cache: null
|
|
bus: null
|
|
capacity: 20
|
|
drive: a
|
|
datastoreDiskId: null
|
|
filesystem: null
|
|
iops:
|
|
read: null
|
|
write: null
|
|
bytes:
|
|
read: null
|
|
write: null
|
|
type: qcow2
|
|
profile: 1
|
|
status: 3
|
|
enabled: true
|
|
primary: true
|
|
created: '2025-01-20T14:00:47+00:00'
|
|
updated: '2025-01-20T14:00:47+00:00'
|
|
datastore: []
|
|
name: ab68e20a-211f-4b90-99f1-8ee9068c81de_1
|
|
filename: ab68e20a-211f-4b90-99f1-8ee9068c81de_1.img
|
|
hypervisorStorageId: null
|
|
local: true
|
|
locationType: mountpoint
|
|
path: /home/vf-data/disk
|
|
- _id: 82
|
|
id: 2
|
|
cache: null
|
|
bus: null
|
|
capacity: 10
|
|
drive: b
|
|
datastoreDiskId: null
|
|
filesystem: null
|
|
iops:
|
|
read: null
|
|
write: null
|
|
bytes:
|
|
read: null
|
|
write: null
|
|
type: qcow2
|
|
profile: 0
|
|
status: 1
|
|
enabled: false
|
|
primary: false
|
|
created: '2025-01-20T14:00:47+00:00'
|
|
updated: '2025-01-20T14:00:47+00:00'
|
|
datastore: []
|
|
name: ab68e20a-211f-4b90-99f1-8ee9068c81de_2
|
|
filename: ab68e20a-211f-4b90-99f1-8ee9068c81de_2.img
|
|
hypervisorStorageId: null
|
|
local: true
|
|
locationType: mountpoint
|
|
path: /home/vf-data/disk
|
|
hypervisorAssets: []
|
|
hypervisor:
|
|
id: 14
|
|
ip: 192.168.30.6
|
|
hostname: null
|
|
port: 8892
|
|
maintenance: false
|
|
groupId: 1
|
|
group:
|
|
name: Default
|
|
icon: null
|
|
timezone: Europe/London
|
|
forceIPv6: false
|
|
vncListenType: 1
|
|
displayName: null
|
|
cpuSet: null
|
|
nfType: 4
|
|
backupStorageType: 2
|
|
defaultDiskType: inherit
|
|
defaultDiskCacheType: inherit
|
|
defaultCPU: inherit
|
|
defaultMachineType: inherit
|
|
created: '2024-05-14T11:19:04+00:00'
|
|
updated: '2024-06-28T21:22:01+00:00'
|
|
name: Ceph Hypervisor 2
|
|
dataDir: /home/vf-data
|
|
resources:
|
|
servers:
|
|
units: '#'
|
|
max: 0
|
|
allocated: 4
|
|
free: -4
|
|
percent: null
|
|
memory:
|
|
units: MB
|
|
max: 24000
|
|
allocated: 3584
|
|
free: 20416
|
|
percent: 14.9
|
|
cpuCores:
|
|
units: '#'
|
|
max: 64
|
|
allocated: 8
|
|
free: 56
|
|
percent: 12.5
|
|
localStorage:
|
|
enabled: 1
|
|
name: Local (Default mountpoint)
|
|
storageType: 1
|
|
units: GB
|
|
max: 1000
|
|
allocated: 40
|
|
free: 960
|
|
percent: 4
|
|
otherStorage:
|
|
- id: 2
|
|
name: Ceph RBD
|
|
enabled: 0
|
|
path: null
|
|
units: GB
|
|
storageType: 2
|
|
isDatastore: true
|
|
max: 10000
|
|
allocated: 10
|
|
free: 9990
|
|
percent: 0.1
|
|
- id: 3
|
|
name: Ceph EC
|
|
enabled: 0
|
|
path: null
|
|
units: GB
|
|
storageType: 2
|
|
isDatastore: true
|
|
max: 13333333
|
|
allocated: 10
|
|
free: 13333323
|
|
percent: 0
|
|
owner:
|
|
id: 1
|
|
admin: true
|
|
extRelationId: null
|
|
name: Jon Doe
|
|
email: jon@doe.com
|
|
timezone: Europe/London
|
|
suspended: false
|
|
twoFactorAuth: false
|
|
created: '2024-03-12T22:22:09+00:00'
|
|
updated: '2025-01-15T11:01:18+00:00'
|
|
sshKeys: []
|
|
sharedUsers: []
|
|
tasks:
|
|
active: false
|
|
lastOn: null
|
|
actions:
|
|
pending:
|
|
- id: 19
|
|
action: Create HDD (sdb)
|
|
requires:
|
|
- boot
|
|
- restart
|
|
- shutdown
|
|
- poweroff
|
|
collected: false
|
|
complete: false
|
|
failed: false
|
|
payload:
|
|
disk:
|
|
id: 82
|
|
disk_storage_id: null
|
|
created: '2025-01-20T14:00:47+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
'422':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
errors:
|
|
- Invalid or disabled firewall ruleset
|
|
headers: {}
|
|
security:
|
|
- bearer: []
|
|
get:
|
|
summary: Retrieve servers
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: type
|
|
in: query
|
|
description: simple or full. Defaults to simple.
|
|
required: false
|
|
example: simple
|
|
schema:
|
|
type: string
|
|
- name: results
|
|
in: query
|
|
description: >-
|
|
Number of results to return. Range between 1 and 200. Defaults to
|
|
20.
|
|
required: false
|
|
example: 20
|
|
schema:
|
|
type: integer
|
|
- name: hypervisorId
|
|
in: query
|
|
description: >-
|
|
Filter by hypervisor ID. Specify multiple with
|
|
hypervisorId[]=1&hypervisorId[]=2 etc...
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
current_page: 1
|
|
data:
|
|
- id: 5
|
|
uuid: 1fb4b391-b360-40e7-8fe1-5b024c7508ac
|
|
name: Avaricious Trade
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 7
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-04-02T10:15:10+00:00'
|
|
created: '2024-03-30T14:41:27+00:00'
|
|
- id: 8
|
|
uuid: 82c37680-bf8f-4712-854f-31428933703f
|
|
name: PDNS
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 3
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-04-13T22:02:04+00:00'
|
|
created: '2024-04-09T11:33:43+00:00'
|
|
- id: 9
|
|
uuid: 5de5a89b-b707-41bf-a051-7af1a4e67795
|
|
name: server 1
|
|
commissioned: 2
|
|
owner: 3
|
|
hypervisorId: 6
|
|
suspended: false
|
|
protected: false
|
|
updated: '2025-01-20T14:13:50+00:00'
|
|
created: '2024-04-11T17:22:19+00:00'
|
|
- id: 10
|
|
uuid: 71178184-7554-406f-80b8-0c1d7ffcfd49
|
|
name: Respectful Exit
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 6
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-13T08:16:00+00:00'
|
|
created: '2024-04-23T11:50:58+00:00'
|
|
- id: 11
|
|
uuid: ffed8ddb-c758-41ff-8380-abb1377dfb38
|
|
name: Ubuntu Test
|
|
commissioned: 0
|
|
owner: 1
|
|
hypervisorId: 7
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-02T18:33:20+00:00'
|
|
created: '2024-04-25T20:18:57+00:00'
|
|
- id: 19
|
|
uuid: c77ce40f-0226-43ca-b000-c9b7fe143dc7
|
|
name: Metallic National
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 2
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-02T18:34:27+00:00'
|
|
created: '2024-05-02T10:36:37+00:00'
|
|
- id: 20
|
|
uuid: 785aaddd-b08b-448b-9486-baf29cd3c0f8
|
|
name: Rubbery Daughter
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 7
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-10-07T21:32:34+00:00'
|
|
created: '2024-05-03T10:05:41+00:00'
|
|
- id: 22
|
|
uuid: 5a7e3d49-0fdf-4cfa-bb14-864f3ca0e79a
|
|
name: Frightening Clock
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 7
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-06-08T08:30:15+00:00'
|
|
created: '2024-05-03T10:35:36+00:00'
|
|
- id: 23
|
|
uuid: b1f6efb6-22a1-4d0a-b043-17d0ccfce4b2
|
|
name: Backup Test
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 6
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-14T15:29:37+00:00'
|
|
created: '2024-05-04T07:30:10+00:00'
|
|
- id: 26
|
|
uuid: 5c681c72-6828-4fa3-8011-ced2502384e6
|
|
name: Ceph Test 1
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 13
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-14T11:42:08+00:00'
|
|
created: '2024-05-14T10:57:56+00:00'
|
|
- id: 27
|
|
uuid: 8cb75e06-caae-47f5-9bf2-3ea1d341d10e
|
|
name: OVS BHV 6
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 11
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-17T13:25:10+00:00'
|
|
created: '2024-05-16T16:56:12+00:00'
|
|
- id: 28
|
|
uuid: 3a63170a-2350-422d-8cfb-449ed6940414
|
|
name: OVS BHV 7
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 12
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-17T13:25:04+00:00'
|
|
created: '2024-05-16T18:13:44+00:00'
|
|
- id: 29
|
|
uuid: f24aebac-016c-4139-afcf-5dbfeda54fc8
|
|
name: OVS BHV 1
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 6
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-05-17T13:25:00+00:00'
|
|
created: '2024-05-17T11:25:13+00:00'
|
|
- id: 30
|
|
uuid: 67486d4d-d974-45c3-a680-980bc84635d8
|
|
name: Test 10
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 1
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-06-07T16:41:45+00:00'
|
|
created: '2024-06-07T12:03:00+00:00'
|
|
- id: 36
|
|
uuid: a3df9e3c-893e-4f42-ad90-cf34df155589
|
|
name: Frail Text
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 13
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-06-28T21:25:57+00:00'
|
|
created: '2024-06-28T13:39:55+00:00'
|
|
- id: 37
|
|
uuid: a3b2e9f8-9b5c-44a3-bcb6-bbadf9bd83e2
|
|
name: Stark Brown
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 13
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-08-23T20:15:25+00:00'
|
|
created: '2024-06-28T21:36:23+00:00'
|
|
- id: 38
|
|
uuid: 8c6f63d1-ec53-4e1a-a52f-d50f03b05c70
|
|
name: ''
|
|
commissioned: 0
|
|
owner: 1
|
|
hypervisorId: 14
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-08-23T20:17:42+00:00'
|
|
created: '2024-08-23T20:17:42+00:00'
|
|
- id: 39
|
|
uuid: 539bff72-f6cd-4260-96f1-b7523fd890c5
|
|
name: Thorny Impression
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 14
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-08-23T20:20:32+00:00'
|
|
created: '2024-08-23T20:18:39+00:00'
|
|
- id: 40
|
|
uuid: ce445459-c716-4f88-a7c6-a0ffd29eb9b2
|
|
name: Present Charge
|
|
commissioned: 2
|
|
owner: 1
|
|
hypervisorId: 14
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-08-23T20:57:22+00:00'
|
|
created: '2024-08-23T20:56:04+00:00'
|
|
- id: 41
|
|
uuid: 6fce272f-c6ea-45bd-bf24-d4d357d9a788
|
|
name: CP Test
|
|
commissioned: 3
|
|
owner: 1
|
|
hypervisorId: 13
|
|
suspended: false
|
|
protected: false
|
|
updated: '2024-08-27T11:10:48+00:00'
|
|
created: '2024-08-27T11:09:54+00:00'
|
|
first_page_url: https://192.168.3.11/api/v1/servers?page=1
|
|
from: 1
|
|
last_page: 2
|
|
last_page_url: https://192.168.3.11/api/v1/servers?page=2
|
|
links:
|
|
- url: null
|
|
label: '« Previous'
|
|
active: false
|
|
- url: https://192.168.3.11/api/v1/servers?page=1
|
|
label: '1'
|
|
active: true
|
|
- url: https://192.168.3.11/api/v1/servers?page=2
|
|
label: '2'
|
|
active: false
|
|
- url: https://192.168.3.11/api/v1/servers?page=2
|
|
label: Next »
|
|
active: false
|
|
next_page_url: https://192.168.3.11/api/v1/servers?page=2
|
|
path: https://192.168.3.11/api/v1/servers
|
|
per_page: 20
|
|
prev_page_url: null
|
|
to: 20
|
|
total: 27
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/modify/name:
|
|
put:
|
|
summary: Modify name
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The new name of the server.
|
|
required:
|
|
- name
|
|
example:
|
|
name: Server 1
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/resetPassword:
|
|
post:
|
|
summary: Reset a server password
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
description: Either root or Administrator.
|
|
sendMail:
|
|
type: boolean
|
|
description: >-
|
|
Optional (default true) Email the password to the user.
|
|
(true|false).
|
|
required:
|
|
- user
|
|
example:
|
|
user: root
|
|
sendMail: true
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
queueId: 176
|
|
expectedPassword: l1LMzm2JGhWYdjjn8JkC
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/user/{userId}:
|
|
get:
|
|
summary: Retrieve a users servers
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: userId
|
|
in: path
|
|
description: A valid user ID as shown in VirtFusion.
|
|
required: true
|
|
example: 3
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- id: 9
|
|
ownerId: 3
|
|
hypervisorId: 6
|
|
name: server 1
|
|
hostname: server1.domain.com
|
|
commissionStatus: 2
|
|
uuid: 5de5a89b-b707-41bf-a051-7af1a4e67795
|
|
state: failed
|
|
rebuild: false
|
|
suspended: false
|
|
protected: false
|
|
buildFailed: false
|
|
backup_level: 0
|
|
backup_plan: null
|
|
os:
|
|
screen: >-
|
|
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
|
|
server_info:
|
|
show: false
|
|
icon: null
|
|
name: null
|
|
label: null
|
|
vnc:
|
|
expose_details: true
|
|
ip: 192.168.4.2
|
|
hostname: null
|
|
port: 5901
|
|
enabled: 0
|
|
resources:
|
|
memory: 2048
|
|
storage: 10
|
|
traffic: 200
|
|
cpuCores: 1
|
|
cpu_model: null
|
|
network:
|
|
interfaces:
|
|
- order: 1
|
|
enabled: true
|
|
tag: 4238114467
|
|
name: eth0
|
|
mac: 00:C3:BA:23:37:B3
|
|
inAverage: 0
|
|
inPeak: 0
|
|
inBurst: 0
|
|
outAverage: 0
|
|
outPeak: 0
|
|
outBurst: 0
|
|
isNat: false
|
|
ipv4:
|
|
- order: 1
|
|
enabled: true
|
|
address: 192.168.4.21
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
- order: 2
|
|
enabled: true
|
|
address: 192.168.4.36
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
- order: 3
|
|
enabled: true
|
|
address: 192.168.4.37
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolver1: 8.8.8.8
|
|
resolver2: 8.8.4.4
|
|
ipv6: []
|
|
config:
|
|
uefi: false
|
|
bootOrder:
|
|
- hd
|
|
- cdrom
|
|
media:
|
|
isoMounted: false
|
|
isoName: ''
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/templates:
|
|
get:
|
|
summary: Retrieve OS templates available to a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- name: Debian
|
|
description: >-
|
|
Debian GNU/Linux, is a Linux distribution composed of free
|
|
and open-source software, developed by the
|
|
community-supported Debian Project.
|
|
icon: debian_logo.png
|
|
templates:
|
|
- id: 8
|
|
name: Debian
|
|
version: 11 (Bullseye)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 46
|
|
name: Debian
|
|
version: 12 (Bookworm)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-23 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 56
|
|
name: Debian
|
|
version: 12 (Bookworm)
|
|
variant: Test
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-23 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: true
|
|
type: linux
|
|
id: 1
|
|
- name: CentOS
|
|
description: >-
|
|
The CentOS Linux distribution is a stable, predictable,
|
|
manageable and reproducible platform derived from the
|
|
sources of Red Hat Enterprise Linux (RHEL).
|
|
icon: centos_logo.png
|
|
templates:
|
|
- id: 1
|
|
name: CentOS
|
|
version: '7'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Yum, the main
|
|
command-line package manager for CentOS.
|
|
icon: centos_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 2
|
|
name: CentOS Stream
|
|
version: '9'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Base installation with limited packages. New packages
|
|
are easily installed using DNF (yum), the main
|
|
command-line package manager for CentOS.
|
|
icon: centos_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 2
|
|
- name: Rocky Linux
|
|
description: >-
|
|
Rocky Linux is a community enterprise operating system
|
|
designed to be 100% bug-for-bug compatible with America's
|
|
top enterprise Linux distribution now that its downstream
|
|
partner has shifted direction. It is under intensive
|
|
development by the community. Rocky Linux is led by
|
|
Gregory Kurtzer, founder of the CentOS project.
|
|
icon: rocky_linux_logo.png
|
|
templates:
|
|
- id: 7
|
|
name: Rocky Linux
|
|
version: '8'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Rocky Linux.
|
|
icon: rocky_linux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 13
|
|
name: Rocky Linux
|
|
version: '9'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Rocky Linux.
|
|
icon: rocky_linux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 3
|
|
- name: AlmaLinux
|
|
description: >-
|
|
AlmaLinux OS is an open-source, community-driven project
|
|
that intends provide and alternative to the CentOS Stable
|
|
release. AlmaLinux is an OS that is 1:1 binary compatible
|
|
with RHEL® 8 and a global collaborative of the developer
|
|
community, industry, academia and research which build
|
|
upon this technology to empower humanity.
|
|
icon: almalinux_logo.png
|
|
templates:
|
|
- id: 6
|
|
name: AlmaLinux
|
|
version: '8'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for AlmaLinux.
|
|
icon: almalinux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 12
|
|
name: ARM -> AlmaLinux
|
|
version: '9'
|
|
variant: Latest
|
|
arch: 1
|
|
description: >-
|
|
Latest version with base packages. New packages are
|
|
easily installed using DNF (yum), the main
|
|
command-line package manager for AlmaLinux.
|
|
icon: almalinux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 4
|
|
- name: Ubuntu
|
|
description: >-
|
|
The most popular server Linux in the cloud and data
|
|
centre, you can rely on Ubuntu Server and its five years
|
|
of guaranteed free upgrades.
|
|
icon: ubuntu_logo.png
|
|
templates:
|
|
- id: 3
|
|
name: Ubuntu Server
|
|
version: 20.04 LTS (Focal Fossa)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 4
|
|
name: Ubuntu Server
|
|
version: 18.04 LTS (Bionic Beaver)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 9
|
|
name: Ubuntu Server
|
|
version: 22.04 LTS (Jammy Jellyfish)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 49
|
|
name: Ubuntu Server
|
|
version: 24.04 LTS (Noble Numbat)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-25 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 5
|
|
- name: Fedora
|
|
description: >-
|
|
Fedora Server is a powerful, flexible operating system
|
|
that includes the best and latest datacenter technologies.
|
|
It puts you in control of all your infrastructure and
|
|
services.
|
|
icon: fedora_logo.png
|
|
templates:
|
|
- id: 11
|
|
name: Fedora
|
|
version: '37'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 14
|
|
name: Fedora
|
|
version: '38'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 15
|
|
name: Fedora
|
|
version: '39'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 59
|
|
name: Fedora
|
|
version: '41'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-12-18 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 6
|
|
- name: FreeBSD
|
|
description: >-
|
|
FreeBSD is an operating system used to power modern
|
|
servers, desktops, and embedded platforms. A large
|
|
community has continually developed it for more than
|
|
thirty years. Its advanced networking, security, and
|
|
storage features have made FreeBSD the platform of choice
|
|
for many of the busiest web sites and most pervasive
|
|
embedded networking and storage devices.
|
|
icon: freebsd_logo.png
|
|
templates:
|
|
- id: 52
|
|
name: FreeBSD
|
|
version: '13.3'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-05-15 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: unix
|
|
- id: 53
|
|
name: FreeBSD
|
|
version: '14.0'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-05-15 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: unix
|
|
- id: 55
|
|
name: FreeBSD
|
|
version: '14.2'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-10-20 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: true
|
|
type: unix
|
|
- id: 58
|
|
name: FreeBSD
|
|
version: '13.2'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-12-10 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: unix
|
|
id: 7
|
|
- name: Other
|
|
description: ''
|
|
icon: linux_logo.png
|
|
templates:
|
|
- id: 5
|
|
name: openSUSE
|
|
version: Leap 15
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
openSUSE is a project that serves to promote the use
|
|
of free and open-source software.<br><br>Minimal
|
|
installation with limited packages. New packages are
|
|
easily installed using Zypper, the main command-line
|
|
package manager for openSUSE.
|
|
icon: opensuse_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 0
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/suspend:
|
|
post:
|
|
summary: Suspend a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/modify/cpuThrottle:
|
|
put:
|
|
summary: Throttle a servers CPU
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
- name: sync
|
|
in: query
|
|
description: >-
|
|
Synchronise and apply the defined percentage. true|false Defaults to
|
|
false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
percent:
|
|
type: integer
|
|
description: The percentage the CPU should be throttled (0-99).
|
|
required:
|
|
- percent
|
|
example:
|
|
percent: 50
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/traffic:
|
|
get:
|
|
summary: Retrieve a servers traffic statistics
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
monthly:
|
|
- month: 2
|
|
start: '2025-01-06 00:00:00'
|
|
end: '2025-02-05 23:59:59'
|
|
rx: 1847110337
|
|
tx: 1270421
|
|
total: 1848380758
|
|
limit: 20000
|
|
blocks:
|
|
- id: 2
|
|
traffic: 100
|
|
- month: 1
|
|
start: '2024-12-06 00:00:00'
|
|
end: '2025-01-05 23:59:59'
|
|
rx: 5650592916
|
|
tx: 42336801
|
|
total: 5692929717
|
|
limit: 20000
|
|
blocks: []
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/unsuspend:
|
|
post:
|
|
summary: Unsuspend a server
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/vnc:
|
|
post:
|
|
summary: Enable or disable VNC
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
action:
|
|
type: string
|
|
enum:
|
|
- enable
|
|
- disable
|
|
required:
|
|
- action
|
|
example:
|
|
action: enable
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
vnc:
|
|
ip: 192.168.4.2
|
|
hostname: null
|
|
port: 5903
|
|
password: ZNYonJeU
|
|
wss:
|
|
token: 69316231-d34a-4d36-b754-ffd3253df96d
|
|
url: /vnc/?token=69316231-d34a-4d36-b754-ffd3253df96d
|
|
enabled: false
|
|
queueId: null
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
get:
|
|
summary: Retrive VNC details
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
vnc:
|
|
ip: 192.168.4.2
|
|
hostname: null
|
|
port: 5903
|
|
password: ZNYonJeU
|
|
wss:
|
|
token: 69316231-d34a-4d36-b754-ffd3253df96d
|
|
url: /vnc/?token=69316231-d34a-4d36-b754-ffd3253df96d
|
|
enabled: false
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/owner/{newOwnerId}:
|
|
put:
|
|
summary: Change owner
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
- name: newOwnerId
|
|
in: path
|
|
description: A vailid user ID as shown in VirtFusion.
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/modify/memory:
|
|
put:
|
|
summary: Modify memory
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
memory:
|
|
type: integer
|
|
description: The new memory value in MB.
|
|
minimum: 256
|
|
example: 1024
|
|
required:
|
|
- memory
|
|
example:
|
|
memory: 1024
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/modify/cpuCores:
|
|
put:
|
|
summary: Modify CPU cores
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
cores:
|
|
type: integer
|
|
description: The new core value.
|
|
minimum: 1
|
|
maximum: 600
|
|
example: 4
|
|
required:
|
|
- cores
|
|
example:
|
|
cores: 4
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/servers/{serverId}/customXML:
|
|
post:
|
|
summary: Set custom XML
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Servers
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 69
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
domain:
|
|
type: string
|
|
os:
|
|
type: string
|
|
devices:
|
|
type: string
|
|
features:
|
|
type: string
|
|
clock:
|
|
type: string
|
|
cpuTune:
|
|
type: string
|
|
domainEnabled:
|
|
type: boolean
|
|
osEnabled:
|
|
type: boolean
|
|
devicesEnabled:
|
|
type: boolean
|
|
featuresEnabled:
|
|
type: boolean
|
|
clockEnabled:
|
|
type: boolean
|
|
cpuTuneEnabled:
|
|
type: boolean
|
|
example:
|
|
domain: <xml/>
|
|
os: <xml/>
|
|
devices: <xml/>
|
|
features: <xml/>
|
|
clock: <xml/>
|
|
cpuTune: <xml/>
|
|
domainEnabled: true
|
|
osEnabled: true
|
|
devicesEnabled: true
|
|
featuresEnabled: true
|
|
clockEnabled: true
|
|
cpuTuneEnabled: true
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example: ''
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/compute/hypervisors:
|
|
get:
|
|
summary: Retrieve hypervisors
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Hypervisors
|
|
parameters:
|
|
- name: results
|
|
in: query
|
|
description: >-
|
|
Number of results to return. Range between 1 and 200. Defaults to
|
|
20.
|
|
required: false
|
|
example: 20
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
current_page: 1
|
|
data:
|
|
- id: 1
|
|
commissioned: 3
|
|
ip: 192.168.4.10
|
|
ipAlt: null
|
|
hostname: null
|
|
port: 8892
|
|
sshPort: 22
|
|
name: PHV 1 (RED)
|
|
maintenance: false
|
|
enabled: true
|
|
nfType: 4
|
|
group:
|
|
id: 1
|
|
name: Default
|
|
description: Default hypervisor group
|
|
default: true
|
|
enabled: true
|
|
distributionType: 5
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
encryptedToken: >-
|
|
eyJpdiI6Ik1Ua29ZSGp0QThxWVZhellzL2VTU3c9PSIsInZhbHVlIjoiNzc1eGdMMzFPUFpFZVpIbytzMDc1NzRsUHRJVnFTWFpKWS9WamJIaVJVMVZkSFZjZVM1YVB3bnlQeGt4eEhVamhrWGF4SnNqQVFES010Y3owUmJneTR4a05oRkp1R08xVXI1eHcvQ3NsbW5qU0dpUWhZbnFUMWYrTHM5L2NoZmhUQm9nRnV4b2Y0dENGLy9vanVDMnkwTG1mNXBYM1JVcE5TNWRCSGkvZS9qVEFsSWx5WXdXOU1wajIwam1DV1d4aUNXMUNGMThFNXI5THM4VWFmYnRFNkx3VHFaV3o3M0VVaEZXSHo0TVdKc0xSemJYVExUWEVlZHM0ZVNoUkk0ZEI2QnAySlVESVU2R0JDcWJMeG9YRUhIM0Vad2w2VHNGcFQ3R1BkbU1TbzU3V2JzbEJFNlUvSW90eGxNZkdqRjVmMGx6TTRIWEttYVA0Ti9JQkEwQURrWTRPL2k4VFJsNjhFTHh3UW1wSGMzUkxibEtDeDdlK2tOekQxVkh0bzhsWXY1RkxxaWRkSFBEQlNvM1l2akxqNitickp1TzR0ekhTbmdVSG5VUE5tMGh1WFJuejhscFpSS2dLcE1ZaS9NUlRKdnNUS0wzYWlDYjB1MVJhcmk4OEJoZURNQ3JROE5WcTZTdzV0Si9UeDhwMTFLK3lZV0NDdzB5b2NBZFhsM0hYMDJPMHlXS1g1MmxhNWdrOTRTSDJHbWNvODNuOUswMHJpYTVBL0YwRW9BVndsMllIdW95ZjBhZXdLUTRSR0xBelBVekViTCtKaG8wSGxPR1NOWmNSaXpxQ1hBUVdsdE9HMUhtc2YrRU14WkhOaUVVeWhXRlB2amtRRXkxZjY0cm85ekxVYWE1QU5zdlJDK2N6YmZrNHNOWk4xSTZXbUhxYklLTmgraTZFWHM9IiwibWFjIjoiOTY2ZmJkNzJkNzZmNmZmYTQzM2U4NDQzMDdhYTAzOWZhNTM0M2I1MDQyYWUwYzQ1ZGIyZTRlOGEwM2M0MTRhYiIsInRhZyI6IiJ9
|
|
maxServers: 0
|
|
maxCpu: 4
|
|
maxMemory: 6004
|
|
networks:
|
|
- id: 1
|
|
type: simpleBridge
|
|
bridge: br0
|
|
primary: true
|
|
default: true
|
|
created: '2024-03-12T22:37:15+00:00'
|
|
updated: '2024-03-12T22:37:40+00:00'
|
|
storage: []
|
|
created: '2024-03-12T22:37:15+00:00'
|
|
updated: '2024-05-10T11:27:52+00:00'
|
|
- id: 2
|
|
commissioned: 3
|
|
ip: 192.168.4.9
|
|
ipAlt: null
|
|
hostname: null
|
|
port: 8892
|
|
sshPort: 22
|
|
name: PHV 2 (BLUE)
|
|
maintenance: false
|
|
enabled: true
|
|
nfType: 4
|
|
group:
|
|
id: 1
|
|
name: Default
|
|
description: Default hypervisor group
|
|
default: true
|
|
enabled: true
|
|
distributionType: 5
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
encryptedToken: >-
|
|
eyJpdiI6IjgyR2FZZmJwalVDYUxBR2hMdXdTNmc9PSIsInZhbHVlIjoiSFA1Tm44VzdZMUdZSXNZSTNUdmF5dGo5WjIrZEJlU04xQlVIOEZnUzc3dFZRY0ltc3pLdTZ2SFdkUXlQWUF5UEVaZUE3dXVKQXV6ajZvUTZiY0lBQmlnVllvRDZMSDBYK0ZMV0d5dzRTZlYwaDFRcllsNEdGaTljQnpnbEg5Umt6SmdBZ3ZQL0RneTZEUHhKanFGZU9hSWtvR29lYVlLdzk5NTJNZE1hbExSaWtuMkE4cTVaSGxSbWlJZ3pHejhFWnFxbEltNUcrSXVIdE4rQW9ET2R0M0MrK0RHOXNhOFFuVEw1R2k4eEpDNmZiNWJPVS9NL2xrVk40eG93NzQxaTRFN0pBR0FEL2JTclIvd2xWM3JkbnltZGhrc0xkUzV0SGtKNVoyU2JFY2M0S3dyVXEzS256b1ZHOVRvSWlmNm9OT0d6TktEWUduaVBHT2VHaFpqakU2SjFhU2lqTUZPeVdRN3dWSjhnakVQYkFiVmpCK05ja3BVU3FxakNjUUEzRHl3WUZweFJuQ0FBVkR2eTcxLzVVR2ZPNHU2bDJGRTJ6bVkrZ201akZXT0JIeHByK2VQVmMwUEJ5aDM0TWI0RmViakprM0phVXRVMFUvU1Y5M0FCRTBORm1aNWtGUklRbW51Y010NWIzUE02Vno3SkU2MVk4WTUwRy9QUndTZEgwWmRiLzhiV0w1c0ZsNkRMZkNycUlabWQrQ0F5cnYxamgxcWZjNjk3NXlMZHNMdnZqZkhKdG1sY2VLVmFPUTI3OTJ4UVdGLzF4SE83Y0N5dEhNNUhSQWhoZ29uUXMvR3dGeHVUMlRjc3dYZkVrYVVUMWZVQjhZOVRBT1RXYk84bFpqbGZ5RGQ2Rncvb2lQbVh0djBnSHUwSWJKbnAzQmQrL1VIK1JOK2N4NE09IiwibWFjIjoiNGUyNTIxYTIyNDBjZmRiYmEzNmQ5NTc4MGZmMTU4ZjgwN2Q2OTQzYzFhYTgxODVmYzkyMmU3YWNiOGRmNWZjZSIsInRhZyI6IiJ9
|
|
maxServers: 0
|
|
maxCpu: 28
|
|
maxMemory: 10000
|
|
networks:
|
|
- id: 2
|
|
type: simpleBridge
|
|
bridge: br0
|
|
primary: true
|
|
default: true
|
|
created: '2024-03-16T19:31:43+00:00'
|
|
updated: '2024-03-16T19:32:46+00:00'
|
|
storage: []
|
|
created: '2024-03-16T19:31:43+00:00'
|
|
updated: '2024-04-26T16:41:51+00:00'
|
|
- id: 3
|
|
commissioned: 3
|
|
ip: 192.168.4.12
|
|
ipAlt: null
|
|
hostname: null
|
|
port: 8892
|
|
sshPort: 22
|
|
name: BHV 9
|
|
maintenance: false
|
|
enabled: true
|
|
nfType: 4
|
|
group:
|
|
id: 1
|
|
name: Default
|
|
description: Default hypervisor group
|
|
default: true
|
|
enabled: true
|
|
distributionType: 5
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
encryptedToken: >-
|
|
eyJpdiI6IlZ6MFN4dnlvQm9DTXNsaDM3YWg1aUE9PSIsInZhbHVlIjoiamlrbEhzRlY5d0RRaUxMYkZIUEV2UHh5eVJVMHEwOGQ2QkVIS0tydW82Um15bGFPVHJQbmUzMDMvbGxyZkEyR0MwT1JUR3ZNaDUvZWE5UFYwOExOU2xKNDhUa2g5VnNqQ2NoamptNnp3dmY0VVhzSXEwTEsxWDRwMDdtMyttdmp2UVRHOFJsb3Q3VkpKWEw0N3JmelAxNWZGWTVRQ1lCWHFpM3N5anFnaDNlcVFWazV6ci9Fem9xQTYrYXpNeUw0a3Jobm85aFRweCsxQVNoOWJrVktveWczYm5CL3VyNVhqWHlFbEpRYUtINzhwMCtEN3N4aEEwdTQ0YzdSbVhqQk9BTDVkN3F0aDFHWngwQU1iNDJKT1BRT25LYjZacklPM1llL2hQRWJab1l5QVdTQUtiVkZXcXROZC9xOWxLdzROTUprRkUxWkNjY2l3TnIzYXk5YiswNkhIQTlKejI3YXhPc2xXRklETmtYRkNNWlIzT1RHZkZTVGMvY1lra2JaemNQcW8vUEFLbEROS3dJQkorSVNUeTJESzZtV2tUV0Q0Nk5QVWRvUnJUbWhkVFlwZmphNXZXanFUTi9SbnVacTJXUzhYZW8zby95RG9jVWJDT25UMHU3dVZSN1UrS3RxRFhlM3diYkhxL1g3OXZIdmwzUzhCZmpjN3ZpMkhlRlNSMmNPMzduektWRGpYOFQ2UktIQjdnaEVoZy95MmZYK0c1dTZOemZ0VXpxbHpneVlndkp0anNuN2Y4bXlScXhoWFQrai9yL2wrWWhLNGlGWGVhc09iSEQrRzYrOThCY1czUTdnd0pOTFdSZ05uNUU5QUZPVmtHOENBRDljOFN1UjBteUdacmZYZWdtM2RodXg4dEx5cExGZVZ0TTNrQTVVTFlTZU0vZ28xLzA9IiwibWFjIjoiNzdmZTc5MDI2NjY3OTc2NzhmMjJiMWY3ZGNjNGI4YmNkZTNiNzE0MmNlODdkYzNlNzIxNDU5NmVlMjJmODNhYSIsInRhZyI6IiJ9
|
|
maxServers: 0
|
|
maxCpu: 64
|
|
maxMemory: 27913
|
|
networks:
|
|
- id: 3
|
|
type: simpleBridge
|
|
bridge: br0
|
|
primary: true
|
|
default: true
|
|
created: '2024-03-29T20:10:22+00:00'
|
|
updated: '2024-04-09T11:32:14+00:00'
|
|
storage: []
|
|
created: '2024-03-29T20:10:22+00:00'
|
|
updated: '2024-04-16T10:44:21+00:00'
|
|
- id: 4
|
|
commissioned: 3
|
|
ip: 192.168.4.11
|
|
ipAlt: null
|
|
hostname: null
|
|
port: 8892
|
|
sshPort: 22
|
|
name: BHV 8
|
|
maintenance: false
|
|
enabled: true
|
|
nfType: 4
|
|
group:
|
|
id: 1
|
|
name: Default
|
|
description: Default hypervisor group
|
|
default: true
|
|
enabled: true
|
|
distributionType: 5
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
encryptedToken: >-
|
|
eyJpdiI6ImpjS3JqNWhlOHl6Rm5RUk80WkRVQkE9PSIsInZhbHVlIjoiUXNSVEhXMWhJM2hrZ2gza3hBVGtQUjJMenp4bThNL2d0ajYyUGNTQ2s2TjMxZEZ3ZVJVYzQxbUhjSXZMd2greWY5MEl3ajFLK3RrL1BpSzdZbCtzRkpObisvNktxanpZZzBORFpHRUdnN2t3cmN2YXJBbnhQbWRkQ0FUVkozQTVwanlYZHJxVlF2Y3VBOWVBb21FdytUT3Z0cUdrMTU0V3YxM0w1VUh2NER4VkpESngvK0kwNmp6eHFVSDloSWxEd2t4aHV4UnM2c1kyRFRjTDJ5TXJ0dFZPRjZNL3YxKzFpODlzRHFtak5PRm1pVDFBdHJwNGhqNEZiV05Fd1c2OWlkeWxuTWdUT1Z1STE4MjFIMnBoaDA1WWhmSitFMFdnZGdqZ0lZSlBzODd5Y3hDVzNCYWFwSHlHV1hDU0lXZDJKS3RsYWN4VU9EUmJqeTM3Vy9RSXFKTGxkRnZlMnhjWm5mekRrd0VZVjEzeVFhMDFGazJKbXNOVTdCUzdTcW9PbzFsdkEzZE9nK0k4dW5ndXB6OTJDbUFWZk5hU1JveExMSGFzMnNsQzFUSzRDSHVaQkkvR2JseFFwT1BDTWcvZjlqaU5IdDJPMnRTRjJrVmxuYjJzeDRBT2NTNjl5V2hVc3c3UC9ucG11UFozZjErOFovcXVZQlJHSkt0RWJrcVFvY2NyMDdDZ0JFOE5SVklJa0loSVIvSStwVWh6b0twV1NLT0tOaXF3N1EvQkJUTmhYRit3eFR2VGxMc3NMSDVSUWtyMlZCck43ZkFYVXMrVEpoVXhHSVJlN2pMOENnL1R4SzVIeHkrWkVWKzlhRmN5RWdmK1IzaGpJZ0VtbUMvTzJvRnI2TW93RmpyNXlITXB3TGpteGZ6NmZpUEh4NlNVMytsd0hsS0kxRDA9IiwibWFjIjoiNWFkMTQ4YmQ1MGJjMTE3N2QzN2JhOGJkOTM1NzBlNjIzYjFkM2UyMjkxYjI3OWJmMTkxMmVmYjcxNzEwZTNkNCIsInRhZyI6IiJ9
|
|
maxServers: 0
|
|
maxCpu: 16
|
|
maxMemory: 27913
|
|
networks:
|
|
- id: 4
|
|
type: macVTap
|
|
bridge: eth0
|
|
primary: true
|
|
default: true
|
|
created: '2024-03-29T20:10:42+00:00'
|
|
updated: '2024-03-29T20:10:42+00:00'
|
|
storage: []
|
|
created: '2024-03-29T20:10:42+00:00'
|
|
updated: '2024-04-16T10:44:21+00:00'
|
|
- id: 6
|
|
commissioned: 3
|
|
ip: 192.168.4.2
|
|
ipAlt: 123.123.123.121
|
|
hostname: null
|
|
port: 8892
|
|
sshPort: 22
|
|
name: BHV 1
|
|
maintenance: false
|
|
enabled: true
|
|
nfType: 4
|
|
group:
|
|
id: 2
|
|
name: Test
|
|
description: null
|
|
default: false
|
|
enabled: true
|
|
distributionType: 13
|
|
created: '2024-10-08T13:23:28+00:00'
|
|
updated: '2024-10-08T13:23:42+00:00'
|
|
encryptedToken: >-
|
|
eyJpdiI6ImQ0M1hybkc5bDJaQ2IrakJFUGZ0MEE9PSIsInZhbHVlIjoiNW1ETjRDeGMxZDlDOWx3M1ZmRkFBZG84dGRwbEZVRVlwc0JJT202UXhHekJ0cS9wNWpIUjJiUzJhaG0ySCs4aHpLakF2RnNJTjVPZ09hN0ttcEg4bkJrdjRqd2pxNHlPcTBaNnBDZ2VwTllUNzNnRTdBUlVHM245VDVhWkxhYkZ5MnRmQXZJMjZkQWxkV3BmbVdZNWt0clR2UlNGTEZES0kzaksyd2xmZFJITlRRMU0yUkp2WkNRU0lYUlRkWWF3NWxxY1cyUFo1WFByczZIak4wMnl4VmdSbUs0b0RjVWNacmZmcDM1VTgyWlo1OGYydnBXVGNOdHZIRXA3YnNIZFIzTXJiUmorcVExc216R3VyeTQ0U2JTeDZZbzlBcHN2MFNyczlNZGZPM1M5K2FuUVQrNVc1UHVuTEZUSC8yMi9FWHVOYUphblNPVnZsQ2RhVGdrSE5zczlyTEF6QTM5cTBrci8yRy9DM204NWJxOUZBZjdhTmRFZnc1UWcwVUM1L3dveGpvb2tleEd2eVF0amlSN2VRYzdlS3kzQUtMRVk2WkFma25aVjN5OWRURDZFN3JnWU5UVDRkTjRWc0Rib1JIdXAwSlZQTVViWHJTNlIrbFBvb1M0MHVOOEU4VGlBdGZ4dVI0V1BwS3dnempYSC94bmRXdHdET2FEUGZHVXptNzFQQjM3UnRwbWtSQW1wY2xscGxTTmRvZzJpQ0pEWXdoYWRGTk03aytWbGJyVUh3ZGliVWN1NGVEM1lRNjFVV3oxYkNOL0NJUFUycVlQQ212S0NsYitIK2p5QkxwdUk2bk4vL0l6QktraCtqR2lnYkYzNU1IazBPVG42RGlCVkVBV2JKcGI4My9lNDl4N29vQUNJempjaGtlQU1tVWlHZDBDUFkwVU1lTmM9IiwibWFjIjoiMTk1MWEwNGQyYzdiOGM5ZTQ4NDBjZWI2N2JjYTJjYmFhNThhOGUyMDE1MTdiZDdmN2E2YjE4MjZmZjk1OTcxYiIsInRhZyI6IiJ9
|
|
maxServers: 0
|
|
maxCpu: 128
|
|
maxMemory: 29419
|
|
networks:
|
|
- id: 6
|
|
type: simpleBridge
|
|
bridge: br0
|
|
primary: true
|
|
default: true
|
|
created: '2024-03-30T09:53:38+00:00'
|
|
updated: '2025-01-15T13:31:56+00:00'
|
|
- id: 17
|
|
type: lvBridgeOVS
|
|
bridge: bhv1
|
|
primary: false
|
|
default: false
|
|
created: '2024-05-17T11:25:57+00:00'
|
|
updated: '2024-05-17T11:25:57+00:00'
|
|
storage: []
|
|
created: '2024-03-30T09:53:38+00:00'
|
|
updated: '2024-12-06T21:25:54+00:00'
|
|
first_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=1
|
|
from: 1
|
|
last_page: 3
|
|
last_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=3
|
|
links:
|
|
- url: null
|
|
label: '« Previous'
|
|
active: false
|
|
- url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=1
|
|
label: '1'
|
|
active: true
|
|
- url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=2
|
|
label: '2'
|
|
active: false
|
|
- url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=3
|
|
label: '3'
|
|
active: false
|
|
- url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=2
|
|
label: Next »
|
|
active: false
|
|
next_page_url: >-
|
|
https://192.168.3.11/api/v1/compute/hypervisors?results=5&page=2
|
|
path: https://192.168.3.11/api/v1/compute/hypervisors
|
|
per_page: 5
|
|
prev_page_url: null
|
|
to: 5
|
|
total: 14
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/compute/hypervisors/{hypervisorId}:
|
|
get:
|
|
summary: Retrive a Hypervisor
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Hypervisors
|
|
parameters:
|
|
- name: hypervisorId
|
|
in: path
|
|
description: A valid hypervisor ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 1
|
|
commissioned: 3
|
|
ip: 192.168.4.10
|
|
ipAlt: null
|
|
hostname: null
|
|
port: 8892
|
|
sshPort: 22
|
|
name: PHV 1 (RED)
|
|
maintenance: false
|
|
enabled: true
|
|
nfType: 4
|
|
group:
|
|
id: 1
|
|
name: Default
|
|
description: Default hypervisor group
|
|
default: true
|
|
enabled: true
|
|
distributionType: 5
|
|
created: '2024-03-12T22:21:32+00:00'
|
|
updated: '2024-04-12T20:56:04+00:00'
|
|
encryptedToken: >-
|
|
eyJpdiI6Ik1Ua29ZSGp0QThxWVZhellzL2VTU3c9PSIsInZhbHVlIjoiNzc1eGdMMzFPUFpFZVpIbytzMDc1NzRsUHRJVnFTWFpKWS9WamJIaVJVMVZkSFZjZVM1YVB3bnlQeGt4eEhVamhrWGF4SnNqQVFES010Y3owUmJneTR4a05oRkp1R08xVXI1eHcvQ3NsbW5qU0dpUWhZbnFUMWYrTHM5L2NoZmhUQm9nRnV4b2Y0dENGLy9vanVDMnkwTG1mNXBYM1JVcE5TNWRCSGkvZS9qVEFsSWx5WXdXOU1wajIwam1DV1d4aUNXMUNGMThFNXI5THM4VWFmYnRFNkx3VHFaV3o3M0VVaEZXSHo0TVdKc0xSemJYVExUWEVlZHM0ZVNoUkk0ZEI2QnAySlVESVU2R0JDcWJMeG9YRUhIM0Vad2w2VHNGcFQ3R1BkbU1TbzU3V2JzbEJFNlUvSW90eGxNZkdqRjVmMGx6TTRIWEttYVA0Ti9JQkEwQURrWTRPL2k4VFJsNjhFTHh3UW1wSGMzUkxibEtDeDdlK2tOekQxVkh0bzhsWXY1RkxxaWRkSFBEQlNvM1l2akxqNitickp1TzR0ekhTbmdVSG5VUE5tMGh1WFJuejhscFpSS2dLcE1ZaS9NUlRKdnNUS0wzYWlDYjB1MVJhcmk4OEJoZURNQ3JROE5WcTZTdzV0Si9UeDhwMTFLK3lZV0NDdzB5b2NBZFhsM0hYMDJPMHlXS1g1MmxhNWdrOTRTSDJHbWNvODNuOUswMHJpYTVBL0YwRW9BVndsMllIdW95ZjBhZXdLUTRSR0xBelBVekViTCtKaG8wSGxPR1NOWmNSaXpxQ1hBUVdsdE9HMUhtc2YrRU14WkhOaUVVeWhXRlB2amtRRXkxZjY0cm85ekxVYWE1QU5zdlJDK2N6YmZrNHNOWk4xSTZXbUhxYklLTmgraTZFWHM9IiwibWFjIjoiOTY2ZmJkNzJkNzZmNmZmYTQzM2U4NDQzMDdhYTAzOWZhNTM0M2I1MDQyYWUwYzQ1ZGIyZTRlOGEwM2M0MTRhYiIsInRhZyI6IiJ9
|
|
maxServers: 0
|
|
maxCpu: 4
|
|
maxMemory: 6004
|
|
created: '2024-03-12T22:37:15+00:00'
|
|
updated: '2024-05-10T11:27:52+00:00'
|
|
networks:
|
|
- id: 1
|
|
type: simpleBridge
|
|
bridge: br0
|
|
primary: true
|
|
default: true
|
|
created: '2024-03-12T22:37:15+00:00'
|
|
updated: '2024-03-12T22:37:40+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/connectivity/ipblocks/{blockId}/ipv4:
|
|
post:
|
|
summary: Add an IPv4 range to an IP block
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- IP Blocks
|
|
parameters:
|
|
- name: blockId
|
|
in: path
|
|
description: A valid IPv4 block ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: Must be set to range.
|
|
start:
|
|
type: string
|
|
description: Start of IPv4 range.
|
|
end:
|
|
type: string
|
|
description: End of IPv4 range.
|
|
required:
|
|
- type
|
|
- start
|
|
- end
|
|
example:
|
|
type: range
|
|
start: 192.168.1.2
|
|
end: 192.168.1.10
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
text/css:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/connectivity/ipblocks:
|
|
get:
|
|
summary: Retrieve IP blocks
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- IP Blocks
|
|
parameters:
|
|
- name: results
|
|
in: query
|
|
description: >-
|
|
Number of results to return. Range between 1 and 200. Defaults to
|
|
20.
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
current_page: 1
|
|
data:
|
|
- id: 1
|
|
type: 4
|
|
name: 192.168.4.0/23
|
|
ipv4:
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolvers:
|
|
primary: 8.8.8.8
|
|
secondary: 8.8.4.4
|
|
total: 521
|
|
usedTotal: 21
|
|
freeTotal: 500
|
|
ipv6:
|
|
gateway: null
|
|
resolvers:
|
|
primary: null
|
|
secondary: null
|
|
subnet: null
|
|
from: 48
|
|
to: 64
|
|
restricted: []
|
|
total: 0
|
|
generatedTotal: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
freeGenerated: 0
|
|
blacklistedTotal: 0
|
|
rdnsType: 0
|
|
rdnsZoneId: null
|
|
networkProfile: 0
|
|
routeBlock: null
|
|
dhcp: 1
|
|
enabled: true
|
|
created: '2024-03-12T22:40:23+00:00'
|
|
updated: '2024-12-06T21:53:15+00:00'
|
|
- id: 2
|
|
type: 6
|
|
name: PDNS TEST
|
|
ipv4:
|
|
gateway: null
|
|
netmask: null
|
|
resolvers:
|
|
primary: null
|
|
secondary: null
|
|
total: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
ipv6:
|
|
gateway: 2a03:3a61:a1::1
|
|
resolvers:
|
|
primary: 2001:4860:4860::8888
|
|
secondary: 2001:4860:4860::8844
|
|
subnet: '2a03:3a61:a1::'
|
|
from: 48
|
|
to: 64
|
|
restricted: []
|
|
total: 65535
|
|
generatedTotal: 300
|
|
usedTotal: 0
|
|
freeTotal: 65535
|
|
freeGenerated: 300
|
|
blacklistedTotal: 0
|
|
rdnsType: 2
|
|
rdnsZoneId: 1
|
|
networkProfile: 0
|
|
routeBlock: null
|
|
dhcp: 1
|
|
enabled: true
|
|
created: '2024-04-26T11:41:41+00:00'
|
|
updated: '2024-12-31T10:23:33+00:00'
|
|
- id: 3
|
|
type: 4
|
|
name: 192.168.30.200-240
|
|
ipv4:
|
|
gateway: 192.168.30.1
|
|
netmask: 255.255.255.0
|
|
resolvers:
|
|
primary: 8.8.8.8
|
|
secondary: 8.8.4.4
|
|
total: 41
|
|
usedTotal: 8
|
|
freeTotal: 33
|
|
ipv6:
|
|
gateway: null
|
|
resolvers:
|
|
primary: null
|
|
secondary: null
|
|
subnet: null
|
|
from: 48
|
|
to: 64
|
|
restricted: []
|
|
total: 0
|
|
generatedTotal: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
freeGenerated: 0
|
|
blacklistedTotal: 0
|
|
rdnsType: 0
|
|
rdnsZoneId: null
|
|
networkProfile: 0
|
|
routeBlock: null
|
|
dhcp: 1
|
|
enabled: true
|
|
created: '2024-05-14T10:43:52+00:00'
|
|
updated: '2024-05-14T10:44:25+00:00'
|
|
- id: 4
|
|
type: 4
|
|
name: 10.1.1.0/24
|
|
ipv4:
|
|
gateway: null
|
|
netmask: 255.255.255.255
|
|
resolvers:
|
|
primary: 8.8.8.8
|
|
secondary: 8.8.4.4
|
|
total: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
ipv6:
|
|
gateway: null
|
|
resolvers:
|
|
primary: null
|
|
secondary: null
|
|
subnet: null
|
|
from: 48
|
|
to: 64
|
|
restricted: []
|
|
total: 0
|
|
generatedTotal: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
freeGenerated: 0
|
|
blacklistedTotal: 0
|
|
rdnsType: 0
|
|
rdnsZoneId: null
|
|
networkProfile: 0
|
|
routeBlock: null
|
|
dhcp: 1
|
|
enabled: true
|
|
created: '2024-05-16T18:11:03+00:00'
|
|
updated: '2024-05-17T13:22:04+00:00'
|
|
- id: 5
|
|
type: 6
|
|
name: V6 For BHV 1,3
|
|
ipv4:
|
|
gateway: null
|
|
netmask: null
|
|
resolvers:
|
|
primary: null
|
|
secondary: null
|
|
total: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
ipv6:
|
|
gateway: 2001:db8:abcd:12::1
|
|
resolvers:
|
|
primary: 2001:4860:4860::8888
|
|
secondary: 2001:4860:4860::8844
|
|
subnet: '2001:db8:abcd:12::'
|
|
from: 64
|
|
to: 80
|
|
restricted: []
|
|
total: 65535
|
|
generatedTotal: 1100
|
|
usedTotal: 9
|
|
freeTotal: 65526
|
|
freeGenerated: 1091
|
|
blacklistedTotal: 0
|
|
rdnsType: 0
|
|
rdnsZoneId: null
|
|
networkProfile: 0
|
|
routeBlock: null
|
|
dhcp: 1
|
|
enabled: true
|
|
created: '2024-09-19T17:23:05+00:00'
|
|
updated: '2024-12-06T21:23:55+00:00'
|
|
first_page_url: https://192.168.3.11/api/v1/connectivity/ipblocks?page=1
|
|
from: 1
|
|
last_page: 1
|
|
last_page_url: https://192.168.3.11/api/v1/connectivity/ipblocks?page=1
|
|
links:
|
|
- url: null
|
|
label: '« Previous'
|
|
active: false
|
|
- url: https://192.168.3.11/api/v1/connectivity/ipblocks?page=1
|
|
label: '1'
|
|
active: true
|
|
- url: null
|
|
label: Next »
|
|
active: false
|
|
next_page_url: null
|
|
path: https://192.168.3.11/api/v1/connectivity/ipblocks
|
|
per_page: 20
|
|
prev_page_url: null
|
|
to: 5
|
|
total: 5
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/connectivity/ipblocks/{blockId}:
|
|
get:
|
|
summary: Retrieve an IP block
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- IP Blocks
|
|
parameters:
|
|
- name: blockId
|
|
in: path
|
|
description: A valid IP block ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 1
|
|
type: 4
|
|
name: 192.168.4.0/23
|
|
ipv4:
|
|
gateway: 192.168.4.1
|
|
netmask: 255.255.254.0
|
|
resolvers:
|
|
primary: 8.8.8.8
|
|
secondary: 8.8.4.4
|
|
total: 521
|
|
usedTotal: 21
|
|
freeTotal: 500
|
|
ipv6:
|
|
gateway: null
|
|
resolvers:
|
|
primary: null
|
|
secondary: null
|
|
subnet: null
|
|
from: 48
|
|
to: 64
|
|
restricted: []
|
|
total: 0
|
|
generatedTotal: 0
|
|
usedTotal: 0
|
|
freeTotal: 0
|
|
freeGenerated: 0
|
|
blacklistedTotal: 0
|
|
rdnsType: 0
|
|
rdnsZoneId: null
|
|
networkProfile: 0
|
|
routeBlock: null
|
|
dhcp: 1
|
|
enabled: true
|
|
created: '2024-03-12T22:40:23+00:00'
|
|
updated: '2024-12-06T21:53:15+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/backups/server/{serverId}:
|
|
get:
|
|
summary: Retrieve a server backups
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Backups
|
|
parameters:
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- id: 42
|
|
serverId: 202
|
|
storage:
|
|
id: 5
|
|
name: Backup Server 1
|
|
enabled: true
|
|
deleting: false
|
|
restoring: false
|
|
progress: false
|
|
complete: true
|
|
deleteAfter: null
|
|
created: '2022-03-03T20:25:01+00:00'
|
|
updated: '2022-03-03T20:26:01+00:00'
|
|
- id: 49
|
|
serverId: 202
|
|
storage:
|
|
id: 5
|
|
name: Backup Server 1
|
|
enabled: true
|
|
deleting: false
|
|
restoring: false
|
|
progress: false
|
|
complete: true
|
|
deleteAfter: null
|
|
created: '2022-03-04T20:25:01+00:00'
|
|
updated: '2022-03-04T20:26:01+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/dns/services/{serviceId}:
|
|
get:
|
|
summary: Retrieve a DNS service
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- DNS
|
|
parameters:
|
|
- name: serviceId
|
|
in: path
|
|
description: A valid DNS service ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 4
|
|
type: 1
|
|
name: ClouDNS
|
|
username: '456754'
|
|
url: https://api.cloudns.net
|
|
ip: null
|
|
port: 443
|
|
password: >-
|
|
eyJpdiI6IjVUOU11S09KNmFtNnlqLzRzR0FYd1E9PSIsInZhbHVlIjoiS01SNjdhbEt1TzFVMHM0Nk1lY2Z0bnl5cUJJUDlxeUF0VXdtTTUwWW41QT0iLCJtYWMiOiI4NTBlNzFhNzJmNTkwMTA1ODQ0MjU4OTUzNjM0MzAxN2QwYzY5OTdiMTgzNDg3ZGFjMmU5NjE0Y2E3YTE1NWVjIiwidGFnIjoiIn0=
|
|
config: {}
|
|
subAccount: false
|
|
capabilities: 1
|
|
enabled: true
|
|
created: '2022-02-11T11:55:49+00:00'
|
|
updated: '2022-02-14T22:45:43+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/media/iso/{isoId}:
|
|
get:
|
|
summary: Retrieve an ISO
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Media
|
|
parameters:
|
|
- name: isoId
|
|
in: path
|
|
description: A valid ISO ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 1
|
|
name: Deb Arch
|
|
description: null
|
|
arch: 2
|
|
url: >-
|
|
https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.5.0-arm64-netinst.iso
|
|
filename: deb-arc
|
|
enabled: true
|
|
config: '[]'
|
|
global: true
|
|
download: true
|
|
users: []
|
|
created: '2024-03-13T09:34:54+00:00'
|
|
updated: '2024-04-01T20:34:05+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/media/templates/fromServerPackageSpec/{serverPackageId}:
|
|
get:
|
|
summary: Retrieve operating system templates that are available for a package
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Media
|
|
parameters:
|
|
- name: serverPackageId
|
|
in: path
|
|
description: A valid server package ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- name: Debian
|
|
description: >-
|
|
Debian GNU/Linux, is a Linux distribution composed of free
|
|
and open-source software, developed by the
|
|
community-supported Debian Project.
|
|
icon: debian_logo.png
|
|
templates:
|
|
- id: 8
|
|
name: Debian
|
|
version: 11 (Bullseye)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 44
|
|
name: Debian
|
|
version: 12 (Bookworm)
|
|
variant: null
|
|
arch: 2
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-02 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 46
|
|
name: Debian
|
|
version: 12 (Bookworm)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-23 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 56
|
|
name: Debian
|
|
version: 12 (Bookworm)
|
|
variant: Test
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Debian.
|
|
icon: debian_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-23 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: true
|
|
type: linux
|
|
id: 1
|
|
- name: CentOS
|
|
description: >-
|
|
The CentOS Linux distribution is a stable, predictable,
|
|
manageable and reproducible platform derived from the
|
|
sources of Red Hat Enterprise Linux (RHEL).
|
|
icon: centos_logo.png
|
|
templates:
|
|
- id: 1
|
|
name: CentOS
|
|
version: '7'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Yum, the main
|
|
command-line package manager for CentOS.
|
|
icon: centos_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 2
|
|
name: CentOS Stream
|
|
version: '9'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Base installation with limited packages. New packages
|
|
are easily installed using DNF (yum), the main
|
|
command-line package manager for CentOS.
|
|
icon: centos_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 2
|
|
- name: Rocky Linux
|
|
description: >-
|
|
Rocky Linux is a community enterprise operating system
|
|
designed to be 100% bug-for-bug compatible with America's
|
|
top enterprise Linux distribution now that its downstream
|
|
partner has shifted direction. It is under intensive
|
|
development by the community. Rocky Linux is led by
|
|
Gregory Kurtzer, founder of the CentOS project.
|
|
icon: rocky_linux_logo.png
|
|
templates:
|
|
- id: 7
|
|
name: Rocky Linux
|
|
version: '8'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Rocky Linux.
|
|
icon: rocky_linux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 13
|
|
name: Rocky Linux
|
|
version: '9'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Rocky Linux.
|
|
icon: rocky_linux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 40
|
|
name: Rocky Linux
|
|
version: '9'
|
|
variant: ''
|
|
arch: 2
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Rocky Linux.
|
|
icon: rocky_linux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-28 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 3
|
|
- name: AlmaLinux
|
|
description: >-
|
|
AlmaLinux OS is an open-source, community-driven project
|
|
that intends provide and alternative to the CentOS Stable
|
|
release. AlmaLinux is an OS that is 1:1 binary compatible
|
|
with RHEL® 8 and a global collaborative of the developer
|
|
community, industry, academia and research which build
|
|
upon this technology to empower humanity.
|
|
icon: almalinux_logo.png
|
|
templates:
|
|
- id: 6
|
|
name: AlmaLinux
|
|
version: '8'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for AlmaLinux.
|
|
icon: almalinux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 12
|
|
name: ARM -> AlmaLinux
|
|
version: '9'
|
|
variant: Latest
|
|
arch: 1
|
|
description: >-
|
|
Latest version with base packages. New packages are
|
|
easily installed using DNF (yum), the main
|
|
command-line package manager for AlmaLinux.
|
|
icon: almalinux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 39
|
|
name: AlmaLinux
|
|
version: '9'
|
|
variant: null
|
|
arch: 2
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for AlmaLinux.
|
|
icon: almalinux_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-28 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 4
|
|
- name: Ubuntu
|
|
description: >-
|
|
The most popular server Linux in the cloud and data
|
|
centre, you can rely on Ubuntu Server and its five years
|
|
of guaranteed free upgrades.
|
|
icon: ubuntu_logo.png
|
|
templates:
|
|
- id: 3
|
|
name: Ubuntu Server
|
|
version: 20.04 LTS (Focal Fossa)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 4
|
|
name: Ubuntu Server
|
|
version: 18.04 LTS (Bionic Beaver)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 9
|
|
name: Ubuntu Server
|
|
version: 22.04 LTS (Jammy Jellyfish)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 41
|
|
name: Ubuntu
|
|
version: 22.04 LTS (Jammy Jellyfish)
|
|
variant: ''
|
|
arch: 2
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-28 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 49
|
|
name: Ubuntu Server
|
|
version: 24.04 LTS (Noble Numbat)
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-04-25 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 51
|
|
name: Ubuntu
|
|
version: 24.04 LTS (Noble Numbat)
|
|
variant: null
|
|
arch: 2
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using Advanced Package
|
|
Tool (APT), the main command-line package manager for
|
|
Ubuntu.
|
|
icon: ubuntu_logo.png
|
|
eol: false
|
|
eol_date: '2024-05-02 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 5
|
|
- name: Fedora
|
|
description: >-
|
|
Fedora Server is a powerful, flexible operating system
|
|
that includes the best and latest datacenter technologies.
|
|
It puts you in control of all your infrastructure and
|
|
services.
|
|
icon: fedora_logo.png
|
|
templates:
|
|
- id: 11
|
|
name: Fedora
|
|
version: '37'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 14
|
|
name: Fedora
|
|
version: '38'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 15
|
|
name: Fedora
|
|
version: '39'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 59
|
|
name: Fedora
|
|
version: '41'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
Minimal installation with limited packages. New
|
|
packages are easily installed using DNF (yum), the
|
|
main command-line package manager for Fedora.
|
|
icon: fedora_logo.png
|
|
eol: false
|
|
eol_date: '2024-12-18 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 6
|
|
- name: FreeBSD
|
|
description: >-
|
|
FreeBSD is an operating system used to power modern
|
|
servers, desktops, and embedded platforms. A large
|
|
community has continually developed it for more than
|
|
thirty years. Its advanced networking, security, and
|
|
storage features have made FreeBSD the platform of choice
|
|
for many of the busiest web sites and most pervasive
|
|
embedded networking and storage devices.
|
|
icon: freebsd_logo.png
|
|
templates:
|
|
- id: 52
|
|
name: FreeBSD
|
|
version: '13.3'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-05-15 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: unix
|
|
- id: 53
|
|
name: FreeBSD
|
|
version: '14.0'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-05-15 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: unix
|
|
- id: 55
|
|
name: FreeBSD
|
|
version: '14.2'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-10-20 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: true
|
|
type: unix
|
|
- id: 58
|
|
name: FreeBSD
|
|
version: '13.2'
|
|
variant: Minimal
|
|
arch: 1
|
|
description: Minimal installation with limited packages.
|
|
icon: freebsd_logo.png
|
|
eol: false
|
|
eol_date: '2024-12-10 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: unix
|
|
id: 7
|
|
- name: Other
|
|
description: ''
|
|
icon: linux_logo.png
|
|
templates:
|
|
- id: 5
|
|
name: openSUSE
|
|
version: Leap 15
|
|
variant: Minimal
|
|
arch: 1
|
|
description: >-
|
|
openSUSE is a project that serves to promote the use
|
|
of free and open-source software.<br><br>Minimal
|
|
installation with limited packages. New packages are
|
|
easily installed using Zypper, the main command-line
|
|
package manager for openSUSE.
|
|
icon: opensuse_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-12 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
- id: 36
|
|
name: openSUSE
|
|
version: Leap 15.6
|
|
variant: ''
|
|
arch: 2
|
|
description: >-
|
|
openSUSE is a project that serves to promote the use
|
|
of free and open-source software.<br><br>Minimal
|
|
installation with limited packages. New packages are
|
|
easily installed using Zypper, the main command-line
|
|
package manager for openSUSE.
|
|
icon: opensuse_logo.png
|
|
eol: false
|
|
eol_date: '2024-03-14 00:00:00'
|
|
eol_warning: false
|
|
deploy_type: 1
|
|
vnc: false
|
|
type: linux
|
|
id: 0
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/packages:
|
|
get:
|
|
summary: Retrieve packages
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Packages
|
|
parameters: []
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- id: 1
|
|
name: Test
|
|
description: null
|
|
enabled: true
|
|
memory: 1024
|
|
primaryStorage: 10
|
|
traffic: 200
|
|
cpuCores: 1
|
|
primaryNetworkSpeedIn: 0
|
|
primaryNetworkSpeedOut: 0
|
|
primaryDiskType: inherit
|
|
backupPlanId: 0
|
|
primaryStorageReadBytesSec: null
|
|
primaryStorageWriteBytesSec: null
|
|
primaryStorageReadIopsSec: null
|
|
primaryStorageWriteIopsSec: null
|
|
primaryStorageProfile: 1
|
|
primaryNetworkProfile: 0
|
|
created: '2024-03-12T22:41:31.000000Z'
|
|
- id: 2
|
|
name: Test Only
|
|
description: null
|
|
enabled: true
|
|
memory: 1024
|
|
primaryStorage: 10
|
|
traffic: 200
|
|
cpuCores: 1
|
|
primaryNetworkSpeedIn: 0
|
|
primaryNetworkSpeedOut: 0
|
|
primaryDiskType: inherit
|
|
backupPlanId: 0
|
|
primaryStorageReadBytesSec: null
|
|
primaryStorageWriteBytesSec: null
|
|
primaryStorageReadIopsSec: null
|
|
primaryStorageWriteIopsSec: null
|
|
primaryStorageProfile: 0
|
|
primaryNetworkProfile: 0
|
|
created: '2024-06-28T12:36:16.000000Z'
|
|
- id: 3
|
|
name: BASIC
|
|
description: null
|
|
enabled: true
|
|
memory: 1024
|
|
primaryStorage: 10
|
|
traffic: 20000
|
|
cpuCores: 2
|
|
primaryNetworkSpeedIn: 0
|
|
primaryNetworkSpeedOut: 0
|
|
primaryDiskType: inherit
|
|
backupPlanId: 0
|
|
primaryStorageReadBytesSec: null
|
|
primaryStorageWriteBytesSec: null
|
|
primaryStorageReadIopsSec: null
|
|
primaryStorageWriteIopsSec: null
|
|
primaryStorageProfile: 1
|
|
primaryNetworkProfile: 0
|
|
created: '2024-10-12T15:54:54.000000Z'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/packages/{packageId}:
|
|
get:
|
|
summary: Retrieve a packge
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Packages
|
|
parameters:
|
|
- name: packageId
|
|
in: path
|
|
description: A valid package ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 1
|
|
name: Test
|
|
description: null
|
|
enabled: true
|
|
memory: 1024
|
|
primaryStorage: 10
|
|
traffic: 200
|
|
cpuCores: 1
|
|
primaryNetworkSpeedIn: 0
|
|
primaryNetworkSpeedOut: 0
|
|
primaryDiskType: inherit
|
|
backupPlanId: 0
|
|
primaryStorageReadBytesSec: null
|
|
primaryStorageWriteBytesSec: null
|
|
primaryStorageReadIopsSec: null
|
|
primaryStorageWriteIopsSec: null
|
|
primaryStorageProfile: 1
|
|
primaryNetworkProfile: 0
|
|
created: '2024-03-12T22:41:31.000000Z'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/queue/{queueId}:
|
|
get:
|
|
summary: Retrieve a queue item
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Queue & Tasks
|
|
parameters:
|
|
- name: queueId
|
|
in: path
|
|
description: A valid queue ID as shown in VirtFusion.
|
|
required: true
|
|
example: 158
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 158
|
|
jobId: '852'
|
|
job: App\Jobs\Server\KVM\Build
|
|
hypervisorId: 6
|
|
serverId: 69
|
|
action: build_server
|
|
queue: default
|
|
started: '2025-01-15T15:00:26+00:00'
|
|
updated: '2025-01-15T15:00:49+00:00'
|
|
finished: '2025-01-15T15:00:49+00:00'
|
|
failed: false
|
|
progress: 100
|
|
errors:
|
|
exception:
|
|
stringable: false
|
|
errors: []
|
|
type: null
|
|
trace: null
|
|
message: null
|
|
primaryActions:
|
|
- type: server.get.status
|
|
dataType: object
|
|
data:
|
|
success: true
|
|
version: '{{VERSION}}'
|
|
setOpts:
|
|
failOnVersionCheck: true
|
|
failOnDisasterRecovery: true
|
|
createDirStructure: true
|
|
writeXMLConfiguration: false
|
|
failOnCustomXML: false
|
|
failOnPriorityXML: false
|
|
failOnElevateXML: true
|
|
actions:
|
|
createDirStructure:
|
|
requested: true
|
|
output: server directory structure set. No action required
|
|
msg: null
|
|
success: true
|
|
statusTree:
|
|
disasterRecoveryActive: false
|
|
customXML: false
|
|
priorityXML: false
|
|
elevateXML: false
|
|
created: '2025-01-15T15:00:26+00:00'
|
|
updated: '2025-01-15T15:00:26+00:00'
|
|
- type: server.config.dhcp
|
|
dataType: object
|
|
data:
|
|
system:
|
|
success: true
|
|
commandline: []
|
|
data: []
|
|
created: '2025-01-15T15:00:26+00:00'
|
|
updated: '2025-01-15T15:00:26+00:00'
|
|
- type: server.os.template.exists
|
|
dataType: object
|
|
data:
|
|
success: false
|
|
remote:
|
|
info:
|
|
url: >-
|
|
https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
|
|
content_type: application/octet-stream
|
|
http_code: 200
|
|
header_size: 255
|
|
request_size: 176
|
|
filetime: -1
|
|
ssl_verify_result: 20
|
|
redirect_count: 0
|
|
total_time: 0.070349
|
|
namelookup_time: 0.016706
|
|
connect_time: 0.03088
|
|
pretransfer_time: 0.054076
|
|
size_upload: 0
|
|
size_download: 0
|
|
speed_download: 0
|
|
speed_upload: 0
|
|
download_content_length: 609856512
|
|
upload_content_length: 0
|
|
starttransfer_time: 0.070305
|
|
redirect_time: 0
|
|
redirect_url: ''
|
|
primary_ip: 185.125.190.37
|
|
certinfo: []
|
|
primary_port: 443
|
|
local_ip: 192.168.4.2
|
|
local_port: 34728
|
|
http_version: 2
|
|
protocol: 2
|
|
ssl_verifyresult: 0
|
|
scheme: HTTPS
|
|
appconnect_time_us: 54015
|
|
connect_time_us: 30880
|
|
namelookup_time_us: 16706
|
|
pretransfer_time_us: 54076
|
|
redirect_time_us: 0
|
|
starttransfer_time_us: 70305
|
|
total_time_us: 70349
|
|
effective_method: HEAD
|
|
exitCode: 0
|
|
error: null
|
|
completed: true
|
|
created: '2025-01-15T15:00:27+00:00'
|
|
updated: '2025-01-15T15:00:27+00:00'
|
|
- type: server.os.template.download
|
|
dataType: object
|
|
data:
|
|
system:
|
|
success: true
|
|
errors: []
|
|
commandline: []
|
|
data:
|
|
- sourceUrl: >-
|
|
https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
|
|
sourceDecompress: ''
|
|
destinationPath: >-
|
|
/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
|
|
exitCode: null
|
|
pid: null
|
|
finished: false
|
|
error: null
|
|
errorOutput: null
|
|
success: 0
|
|
updated: 1736953227
|
|
created: '2025-01-15T15:00:27+00:00'
|
|
updated: '2025-01-15T15:00:27+00:00'
|
|
- type: server.os.template.download.check
|
|
dataType: object
|
|
data:
|
|
success: true
|
|
filesize: 609856512
|
|
remote: |-
|
|
{
|
|
"sourceUrl": "https:\/\/cloud-images.ubuntu.com\/noble\/current\/noble-server-cloudimg-amd64.img",
|
|
"sourceDecompress": "",
|
|
"destinationPath": "\/home\/vf-data\/os\/template\/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2",
|
|
"exitCode": 0,
|
|
"pid": 387093,
|
|
"finished": true,
|
|
"error": null,
|
|
"errorOutput": null,
|
|
"success": true,
|
|
"updated": 1736953235,
|
|
"decompressOutput": null
|
|
}
|
|
created: '2025-01-15T15:00:35+00:00'
|
|
updated: '2025-01-15T15:00:35+00:00'
|
|
- type: server.create.ci
|
|
dataType: object
|
|
data:
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
ens3:
|
|
match:
|
|
macaddress: 00:e7:fb:01:87:14
|
|
addresses:
|
|
- 192.168.4.32/23
|
|
- 192.168.4.35/23
|
|
gateway4: 192.168.4.1
|
|
nameservers:
|
|
addresses:
|
|
- 8.8.8.8
|
|
- 8.8.4.4
|
|
routes:
|
|
- to: 192.168.4.1
|
|
via: 0.0.0.0
|
|
scope: link
|
|
ens4:
|
|
match:
|
|
macaddress: 00:f0:4a:c6:3f:08
|
|
addresses:
|
|
- 192.168.4.33/23
|
|
- 192.168.4.34/23
|
|
gateway4: 192.168.4.1
|
|
nameservers:
|
|
addresses:
|
|
- 8.8.8.8
|
|
- 8.8.4.4
|
|
user:
|
|
timezone: Europe/London
|
|
ssh_pwauth: false
|
|
users:
|
|
- name: root
|
|
ssh-authorized-keys:
|
|
- >-
|
|
ssh-rsa
|
|
AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs3Wjb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
|
|
hashed_passwd: ''
|
|
lock_passwd: true
|
|
runcmd:
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet update
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet install qemu-guest-agent
|
|
- /usr/bin/systemctl enable qemu-guest-agent
|
|
- /usr/bin/systemctl start qemu-guest-agent
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive /usr/bin/apt-get
|
|
--option=Dpkg::Options::=--force-confold
|
|
--option=Dpkg::options::=--force-unsafe-io
|
|
--assume-yes --quiet dist-upgrade
|
|
meta:
|
|
instance-id: b9fd9092-7200-4a24-96d4-76aedd664274
|
|
local-hostname: elliptical-way
|
|
created: '2025-01-15T15:00:35+00:00'
|
|
updated: '2025-01-15T15:00:35+00:00'
|
|
- type: server.disk.create.os
|
|
dataType: object
|
|
data:
|
|
system:
|
|
success: true
|
|
commandline:
|
|
- result:
|
|
success: true
|
|
exitOnZero: false
|
|
command: >-
|
|
'virsh' 'destroy'
|
|
'b9fd9092-7200-4a24-96d4-76aedd664274'
|
|
exit_code: 1
|
|
pid: 387131
|
|
started: 1736953235.403454
|
|
env:
|
|
PATH: >-
|
|
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
timeout: 180
|
|
output: ''
|
|
error: >-
|
|
error: failed to get domain
|
|
'b9fd9092-7200-4a24-96d4-76aedd664274'
|
|
- command: >-
|
|
qemu-img info
|
|
'/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2'
|
|
| grep -v grep | grep -w "file format:" | awk '{
|
|
print $3 }'
|
|
exit_code: 0
|
|
output: qcow2
|
|
error: ''
|
|
- command: >-
|
|
'cloud-localds'
|
|
'/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/cloud-drive.img'
|
|
'--network-config=/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/network-config-v2.yaml'
|
|
'/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/user-data.yaml'
|
|
'/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/meta-data.yaml'
|
|
exit_code: 0
|
|
output: ''
|
|
error: ''
|
|
data:
|
|
success: true
|
|
forkData:
|
|
status: true
|
|
errors: []
|
|
commandline: []
|
|
output:
|
|
- sourcePath: >-
|
|
/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
|
|
destinationPath: >-
|
|
/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
convertProcess:
|
|
- qemu-img
|
|
- convert
|
|
- '-f'
|
|
- qcow2
|
|
- '-O'
|
|
- qcow2
|
|
- >-
|
|
/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
|
|
- >-
|
|
/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
resizeProcess:
|
|
- qemu-img
|
|
- resize
|
|
- '-f'
|
|
- qcow2
|
|
- >-
|
|
/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
- 11G
|
|
resizeProcessPid: null
|
|
convertProcessPid: null
|
|
finished: false
|
|
convertProcessOutput: null
|
|
resizeProcessOutput: null
|
|
convertProcessExitCode: null
|
|
resizeProcessExitCode: null
|
|
convertProcessError: null
|
|
resizeProcessError: null
|
|
error: null
|
|
success: false
|
|
updated: 1736953238
|
|
abort: false
|
|
error: null
|
|
errorException: null
|
|
created: '2025-01-15T15:00:38+00:00'
|
|
updated: '2025-01-15T15:00:38+00:00'
|
|
- type: server.os.install.check
|
|
dataType: object
|
|
data:
|
|
success: true
|
|
sourceFilesize: 609856512
|
|
destinationFilesize: 1832517808
|
|
remote:
|
|
sourcePath: >-
|
|
/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
|
|
destinationPath: >-
|
|
/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
convertProcess:
|
|
- qemu-img
|
|
- convert
|
|
- '-f'
|
|
- qcow2
|
|
- '-O'
|
|
- qcow2
|
|
- >-
|
|
/home/vf-data/os/template/ubuntu-noble-server-cloudimg-amd64-2024-04-25.qcow2
|
|
- >-
|
|
/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
resizeProcess:
|
|
- qemu-img
|
|
- resize
|
|
- '-f'
|
|
- qcow2
|
|
- >-
|
|
/home/vf-data/disk/b9fd9092-7200-4a24-96d4-76aedd664274_1.img
|
|
- 11G
|
|
resizeProcessPid: 387270
|
|
convertProcessPid: 387168
|
|
finished: true
|
|
convertProcessOutput: ''
|
|
resizeProcessOutput: |
|
|
Image resized.
|
|
convertProcessExitCode: 0
|
|
resizeProcessExitCode: 0
|
|
convertProcessError: null
|
|
resizeProcessError: null
|
|
error: null
|
|
success: true
|
|
updated: 1736953244
|
|
created: '2025-01-15T15:00:44+00:00'
|
|
updated: '2025-01-15T15:00:44+00:00'
|
|
- type: server.vnc.disable
|
|
dataType: object
|
|
data:
|
|
system:
|
|
success: true
|
|
commandline:
|
|
- command: '''/usr/sbin/ufw'' ''deny'' ''5903'''
|
|
exit_code: 0
|
|
output: |-
|
|
Skipping adding existing rule
|
|
Skipping adding existing rule (v6)
|
|
error: ''
|
|
data: []
|
|
created: '2025-01-15T15:00:45+00:00'
|
|
updated: '2025-01-15T15:00:45+00:00'
|
|
- type: server.boot
|
|
dataType: object
|
|
data:
|
|
system:
|
|
success: true
|
|
errors: []
|
|
commandline:
|
|
- success: true
|
|
exitOnZero: false
|
|
command: >-
|
|
'virsh' '-q' 'domstate'
|
|
'b9fd9092-7200-4a24-96d4-76aedd664274'
|
|
exit_code: 1
|
|
pid: 387301
|
|
started: 1736953245.165795
|
|
env:
|
|
PATH: >-
|
|
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
timeout: 60
|
|
output: ''
|
|
error: >-
|
|
error: failed to get domain
|
|
'b9fd9092-7200-4a24-96d4-76aedd664274'
|
|
- success: true
|
|
exitOnZero: true
|
|
command: >-
|
|
'virsh' 'create'
|
|
'/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/server.xml'
|
|
exit_code: 0
|
|
pid: 387303
|
|
started: 1736953245.190122
|
|
env:
|
|
PATH: >-
|
|
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
timeout: 360
|
|
output: >-
|
|
Domain 'b9fd9092-7200-4a24-96d4-76aedd664274'
|
|
created from
|
|
/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/server.xml
|
|
error: ''
|
|
- result:
|
|
success: true
|
|
exitOnZero: true
|
|
command: >-
|
|
'virsh' 'attach-disk'
|
|
'b9fd9092-7200-4a24-96d4-76aedd664274'
|
|
'/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/cloud-drive.img'
|
|
'sdx' '--mode' 'readonly'
|
|
exit_code: 0
|
|
pid: 387457
|
|
started: 1736953246.67152
|
|
env:
|
|
PATH: >-
|
|
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
timeout: 60
|
|
output: Disk attached successfully
|
|
error: ''
|
|
data:
|
|
- - filter_list: null
|
|
filter_apply: null
|
|
filter_apply_success: true
|
|
filter_apply_error: false
|
|
filter_apply_error_trace: false
|
|
filter_apply_cli: null
|
|
filter_apply_code: null
|
|
tmp_filter_1: >-
|
|
/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/networkFilter-3933491695.xml
|
|
tmp_filter_2: >-
|
|
/home/vf-data/server/b9fd9092-7200-4a24-96d4-76aedd664274/networkFilter-3933491695.xml-tmp
|
|
sha1: bd9ce80d8372e025e5de8757ec63c042986a48fa
|
|
sha1_last: bd9ce80d8372e025e5de8757ec63c042986a48fa
|
|
native:
|
|
primary: []
|
|
secondary:
|
|
sha1: 801b6632cbb50f2c8c6dd15037ba9c9d4e03cf50
|
|
sha1_last: 801b6632cbb50f2c8c6dd15037ba9c9d4e03cf50
|
|
created: '2025-01-15T15:00:46+00:00'
|
|
updated: '2025-01-15T15:00:46+00:00'
|
|
- type: server.config.statistics
|
|
dataType: object
|
|
data: []
|
|
created: '2025-01-15T15:00:48+00:00'
|
|
updated: '2025-01-15T15:00:48+00:00'
|
|
subActions: []
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/ssh_keys:
|
|
post:
|
|
summary: Add an SSH key to a user account
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- SSH Keys
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
userId:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
publicKey:
|
|
type: string
|
|
required:
|
|
- userId
|
|
- name
|
|
- publicKey
|
|
example:
|
|
userId: 1
|
|
name: Key 1
|
|
publicKey: >-
|
|
ssh-rsa
|
|
AAAAB3NzaC1yc2EAAAADAQABAAABAQDF6O4Evybdywpi6PImTE5aJ75+5OpJKyd2QR2LSl0bVxhZjQOqN/4msCp/UjUpFDSeC1SQXeKQb4o7OZ7bUC8k2JbNxnArsYSGi/XhqczKOX/uYOMA/V8gb1e+uishQSzjYrneC0PufFYwNGStjYf0QXCsgQcYLsHbjV2g9j0FhVYxj5endy7Z1K1RMP7IzF5lh3KgtbqKhdJ8XK1fqXCcPHxEuAzjq7G2W+I9xOs8GqftxYGS4XAiOe7YLKfWM00dUdYMJ81R8lZFj5UzP0MOT9qxPNBNiB0MEQX8hc0+2nQdaQYkg8mbCJQxhT9Cr0rXyYdbaNnYWIJql3SVgigJ
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 2
|
|
name: Key 1
|
|
type: OpenSSH
|
|
createdAt: '2025-01-20T12:16:23.000000Z'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/ssh_keys/{keyId}:
|
|
delete:
|
|
summary: Delete an SSH key from a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- SSH Keys
|
|
parameters:
|
|
- name: keyId
|
|
in: path
|
|
description: A valid SSH key ID as shown in VirtFusion.
|
|
required: true
|
|
example: 2
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
get:
|
|
summary: Retrieve an SSH key
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- SSH Keys
|
|
parameters:
|
|
- name: keyId
|
|
in: path
|
|
description: A valid SSH key ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 1
|
|
name: MY SSH Key
|
|
publicKey: >-
|
|
ssh-rsa
|
|
AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs4Ujb2aA61A0x5J0xcZQpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiAQZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
|
|
type: OpenSSH
|
|
enabled: true
|
|
created: '2024-03-13T20:28:32+00:00'
|
|
updated: '2024-03-13T20:28:32+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/ssh_keys/user/{userId}:
|
|
get:
|
|
summary: Retrieve a users SSH keys
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- SSH Keys
|
|
parameters:
|
|
- name: userId
|
|
in: path
|
|
description: A valid user ID as shown in VirtFusion.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- id: 1
|
|
name: My SSH Key
|
|
publicKey: >-
|
|
ssh-rsa
|
|
AAAAB3NzaC1yc2EAAAADAQABAAACAQC+JdL4fWELBWGAknSu0PwVpDDOlORxy9z7eVnZphZXBzYLMnux+ZogVLns6+O6NDE8JmWvP9RIg3SIga7RDOkW9UCdLzRu0jF2ALL7CK1huo1Ih0PDM9ZbFDy2Fd7a4DTvUX6923fQyW0PWRtyL11R4c9NUqzejKp5kW8vHfPQjzwb1hGIKvkSYkI0Auq4JJhlvjjnoK7Z8t5mpDrVfNTrVqevPgsW5Xwnq8R+02XywrY+Q/wnpxDs4Ujb2aA61A0x5J0xcRTpTQHoJNj77J3VmPI7Ry7Q8hPbTSLGZbN+gODr0lOaL5TdbvM3bnus5JvoqgRoszzPcTiNMZAe3v9UM8hiXise54b8rsc2M9MQ4olPu7TrROZbcw+9q4m6cV+dfVU/NRFkf27YRa4oZNKehHsMiupDyoISgSl4qSB8YXAWsX03oC/gzpB2YJIqEL1Y/SmKYEhgr0cplkvGZy6C/Q9cJHyHlMPtEBPexgcjXC9QrVK4n2cmde3TuSRMctawcat7Nuq08C8fGHaGHr8iAeage3o/ODVOt0rhBu69PknzQeVBdlwK3+p1dH6PnMzNNBhWyNZT/NqB2eS6K8lYpOQ47byXPwYsRLvStUjpZRdikOT7D31T5g8FwOThQ+6WX+xfMD7CSLsSKCn/FhlinbVbG2IhCLH3B30Akw5bUw==
|
|
type: OpenSSH
|
|
enabled: true
|
|
created: '2024-03-13T20:28:32+00:00'
|
|
updated: '2024-03-13T20:28:32+00:00'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/users/{extRelationId}/byExtRelation:
|
|
delete:
|
|
summary: Delete a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users/External Rel ID & Rel Str
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
put:
|
|
summary: Modify a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users/External Rel ID & Rel Str
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Full name of the user.
|
|
email:
|
|
type: string
|
|
description: Email address of the user.
|
|
selfService:
|
|
type: integer
|
|
description: >-
|
|
default disabled) 0 = disabled, 1 = hourly, 2 = resource
|
|
packs, 3 = hourly & resource packs.
|
|
selfServiceHourlyCredit:
|
|
type: boolean
|
|
description: >-
|
|
Enable/disable credit balance billing for hourly self
|
|
service. (true|false).
|
|
selfServiceHourlyGroupProfiles:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: >-
|
|
(default none) array of self service hourly group profile
|
|
ids.
|
|
selfServiceResourceGroupProfiles:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: >-
|
|
(default none) array of self service resource group profile
|
|
ids.
|
|
selfServiceHourlyResourcePack:
|
|
type: integer
|
|
description: (default none) ID of an hourly self service resource pack.
|
|
enabled:
|
|
type: boolean
|
|
description: >-
|
|
(default false) Email the access credentials to the user.
|
|
(true|false).
|
|
example:
|
|
name: jon Doe
|
|
email: jon@doe.com
|
|
selfService: 3
|
|
selfServiceHourlyCredit: true
|
|
selfServiceHourlyGroupProfiles:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
selfServiceResourceGroupProfiles:
|
|
- 4
|
|
- 5
|
|
- 6
|
|
selfServiceHourlyResourcePack: 1
|
|
enabled: true
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
name: jon Doe
|
|
email: jon@doe.com
|
|
selfService: 3
|
|
enabled: true
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
get:
|
|
summary: Retrieve a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users/External Rel ID & Rel Str
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 3
|
|
admin: false
|
|
extRelationId: 1
|
|
selfService: 3
|
|
selfServiceHourlyGroupProfiles: []
|
|
selfServiceResourceGroupProfiles: []
|
|
selfServiceHourlyResourcePack: null
|
|
name: jon Doe
|
|
email: jon@doe.com
|
|
timezone: Europe/London
|
|
suspended: false
|
|
twoFactorAuth: false
|
|
created: '2025-01-20T12:48:20.000000Z'
|
|
updated: '2025-01-20T13:00:38.000000Z'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/users/{extRelationId}/authenticationTokens:
|
|
post:
|
|
summary: Generate a set of login tokens
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users/External Rel ID & Rel Str
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
authentication:
|
|
tokens:
|
|
'1': >-
|
|
zYpEXpWEeXR4LfogW3xIomIJS5YW8woOjo18h9st6Sh23ReeTEeQNI1RSQWXYv1AImtQzFm0CLrn6Ve8VtIP3MfDnoRWHxQ334UU
|
|
'2': >-
|
|
RGzuQDFt0KsWgPozaTZDpuXy3aSsbj6VHWbz4JrhGoj0ZOvaGHUcXM6WGeGuNgfTUPLcy0SYMNJWmI1idC8uR88ZSs00XRnEtbG9
|
|
endpoint: /token_authenticate
|
|
endpoint_complete: >-
|
|
/token_authenticate/?1=zYpEXpWEeXR4LfogW3xIomIJS5YW8woOjo18h9st6Sh23ReeTEeQNI1RSQWXYv1AImtQzFm0CLrn6Ve8VtIP3MfDnoRWHxQ334UU&2=RGzuQDFt0KsWgPozaTZDpuXy3aSsbj6VHWbz4JrhGoj0ZOvaGHUcXM6WGeGuNgfTUPLcy0SYMNJWmI1idC8uR88ZSs00XRnEtbG9
|
|
expiry:
|
|
ttl: 60
|
|
expires: '2025-01-20T12:49:52.170943Z'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/users/{extRelationId}/serverAuthenticationTokens/{serverId}:
|
|
post:
|
|
summary: Generate a set of loging tokens using a server ID
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users/External Rel ID & Rel Str
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: serverId
|
|
in: path
|
|
description: A valid server ID as shown in VirtFusion.
|
|
required: true
|
|
example: 9
|
|
schema:
|
|
type: integer
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
authentication:
|
|
tokens:
|
|
'1': >-
|
|
oIGBk2qEYTXKMGbaDVbpRFqwQC57Rzl5zWKhwQkgDbRBeXSTH865Bvv0Fm8oY6b0xYpH22xbLAKarOAy28PnToxRu5InfmkIHmo0
|
|
'2': >-
|
|
WwiZ9XwqKM5jNGgCsCsUD4B6DDxAKeolJu3dBN7lsK1uGDVvElvfH77sDyukRIzTbbEI6fggKBXuSYRaYc5FqMab4L6PB0QcOxr9
|
|
endpoint: /token_authenticate
|
|
endpoint_complete: >-
|
|
/token_authenticate/?1=oIGBk2qEYTXKMGbaDVbpRFqwQC57Rzl5zWKhwQkgDbRBeXSTH865Bvv0Fm8oY6b0xYpH22xbLAKarOAy28PnToxRu5InfmkIHmo0&2=WwiZ9XwqKM5jNGgCsCsUD4B6DDxAKeolJu3dBN7lsK1uGDVvElvfH77sDyukRIzTbbEI6fggKBXuSYRaYc5FqMab4L6PB0QcOxr9
|
|
expiry:
|
|
ttl: 60
|
|
expires: '2025-01-20T12:52:59.761522Z'
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/users/{extRelationId}/byExtRelation/resetPassword:
|
|
post:
|
|
summary: Change a user passowrd
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users/External Rel ID & Rel Str
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
email: jon@doe.com
|
|
password: zD2VqFKO554tdfWKOmGhw
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/users:
|
|
post:
|
|
summary: Create a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Users
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: Full name of the user.
|
|
email:
|
|
type: string
|
|
description: Email address of the user.
|
|
extRelationId:
|
|
type: integer
|
|
description: Relation ID.
|
|
relStr:
|
|
type: string
|
|
description: Relational string.
|
|
selfService:
|
|
type: integer
|
|
description: >-
|
|
(default disabled) 0 = disabled, 1 = hourly, 2 = resource
|
|
packs, 3 = hourly & resource packs.
|
|
selfServiceHourlyCredit:
|
|
type: boolean
|
|
description: ' Enable/disable credit balance billing for hourly self service. (true|false).'
|
|
selfServiceHourlyGroupProfiles:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: >-
|
|
(default none) array of self service hourly group profile
|
|
ids.
|
|
selfServiceResourceGroupProfiles:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: ' (default none) array of self service resource group profile ids.'
|
|
selfServiceHourlyResourcePack:
|
|
type: integer
|
|
description: ' (default none) ID of an hourly self service resource pack.'
|
|
sendMail:
|
|
type: boolean
|
|
description: >-
|
|
(default false) Email the access credentials to the user.
|
|
(true|false).
|
|
required:
|
|
- name
|
|
- email
|
|
example:
|
|
name: Jon Doe
|
|
email: jon@doe.com
|
|
extRelationId: 1
|
|
selfService: 3
|
|
selfServiceHourlyCredit: true
|
|
selfServiceHourlyGroupProfiles:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
selfServiceResourceGroupProfiles:
|
|
- 4
|
|
- 5
|
|
- 6
|
|
selfServiceHourlyResourcePack: 1
|
|
sendMail: false
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 2
|
|
admin: false
|
|
extRelationId: 1
|
|
selfService: 3
|
|
selfServiceHourlyGroupProfiles: []
|
|
selfServiceResourceGroupProfiles: []
|
|
selfServiceHourlyResourcePack: null
|
|
name: Jon Doe
|
|
email: jon@doe.com
|
|
timezone: Europe/London
|
|
suspended: false
|
|
twoFactorAuth: false
|
|
created: '2025-01-20T12:41:28.000000Z'
|
|
updated: '2025-01-20T12:41:28.000000Z'
|
|
password: 0hPZSAmj8Tgq1noGoenxpxlC9xf1tc
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/credit/byUserExtRelationId/{extRelationId}:
|
|
post:
|
|
summary: Add credit to user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tokens:
|
|
type: number
|
|
description: A numeric token value.
|
|
reference_1:
|
|
type: integer
|
|
description: ' An optional reference number. Max 64-bit integer.'
|
|
reference_2:
|
|
type: string
|
|
description: An optional reference in string format. Max 1000 character.
|
|
required:
|
|
- tokens
|
|
example:
|
|
tokens: 100
|
|
reference_1: 400
|
|
reference_2: This is a string reference with a 1000 character limit.
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 2
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/hourlyGroupProfile/byUserExtRelationId/{extRelationId}:
|
|
post:
|
|
summary: Add an hourly group profile to a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
profileId:
|
|
type: integer
|
|
description: ID of an hourly group profile.
|
|
required:
|
|
- profileId
|
|
example:
|
|
profileId: 1
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourceGroupProfile/byUserExtRelationId/{extRelationId}:
|
|
post:
|
|
summary: Add a resource group profile to a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
profileId:
|
|
type: integer
|
|
description: ID a resource group profile.
|
|
required:
|
|
- profileId
|
|
example:
|
|
profileId: 1
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourcePack/byUserExtRelationId/{extRelationId}:
|
|
post:
|
|
summary: Add a resource pack to a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
packId:
|
|
type: integer
|
|
description: ID of a resource pack.
|
|
enabled:
|
|
type: boolean
|
|
description: Enable the pack. true|false defaults too true.
|
|
required:
|
|
- packId
|
|
- enabled
|
|
example:
|
|
packId: 1
|
|
enabled: true
|
|
responses:
|
|
'201':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
id: 17
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/hourlyStats/byUserExtRelationId/{extRelationId}:
|
|
get:
|
|
summary: Retrieve hourly statistics
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: period[]
|
|
in: query
|
|
description: 'Example: period[]=YYYY-MM-DD&period[]=YYYY-MM-D'
|
|
required: false
|
|
example: YYYY-MM-DD
|
|
schema:
|
|
type: string
|
|
- name: range
|
|
in: query
|
|
description: range=m
|
|
required: false
|
|
example: m
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
periodId: 0
|
|
period: January 2025
|
|
previousPeriod: December 2024
|
|
nextPeriod: February 2025
|
|
monthlyTotal:
|
|
hours: 0
|
|
value: '0.00'
|
|
tokens: false
|
|
servers: 0
|
|
credit:
|
|
value: 0
|
|
currency:
|
|
code: ''
|
|
prefix: ''
|
|
suffix: ''
|
|
value: 0
|
|
currentValue: 0
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/access/byUserExtRelationId/{extRelationId}:
|
|
put:
|
|
summary: Modify user access
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
syncToProfiles:
|
|
type: boolean
|
|
description: >-
|
|
true|false Default false. If true, the self service access
|
|
level will be set based on profiles.
|
|
required:
|
|
- syncToProfiles
|
|
example:
|
|
syncToProfiles: true
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/hourlyGroupProfile/{profileId}/byUserExtRelationId/{extRelationId}:
|
|
delete:
|
|
summary: Remove hourly group profile from a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: profileId
|
|
in: path
|
|
description: ID of a hourly group profile.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourceGroupProfile/{profileId}/byUserExtRelationId/{extRelationId}:
|
|
delete:
|
|
summary: Remove resource group from a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: profileId
|
|
in: path
|
|
description: ID of a hourly group profile.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/report/byUserExtRelationId/{extRelationId}:
|
|
get:
|
|
summary: Generate a report
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: period
|
|
in: query
|
|
description: >-
|
|
A single period in the range of 0-24 (0 being the currently defined
|
|
month in the self service settings | optional and will default to
|
|
the current month if not defined).
|
|
required: false
|
|
example: '0'
|
|
schema:
|
|
type: string
|
|
- name: currency
|
|
in: query
|
|
description: >-
|
|
A three letter currency code that is defined in the self service
|
|
settings. (optional and will default to the user defined currency if
|
|
not defined).
|
|
required: false
|
|
example: USD
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
usage:
|
|
servers: []
|
|
serversTotal:
|
|
hours: false
|
|
value: false
|
|
tokens: false
|
|
hourConversionRate: false
|
|
monthlyTotal:
|
|
hours: false
|
|
value: false
|
|
tokens: false
|
|
addonsTotal:
|
|
hours: 0
|
|
value: 0
|
|
tokens: false
|
|
taxStatus: 3
|
|
success: false
|
|
history: '0'
|
|
breakdown: true
|
|
term: January 2025
|
|
previousTerm: December 2024
|
|
nextTerm: February 2025
|
|
period:
|
|
ymd: '2025-01-01'
|
|
start: '2025-01-01T00:00:00+00:00'
|
|
end: '2025-01-31T00:00:00+00:00'
|
|
showHourlyRate: false
|
|
showMonthlyRate: false
|
|
currency:
|
|
prefix: ''
|
|
suffix: ''
|
|
code: ''
|
|
currentValue: 0
|
|
value: 0
|
|
default:
|
|
prefix: ''
|
|
suffix: ''
|
|
code: ''
|
|
limits:
|
|
success: true
|
|
packs: []
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/hourlyResourcePack/byUserExtRelationId/{extRelationId}:
|
|
put:
|
|
summary: Set an hourly resource pack
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
packId:
|
|
type: integer
|
|
description: ID of an hourly resource pack.
|
|
required:
|
|
- packId
|
|
example:
|
|
packId: 1
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/usage/byUserExtRelationId/{extRelationId}:
|
|
get:
|
|
summary: Retrieve a users usage
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service/External Relational ID
|
|
parameters:
|
|
- name: extRelationId
|
|
in: path
|
|
description: A valid external relational ID as shown in VirtFusion.
|
|
required: true
|
|
example: '1'
|
|
schema:
|
|
type: string
|
|
- name: period[]
|
|
in: query
|
|
description: Array of periods or a single period. (YYYY-MM-DD).
|
|
required: false
|
|
example: '2025-01-01'
|
|
schema:
|
|
type: string
|
|
- name: range
|
|
in: query
|
|
description: >-
|
|
Length of period. Defaults to 1 month. Possible values d = day, w =
|
|
week, 2w = 2 weeks, 3w = 3 weeks, m = month.
|
|
required: false
|
|
example: m
|
|
schema:
|
|
type: string
|
|
- name: relStr
|
|
in: query
|
|
description: ''
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
user:
|
|
id: 3
|
|
relationalId: 1
|
|
currency: null
|
|
timezone: Europe/London
|
|
name: jon Doe
|
|
email: jon@doe.com
|
|
usageServers:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
usageServersBillable:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
usageAddons:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
usageAddonsBillable:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
periods:
|
|
- period: '2025-01-01'
|
|
range: month
|
|
start: '2025-01-01T00:00:00+00:00'
|
|
end: '2025-01-31T23:59:59+00:00'
|
|
timezone: UTC
|
|
currentPeriod: true
|
|
hoursInMonthPeriod: 744
|
|
monthToHourRate: 730
|
|
monthToHourRateType: 1
|
|
days: 31
|
|
hours: 744
|
|
minutes: 44640
|
|
seconds: 2678400
|
|
usageServers:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
usageServersBillable:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
usageAddons:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
usageAddonsBillable:
|
|
hours: 0
|
|
token: 0
|
|
tokenReal: 0
|
|
servers: []
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/credit/{creditId}:
|
|
delete:
|
|
summary: Cancel credit that was applied to a user
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: creditId
|
|
in: path
|
|
description: A valid credit ID.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourcePackServers/{packId}:
|
|
delete:
|
|
summary: Delete all servers attached to a pack ID
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: packId
|
|
in: path
|
|
description: ID of a resource pack.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: delay
|
|
in: query
|
|
description: The delay in minutes. Defaults to 30 (0 - 43800).
|
|
required: false
|
|
example: 30
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourcePack/{packId}:
|
|
delete:
|
|
summary: Delete a user resource pack
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: packId
|
|
in: path
|
|
description: ID of a resource pack.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: disable
|
|
in: query
|
|
description: >-
|
|
Disable the pack if it can't be deleted. true|false Defaults to
|
|
false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
get:
|
|
summary: Retrieve a user resource pack
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: packId
|
|
in: path
|
|
description: ID of a resource pack.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
- name: withServers
|
|
in: query
|
|
description: include a list of assigned servers. true|false Defaults to false.
|
|
required: false
|
|
example: 'true'
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
type: pack
|
|
id: 18
|
|
pid: 9
|
|
label: null
|
|
name: Pack 2 · 2 / 4096 / 250
|
|
limits:
|
|
total_servers: 2
|
|
total_memory: 4096
|
|
total_storage: 200
|
|
total_cpu: 24
|
|
total_traffic: 1000000
|
|
max_memory: 4096
|
|
max_storage: 10
|
|
max_cpu: 8
|
|
max_traffic: 500000
|
|
used:
|
|
servers: 0
|
|
memory: 0
|
|
storage: 0
|
|
cpu: 0
|
|
traffic: 0
|
|
usage:
|
|
servers:
|
|
t: 2
|
|
u: 0
|
|
f: 2
|
|
p: 0
|
|
l: true
|
|
memory:
|
|
t: 4096
|
|
u: 0
|
|
f: 4096
|
|
p: 0
|
|
l: true
|
|
storage:
|
|
t: 200
|
|
u: 0
|
|
f: 200
|
|
p: 0
|
|
l: true
|
|
cpu:
|
|
t: 24
|
|
u: 0
|
|
p: 0
|
|
f: 24
|
|
l: true
|
|
traffic:
|
|
t: 1000000
|
|
u: 0
|
|
f: 1000000
|
|
p: 0
|
|
l: true
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
put:
|
|
summary: Modify user resource pack
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: packId
|
|
in: path
|
|
description: ID of a resource pack.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
enabled:
|
|
type: boolean
|
|
required:
|
|
- enabled
|
|
example:
|
|
enabled: true
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/currencies:
|
|
get:
|
|
summary: Retrieve currencies
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters: []
|
|
responses:
|
|
'200':
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
example:
|
|
data:
|
|
- id: 11
|
|
code: USD
|
|
value: '0.0100000000'
|
|
prefix: $
|
|
suffix: null
|
|
default: true
|
|
enabled: true
|
|
- id: 12
|
|
code: GBP
|
|
value: '0.0200000000'
|
|
prefix: £
|
|
suffix: null
|
|
default: false
|
|
enabled: true
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourcePackServers/{packId}/suspend:
|
|
post:
|
|
summary: Suspend all servers assigned to a reosurce pack
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: packId
|
|
in: path
|
|
description: ID of a resource pack.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
/selfService/resourcePackServers/{packId}/unsuspend:
|
|
post:
|
|
summary: Unsuspend all servers assigned to a reosurce pack
|
|
deprecated: false
|
|
description: ''
|
|
tags:
|
|
- Self Service
|
|
parameters:
|
|
- name: packId
|
|
in: path
|
|
description: ID of a resource pack.
|
|
required: true
|
|
example: 1
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'204':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
headers: {}
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
description: ''
|
|
security:
|
|
- bearer: []
|
|
components:
|
|
schemas: {}
|
|
responses:
|
|
'401':
|
|
description: ''
|
|
content:
|
|
application/octet-stream:
|
|
schema:
|
|
type: object
|
|
properties: {}
|
|
examples:
|
|
'401':
|
|
summary: '401'
|
|
value: 401 Unauthorized
|
|
securitySchemes:
|
|
bearer:
|
|
type: http
|
|
scheme: bearer
|
|
servers:
|
|
- url: https://cp.domain.com/api/v1
|
|
description: Example URL
|
|
security:
|
|
- bearer: []
|