Complete rewrite of the VirtFusion Terraform provider with full API coverage: - 20 managed resources (server, build, SSH key, user, firewall, IP blocks, etc.) - 30 data sources (hypervisors, packages, servers, IP blocks, self-service, etc.) - New HTTP client with proper error handling, query parameter support, and automatic multipage pagination via GetAllPages (fetches all pages from Laravel-style paginated endpoints and merges into a single response) - Fixed type mismatches against live API: ServerData.Suspended (int→bool), IPBlockData.Type (string→int), PackageData json tags (primaryStorage, etc.), ServerData nested CPU/Settings/Resources structure, HypervisorGroupResources array response - Configurable results-per-page (default 300) on all list data sources - Migrated CI from GitHub Actions to Gitea Actions - Updated goreleaser config, go.mod dependencies, and examples Verified against live VirtFusion instance at cp.vps.ezscale.tech: all data sources return correct data with full pagination support. 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: >-
|
|
iVBORw0KGgoAAAANSUhEUgAAAJYAAABTCAAAAABYT6E5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfpARESACeS8jvVAAAI2klEQVRo3u2W+XMjxRXHX3fPfWhG1+i0ZMmXbK3t9dq7bFg2ARKgSFWSn5If8+/lx1xFhSpCQSWppVhYWKB2F+y1JV+yLI1kndbcnR98LBACJGxCUjWfH3r6eN39puf1dx7A/yboiy2EvsHiv+wY+vL2CP2jQ+irjP8TbpP5fiCJtm4BAEBclUURuzFxotnnBqkgZ3uQcCXncs75WAy5oHiKA1x8/NTd+mW8LN0+WIJl+UpdfJH91XSEZZfw8Kq4kpEzKRNeOq50JzMvNEupVCET1QXlWr8qzsbL6Yimt4Wft18YFyPVLUyfrlu43YOupbpGjFOxY6p/enjK+1uFiEvkhK4olLZygQ3RFiCRU9GV6bEfYYPMItUzquWC1QgOE+t4jIKnfVzoc+VllXnSJojBZ/0EkzkdAADiC5dzEKgVljxtp+B7u2j/jldf0YkQAMIIEAA6a6CzKuAvzkJftdjnrjWCy4P+v4PMiWogYJEiCiJKcpRhPRYvH0M8PyKEpAF7qgvxEqpET0uZdDw1kxitNmDej8/qs8XJdXupX+36PEuxgOcHPGb8dTNAJQcBEhnis/jK8SqT4qvl0TzKEOzT8myQcCp9lsELHYoUwOmILfqYQtFhPACJeFwgsMwvXkt0K9ulZqR+utB1pMLuTGv6D4WPQJzOR+SP5eHGvZHjxCIuX0nWb7mDZnKYzX/Argz6aE7e28jCas2ouavxMY7UZqXF41t75JjfnrlmR3aym1cb0380nln4iIoeqVTu+2TkBFOJibaoLh3EttYOBten94rd0SIF+28wx/3ojd1MjuWn6+oeuv5YxPqpiFZ+d1oKHP7Zjy0ibcfrVEhhuP5ZA0XNoQNCGmEX+R4JxH6kn6qxmk5NjAOB7BtDbT/IqZpeGzpKYGdc9zHNrW/bvE13ZpBSSzhil9PGNBiJXD8YBRm9obEI92MtzjoxtF7iOELqt5k3YbabOuwn27pBEWwCQBIAgOGRDgAgAgBAAqCogs6KZQbIVKpgQASMtB6bikhiVMMkDyAZBT4mFjQgaSEDEMsCaLiQTRvGVIZTzyJEOo8U+Un4ZwDw2R6QhMRZhRVnzkdljTurMQvjsmGMpffLD5eJyzXSZq6Rv3PjzUrWVKIdV+Pyo6XtOGcS+niZC47y629n2zOmJWfFzOl7cw9yGXmi3FvT4ny2EWTvFE90nLEblqEi20/sbXyw0L3y+gGsY5dr5FrZw/w7a03IZG38kfTcVqF+e0dqGW97r2xXYmKz/OlueeGw0oS/stfrpLiV9GVpemTiKvVVijYLrHrEcO12lulIzYEhD9yHk07U5IaPcde+54+YftTeNNSj/gFnW3Z7pr/XT7HKfcVvY3u4qb3Lb8aVelRMJd3+qUSd/BHLLgW+SmFzio02pAMqq76yz890XQFPbNJq00BwJG2ojExHGwnkpImnTwAAgJeqAHr5QlYIYITh24LZiw+EgMCliqW1Swu99Hl75tusSSpsOnZzKxZkYZBOpNg17Tj949rK6Lqf68C8khZvdmZJKlcYzbHRuDAmr4g8X4JYOYpzsmqgCf9M74dWWVZjyrr7/PECGlFIGLKsawiKXFJ4dnfNzfr+CBbUqHSrUZDXmlWa1LT+17tFmR/UjODALaamu9Tfv7IzdxeUnp3d5lb9rWDl0407tJrbXH0kiaksy9uvJfLuSoNGZu7rp1nZjR/+BfEeXH3u8YHgjTVlzmbm644xFxDekUfiZum+IEeda17wG7T8aKXuz916Q5aTuhawPTqiiAKiAAgoAKDz4vyJFAcoscVo8S4b2AwIjsNhSx2KE3kM8lgdE4It1uYDDMhFHpJtBp8ifiJ5GAU+9YHxo2NPcnxEJc/iLKMFPOvgpYnUO3KkgeBzNsypd0E61Xss79qCLXt4ggD5X6/y1WE5zgdLFIu5GTtHutySuSznkonsSTXpFA6Bd1wO4rE+F7ipTAdEfWITzBA78PJuQivac2U0vnZQMRnHdvURO8b6CKKJrU6r64goOfFdLJj7DMqK5uziTtUJlrkWXc1OJ4xxtf9MoqDNCgUxUTCfHVJ1dUEMKuxaC9YJUzrSyY031Qr6ZKpfYoXu1IYo1o14JhlP9gbpR+pLbcFn28lFNKX3Np0T5sUh7/SJnfXb7YXl+1or2S7G1j/J1yWLWeJUOf5Z6v1kqzwdkbaslvvCgHcHxMp57U5Ex+QnU3l1K78guGytqGtV245PbY+NuffVqSKmv66n7ICmGvaLlH+EskHSFCdyN3JKbBb8oZAKuBaM82MBbIc/YMvWjQf+gRH4kjQ5aeHbbsOX/CabICOX4U8UT28ntrM9xWTGgtouOorfD07EBCYr7Ye95+2OzVltMY57VBj0Zn1mxIwTAXInLkqM1ZOgVzLdQcniXS44LjdjJ5GRfmLHMd2DDAFIAoh8tJwvFNKz5zIL7IXeKsLFB4+IDNEh+STpi3MgKQAAYFwItwwAGs8DiOhc3aPcxZ8EACJnCh9/EkQKAIAhAyg8gHKpIjc/nt9+9RNWHOzM7pTt6WNEpWgPRE/yWS8/+T0kNrq8M44OVW8Ajmn3+GsTgkbABUjYTTbr0Z9+Jh0YvcXGWD1+QDfeXZzceIdwZIw/YF5uprenTVfNdyZC5LfqzU72w0b+Rh33JJQatDOb27klK7ASd9WpoPTnuPvqh6mD0m7hdRrAy0f4SOIGbwXdmsvdc997cHfHsGosexXYLcvtOX5KTrGMxwvbPSzh0cTxIeaZ4AvM5ogVSN+hVo2YAiPUvKG7Q+HEmwQO9bdPfQLM8MDBDBOYJu37+0ApZzZp/xB3BQ72rclol1Lqyfsnkw5Azez4Rx5nHvLHsXkK9uMnwgoAQM5SRrF0mUriRQm+E/9qDooxAACq9q6+NWXN3FlqKm6w++UlKVxI3Rf66T9rfKP1txwiP5sQ8bl6sl1gV8vikWh/+RW/n4wbqWOGgCW6rIOWrS1sf/clQ0JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQp4afwdRMMFLNhfN2wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNS0wMS0xN1QxODowMDozOSswMDowMDazUncAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjUtMDEtMTdUMTg6MDA6MzkrMDA6MDBH7urLAAAAAElFTkSuQmCC
|
|
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: >-
|
|
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UPvQ+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: []
|