Files
binarylane-dotnet/eng/openapi/binarylane-v2.openapi.yaml
T
2026-08-16 21:52:42 +10:00

9470 lines
354 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
openapi: 3.0.4
info:
title: BinaryLane API
description: "# Introduction\n\nThis API is used by BinaryLane's 'mPanel' website, so you'll find everything you need here to automate your use of BinaryLane or develop tools for others. You could even build your own version of 'mPanel' if you wanted!\n\n\n## Getting Started Guide\n\nYou can find a detailed guide to using the API to manage your servers <a href='https://support.binarylane.com.au/support/solutions/articles/11000125203-getting-started-with-binarylane-api' target='_blank' rel='noopener noreferrer'>here</a>.\n\n\n# API Tools\n\nWe have created a CLI tool to interact with the API. You can find the repository <a href='https://github.com/binarylane/binarylane-cli' target='_blank' rel='noopener noreferrer'>here</a>.\n\n\n# Units\n\nStorage, memory and data-transfer values use the familiar `GB`, `MB` and `TB` labels (matching our control panel and website) rather than the IEC `GiB`/`MiB` forms. The exact byte conventions are:\n\n| Label | Used for | Definition |\n| --- | --- | --- |\n| `MB` | Memory, storage | Binary megabyte: 1 MB = 1024² bytes |\n| `GB` | Disk, storage, data transfer | Binary gigabyte: 1 GB = 1024³ bytes |\n| `TB` | Data transfer | 1 TB = 1000 GB, where each GB = 1024³ bytes (so 1 TB = 1000 × 1024³ bytes) |\n\n\n# Developer Preview Notes\n\n**Warning: this specification is currently in active development.** Until this warning is removed breaking changes are possible without the version changing.\nHowever, this API is mature and we have a fully functioning new version of mPanel that uses it, so breaking changes will be very limited.\n\nWe welcome all feedback from API users at the support email address above.\n\n\n# Version Information\n\nThis section will contain a link to our changelog once the developer preview period is complete."
contact:
name: BinaryLane Support
url: https://support.binarylane.com.au/support/home
email: support@binarylane.com.au
version: 0.39.1
x-logo:
url: https://www.binarylane.com.au/res/images/binarylane/logo.png
backgroundColor: '#000000'
altText: BinaryLane Logo
href: https://www.binarylane.com.au
servers:
- url: https://api.binarylane.com.au
paths:
/v2/account:
get:
tags:
- Accounts
summary: Fetch Information About the Current Account
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AccountResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/account\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: account get
'/v2/actions/{action_id}':
get:
tags:
- Actions
summary: Fetch an Existing Action
parameters:
- name: action_id
in: path
description: The ID of the action to fetch.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/actions/${action_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: action get
/v2/actions:
get:
tags:
- Actions
summary: List All Actions
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionsResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/actions?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: action list
'/v2/actions/{action_id}/proceed':
post:
tags:
- Actions
summary: Respond to a UserInteractionRequired Action
parameters:
- name: action_id
in: path
description: The ID of the action for which this is a response.
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ProceedRequest'
responses:
'204':
description: No Content
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/actions/${action_id}/proceed\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: action proceed
/v2/customers/my/balance:
get:
tags:
- Customers
summary: Fetch Current Balance Information
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/customers/my/balance\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: account balance
'/v2/customers/my/invoices/{invoice_id}':
get:
tags:
- Customers
summary: Fetch an Invoice
parameters:
- name: invoice_id
in: path
description: The ID of the invoice to fetch.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/customers/my/invoices/${invoice_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: account invoice get
/v2/customers/my/invoices:
get:
tags:
- Customers
summary: Fetch Invoices
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/InvoicesResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/customers/my/invoices?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: account invoice list
/v2/customers/my/unpaid-payment-failed-invoices:
get:
tags:
- Customers
summary: Fetch Unpaid Failed Invoices
description: Any invoices that are unpaid and have a failed payment attempt may block the ability to renew existing services or add new services.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UnpaidFailedInvoicesResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/customers/my/unpaid-payment-failed-invoices\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: account invoice overdue
'/v2/data_usages/{server_id}/current':
get:
tags:
- DataUsages
summary: Fetch the Current Data Usage (Transfer) for a Server
parameters:
- name: server_id
in: path
description: The target server id.
required: true
schema:
type: integer
description: The target server id.
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DataUsageResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/data_usages/${server_id}/current\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server data-usage get
/v2/data_usages/current:
get:
tags:
- DataUsages
summary: Fetch all Current Data Usage (Transfer) for All Servers
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DataUsagesResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/data_usages/current?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server data-usage list
/v2/domains/nameservers:
get:
tags:
- Domains
summary: List All Public Nameservers
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LocalNameserversResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/domains/nameservers\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain nameservers list
/v2/domains/refresh_nameserver_cache:
post:
tags:
- Domains
summary: Refresh Cached Nameserver Domain Records
description: The nameservers for domains are cached. If you have recently altered the nameservers for a managed domain you may need to refresh the cached domain records.
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DomainRefreshRequest'
responses:
'204':
description: No Content
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/domains/refresh_nameserver_cache\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: domain refresh-nameserver-cache
/v2/domains:
get:
tags:
- Domains
summary: List All Domains
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/domains?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain list
post:
tags:
- Domains
summary: Create a New Domain
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DomainRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/domains\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: domain create
'/v2/domains/{domain_name}':
get:
tags:
- Domains
summary: Fetch an Existing Domain
parameters:
- name: domain_name
in: path
description: The name or domain ID of the domain to fetch.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/domains/${domain_name}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain get
delete:
tags:
- Domains
summary: Delete an Existing Domain
parameters:
- name: domain_name
in: path
description: The name or domain ID of the domain to delete.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
responses:
'204':
description: No Content
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/domains/${domain_name}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain delete
'/v2/domains/{domain_name}/records':
get:
tags:
- Domains
summary: List All Domain Records for a Domain
parameters:
- name: domain_name
in: path
description: The domain name or domain ID for for which records should be listed.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
- name: type
in: query
description: "\n| Value | Description |\n| ----- | ----------- |\n| A | Map an IPv4 address to a hostname. |\n| AAAA | Map an IPv6 address to a hostname. |\n| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. |\n| CNAME | Define an alias for your canonical hostname. |\n| MX | Define the mail exchanges that handle mail for the domain. |\n| NS | Define the nameservers that manage the domain. |\n| SOA | The Start of Authority record for the zone. |\n| SRV | Specify a server by hostname and port to handle a service or services. |\n| TXT | Define a string of text that is associated with a hostname. |\n\n"
schema:
allOf:
- $ref: '#/components/schemas/DomainRecordType'
- name: name
in: query
description: Only return records for this subdomain name.
schema:
type: string
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainRecordsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/domains/${domain_name}/records?type=${type}&name=${name}&page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain record list
post:
tags:
- Domains
summary: Create a New Domain Record
parameters:
- name: domain_name
in: path
description: The domain name or domain ID for for which the record should be created.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/DomainRecordRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainRecordResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/domains/${domain_name}/records\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: domain record create
'/v2/domains/{domain_name}/records/{record_id}':
get:
tags:
- Domains
summary: Fetch an Existing Domain Record
parameters:
- name: domain_name
in: path
description: The domain name or domain ID for for which the record should be fetched.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
- name: record_id
in: path
description: The ID of the record to fetch.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainRecordResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/domains/${domain_name}/records/${record_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain record get
put:
tags:
- Domains
summary: Update an Existing Domain Record
parameters:
- name: domain_name
in: path
description: The domain name or domain ID for for which the record should be updated.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
- name: record_id
in: path
description: The ID of the record to update.
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateDomainRecordRequest'
description: 'Any values not provided will be retained. Provide empty strings to clear existing string values, nulls to retain the existing values.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DomainRecordResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X PUT \"https://api.binarylane.com.au/v2/domains/${domain_name}/records/${record_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: domain record update
delete:
tags:
- Domains
summary: Delete an Existing Domain Record
parameters:
- name: domain_name
in: path
description: The domain name or domain ID for which the record should be deleted.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
- name: record_id
in: path
description: The ID of the record to delete.
required: true
schema:
type: integer
format: int64
responses:
'204':
description: No Content
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/domains/${domain_name}/records/${record_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: domain record delete
/v2/images:
get:
tags:
- Images
summary: List All Images
parameters:
- name: type
in: query
description: Queries for distribution will include images that have pre-installed applications.
schema:
allOf:
- $ref: '#/components/schemas/ImageQueryType'
- name: private
in: query
description: Provide 'true' to only list private images. 'false' has no effect.
schema:
type: boolean
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImagesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/images?type=${type}&private=${private}&page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: image list
'/v2/images/{image_id_or_slug}':
get:
tags:
- Images
summary: Fetch an Existing Image
parameters:
- name: image_id_or_slug
in: path
description: The ID or Slug (if an operating system) of the image to retrieve.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/images/${image_id_or_slug}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: image get
'/v2/images/{image_id}':
put:
tags:
- Images
summary: Update an Existing Image
description: Only updating of user created backups is currently supported.
parameters:
- name: image_id
in: path
description: The ID of the image to update.
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ImageRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImageResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X PUT \"https://api.binarylane.com.au/v2/images/${image_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: image update
'/v2/images/{image_id}/download':
get:
tags:
- Images
summary: Download an Existing Image
description: Only user created backup images are currently available for download.
parameters:
- name: image_id
in: path
description: The ID of the image to download.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ImageDownloadResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/images/${image_id}/download\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: image download
'/v2/account/keys/{key_id}':
get:
tags:
- Keys
summary: Fetch an Existing SSH Key
description: The key_id may be either the Id or the key fingerprint.
parameters:
- name: key_id
in: path
description: The ID or fingerprint of the SSH Key to fetch.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SshKeyResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/account/keys/${key_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: ssh-key get
put:
tags:
- Keys
summary: Update an Existing SSH Key
description: The key_id may be either the Id or the key fingerprint.
parameters:
- name: key_id
in: path
description: The ID or fingerprint of the SSH Key to update.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateSshKeyRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SshKeyResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X PUT \"https://api.binarylane.com.au/v2/account/keys/${key_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: ssh-key update
delete:
tags:
- Keys
summary: Delete an Existing SSH Key
description: The key_id may be either the Id or the key fingerprint.
parameters:
- name: key_id
in: path
description: The ID or fingerprint of the SSH Key to delete.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
responses:
'204':
description: No Content
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/account/keys/${key_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: ssh-key delete
/v2/account/keys:
get:
tags:
- Keys
summary: List All SSH Keys
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SshKeysResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/account/keys?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: ssh-key list
post:
tags:
- Keys
summary: Add a New SSH Key
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SshKeyRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SshKeyResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/account/keys\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: ssh-key create
'/v2/load_balancers/{load_balancer_id}':
get:
tags:
- LoadBalancers
summary: Fetch an Existing Load Balancer
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer to fetch.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LoadBalancerResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: load-balancer get
put:
tags:
- LoadBalancers
summary: Update an Existing Load Balancer
description: Any existing settings or servers that are not included will revert to default values.
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer to update.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateLoadBalancerRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateLoadBalancerResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X PUT \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: load-balancer update
delete:
tags:
- LoadBalancers
summary: Cancel an Existing Load Balancer
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer to cancel.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
responses:
'204':
description: No Content
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: load-balancer delete
/v2/load_balancers:
get:
tags:
- LoadBalancers
summary: List all Load Balancers
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LoadBalancersResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/load_balancers?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: load-balancer list
post:
tags:
- LoadBalancers
summary: Create a New Load Balancer
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateLoadBalancerRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLoadBalancerResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/load_balancers\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: load-balancer create
/v2/load_balancers/availability:
get:
tags:
- LoadBalancers
summary: Fetch Load Balancer Availability and Pricing
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LoadBalancerAvailabilityResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/load_balancers/availability\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: load-balancer availability
'/v2/load_balancers/{load_balancer_id}/servers':
post:
tags:
- LoadBalancers
summary: Add Servers to an Existing Load Balancer
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer to which servers should be added.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ServerIdsRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}/servers\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: load-balancer server create
delete:
tags:
- LoadBalancers
summary: Remove Servers from an Existing Load Balancer
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer for which servers should be removed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ServerIdsRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}/servers\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: load-balancer server delete
'/v2/load_balancers/{load_balancer_id}/forwarding_rules':
post:
tags:
- LoadBalancers
summary: Add Forwarding Rules to an Existing Load Balancer
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer to which forwarding rules should be added.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ForwardingRulesRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}/forwarding_rules\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: load-balancer rule create
delete:
tags:
- LoadBalancers
summary: Remove Forwarding Rules from an Existing Load Balancer
parameters:
- name: load_balancer_id
in: path
description: The ID of the load balancer for which forwarding rules should be removed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: load-balancer list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ForwardingRulesRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/load_balancers/${load_balancer_id}/forwarding_rules\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: load-balancer rule delete
/v2/regions:
get:
tags:
- Regions
summary: List all Regions
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RegionsResponse'
x-codeSamples:
- lang: Curl
source: 'curl -X GET "https://api.binarylane.com.au/v2/regions?page=${page}&per_page=${per_page}"'
x-cli-command: region list
/v2/reverse_names/ipv6:
get:
tags:
- ReverseNames
summary: Fetch all Existing IPv6 Name Server Records
description: "IPv6 addresses within the allocated IPv6 floating range do not have PTR records under our default configuration.\nYou may provide resolution by delegating PTR lookups to your own nameservers.\nThese nameservers - and the floating range itself - are shared by all your servers; PTR lookups for addresses within your routed range will also be delegated."
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReverseNameServersResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/reverse_names/ipv6?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server ipv6-ptr-ns list
post:
tags:
- ReverseNames
summary: Create New or Update Existing Global IPv6 Name Server Records
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ReverseNameserversRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/reverse_names/ipv6\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server ipv6-ptr-ns update
'/v2/samplesets/{server_id}/latest':
get:
tags:
- SampleSets
summary: Fetch the Latest Performance and Usage Data Sample Set for a Server
description: Returns the latest performance and usage sample set.
parameters:
- name: server_id
in: path
description: The target server id.
required: true
schema:
type: integer
description: The target server id.
format: int64
x-cli-entity-lookup: server list
- name: data_interval
in: query
description: "\n| Value | Description |\n| ----- | ----------- |\n| five-minute | 5 Minutes |\n| half-hour | 30 Minutes |\n| four-hour | 4 Hours |\n| day | 1 Day |\n| week | 7 Days |\n| month | 1 Month |\n\n"
schema:
allOf:
- $ref: '#/components/schemas/DataInterval'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SampleSetResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/samplesets/${server_id}/latest?data_interval=${data_interval}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server metrics get
'/v2/samplesets/{server_id}':
get:
tags:
- SampleSets
summary: Fetch all of the Performance and Usage Data Sample Sets for a Server
parameters:
- name: server_id
in: path
description: The target server id.
required: true
schema:
type: integer
description: The target server id.
format: int64
x-cli-entity-lookup: server list
- name: data_interval
in: query
description: "\n| Value | Description |\n| ----- | ----------- |\n| five-minute | 5 Minutes |\n| half-hour | 30 Minutes |\n| four-hour | 4 Hours |\n| day | 1 Day |\n| week | 7 Days |\n| month | 1 Month |\n\n"
schema:
allOf:
- $ref: '#/components/schemas/DataInterval'
- name: start
in: query
description: 'The start of the window of samples to retrieve, ISO8601 format (eg 2022-12-30T22:50:00Z). Defaults to 1 week before end for intervals larger than 5 minutes, or 1 day for 5 minute intervals.'
schema:
type: string
format: date-time
- name: end
in: query
description: 'The start of the window of samples to retrieve, ISO8601 format (eg 2022-12-30T22:50:00Z). Defaults to 1 week or 1 day after start date depending on the selected data interval (or the current time if start is not provided). Can''t be more than 1 year from start.'
schema:
type: string
format: date-time
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SampleSetsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/samplesets/${server_id}?data_interval=${data_interval}&start=${start}&end=${end}&page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server metrics list
'/v2/servers/{server_id}/actions':
get:
tags:
- ServerActions
summary: List All Actions for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which actions should be listed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/actions?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server action list
post:
tags:
- ServerActions
summary: Perform an Action on a Server
description: "Review the ServerAction schema for a list of available actions.\nReview the description in each individual schema for each type of server action for further information.\nFor actions that 'query' something (e.g. \"Ping\") fetch the completed action from the action endpoint for the response."
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ServerAction'
oneOf:
- $ref: '#/components/schemas/AddDisk'
- $ref: '#/components/schemas/AttachBackup'
- $ref: '#/components/schemas/ChangeAdvancedFeatures'
- $ref: '#/components/schemas/ChangeAdvancedFirewallRules'
- $ref: '#/components/schemas/ChangeBackupSchedule'
- $ref: '#/components/schemas/ChangeIpv6'
- $ref: '#/components/schemas/ChangeIpv6ReverseNameservers'
- $ref: '#/components/schemas/ChangeKernel'
- $ref: '#/components/schemas/ChangeManageOffsiteBackupCopies'
- $ref: '#/components/schemas/ChangeNetwork'
- $ref: '#/components/schemas/ChangeOffsiteBackupLocation'
- $ref: '#/components/schemas/ChangePartner'
- $ref: '#/components/schemas/ChangePortBlocking'
- $ref: '#/components/schemas/ChangeRegion'
- $ref: '#/components/schemas/ChangeReverseName'
- $ref: '#/components/schemas/ChangeSeparatePrivateNetworkInterface'
- $ref: '#/components/schemas/ChangeSourceAndDestinationCheck'
- $ref: '#/components/schemas/ChangeThresholdAlerts'
- $ref: '#/components/schemas/ChangeVpcIpv4'
- $ref: '#/components/schemas/CloneUsingBackup'
- $ref: '#/components/schemas/DeleteDisk'
- $ref: '#/components/schemas/DetachBackup'
- $ref: '#/components/schemas/DisableBackups'
- $ref: '#/components/schemas/DisableSelinux'
- $ref: '#/components/schemas/EnableBackups'
- $ref: '#/components/schemas/EnableIpv6'
- $ref: '#/components/schemas/IsRunning'
- $ref: '#/components/schemas/PasswordReset'
- $ref: '#/components/schemas/Ping'
- $ref: '#/components/schemas/PowerCycle'
- $ref: '#/components/schemas/PowerOff'
- $ref: '#/components/schemas/PowerOn'
- $ref: '#/components/schemas/Reboot'
- $ref: '#/components/schemas/Rebuild'
- $ref: '#/components/schemas/Rename'
- $ref: '#/components/schemas/Resize'
- $ref: '#/components/schemas/ResizeDisk'
- $ref: '#/components/schemas/Restore'
- $ref: '#/components/schemas/Shutdown'
- $ref: '#/components/schemas/TakeBackup'
- $ref: '#/components/schemas/Uncancel'
- $ref: '#/components/schemas/Uptime'
discriminator:
propertyName: type
mapping:
uptime: '#/components/schemas/Uptime'
uncancel: '#/components/schemas/Uncancel'
take_backup: '#/components/schemas/TakeBackup'
shutdown: '#/components/schemas/Shutdown'
restore: '#/components/schemas/Restore'
resize_disk: '#/components/schemas/ResizeDisk'
resize: '#/components/schemas/Resize'
rename: '#/components/schemas/Rename'
rebuild: '#/components/schemas/Rebuild'
reboot: '#/components/schemas/Reboot'
power_on: '#/components/schemas/PowerOn'
power_off: '#/components/schemas/PowerOff'
power_cycle: '#/components/schemas/PowerCycle'
ping: '#/components/schemas/Ping'
password_reset: '#/components/schemas/PasswordReset'
is_running: '#/components/schemas/IsRunning'
enable_ipv6: '#/components/schemas/EnableIpv6'
enable_backups: '#/components/schemas/EnableBackups'
disable_selinux: '#/components/schemas/DisableSelinux'
disable_backups: '#/components/schemas/DisableBackups'
detach_backup: '#/components/schemas/DetachBackup'
delete_disk: '#/components/schemas/DeleteDisk'
clone_using_backup: '#/components/schemas/CloneUsingBackup'
change_vpc_ipv4: '#/components/schemas/ChangeVpcIpv4'
change_threshold_alerts: '#/components/schemas/ChangeThresholdAlerts'
change_source_and_destination_check: '#/components/schemas/ChangeSourceAndDestinationCheck'
change_separate_private_network_interface: '#/components/schemas/ChangeSeparatePrivateNetworkInterface'
change_reverse_name: '#/components/schemas/ChangeReverseName'
change_region: '#/components/schemas/ChangeRegion'
change_port_blocking: '#/components/schemas/ChangePortBlocking'
change_partner: '#/components/schemas/ChangePartner'
change_offsite_backup_location: '#/components/schemas/ChangeOffsiteBackupLocation'
change_network: '#/components/schemas/ChangeNetwork'
change_manage_offsite_backup_copies: '#/components/schemas/ChangeManageOffsiteBackupCopies'
change_kernel: '#/components/schemas/ChangeKernel'
change_ipv6_reverse_nameservers: '#/components/schemas/ChangeIpv6ReverseNameservers'
change_ipv6: '#/components/schemas/ChangeIpv6'
change_backup_schedule: '#/components/schemas/ChangeBackupSchedule'
change_advanced_firewall_rules: '#/components/schemas/ChangeAdvancedFirewallRules'
change_advanced_features: '#/components/schemas/ChangeAdvancedFeatures'
attach_backup: '#/components/schemas/AttachBackup'
add_disk: '#/components/schemas/AddDisk'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
'/v2/servers/{server_id}':
get:
tags:
- Servers
summary: Fetch an Existing Server
parameters:
- name: server_id
in: path
description: The ID of the server to fetch.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ServerResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server get
delete:
tags:
- Servers
summary: Cancel an Existing Server
parameters:
- name: server_id
in: path
description: The ID of the server to be cancelled.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: reason
in: query
description: The reason for cancelling the server.
schema:
maxLength: 250
minLength: 0
type: string
responses:
'204':
description: No Content
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/servers/${server_id}?reason=${reason}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server delete
/v2/servers:
get:
tags:
- Servers
summary: List All Servers
parameters:
- name: hostname
in: query
description: Providing a hostname restricts the results to the server that has this hostname (case insensitive). If this parameter is provided at most 1 server will be returned.
schema:
type: string
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ServersResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers?hostname=${hostname}&page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server list
post:
tags:
- Servers
summary: Create a New Server
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateServerRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateServerResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server create
'/v2/servers/{server_id}/actions/{action_id}':
get:
tags:
- Servers
summary: Fetch an Action for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which the action should be fetched.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: action_id
in: path
description: The ID of the action to fetch.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/actions/${action_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server action get
'/v2/servers/{server_id}/advanced_firewall_rules':
get:
tags:
- Servers
summary: Fetch All Advanced Firewall Rules for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which firewall rules should be listed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AdvancedFirewallRulesResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/advanced_firewall_rules\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server firewall list
'/v2/servers/{server_id}/available_advanced_features':
get:
tags:
- Servers
summary: Fetch the Currently Available Advanced Features for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which advanced features should be listed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableAdvancedServerFeaturesResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/available_advanced_features\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server feature list
'/v2/servers/{server_id}/backups':
get:
tags:
- Servers
summary: List All Backups for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which backups should be listed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BackupsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/backups?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server backup list
post:
tags:
- Servers
summary: Upload a Backup for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which the backup is to be uploaded.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UploadImageRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/backups\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server backup upload
'/v2/servers/{server_id}/kernels':
get:
tags:
- Servers
summary: List all Available Kernels for a Server
description: Only servers based on one of our Linux distribution images may change kernels.
parameters:
- name: server_id
in: path
description: The ID of the server for which kernels should be listed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/KernelsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/kernels?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server kernel list
'/v2/servers/{server_id}/snapshots':
get:
tags:
- Servers
summary: List all Snapshots for a Server
description: Server snapshots are not implemented. This will always return 0 results.
parameters:
- name: server_id
in: path
description: The ID of the server for which snapshots should be listed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SnapshotsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/snapshots?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server snapshot list
'/v2/servers/{server_id}/threshold_alerts':
get:
tags:
- Servers
summary: Fetch the Currently Set Threshold Alerts for a Server
description: Includes the current values for the most recent threshold alert period.
parameters:
- name: server_id
in: path
description: The ID of the server for which threshold alerts should be fetched.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ThresholdAlertsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/threshold_alerts\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server alert get
/v2/servers/threshold_alerts:
get:
tags:
- Servers
summary: List any Servers that have a Current Exceeded Threshold Alert
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CurrentServerAlertsResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/threshold_alerts\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server alert list
'/v2/servers/{server_id}/software':
get:
tags:
- Servers
summary: List all Enabled Software for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which software should be fetched.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LicensedSoftwaresResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/software?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server software
'/v2/servers/{server_id}/user_data':
get:
tags:
- Servers
summary: Fetch the Currently Set UserData for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which userdata should be fetched.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserData'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/user_data\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server user-data
'/v2/servers/{server_id}/console':
get:
tags:
- Servers
summary: Fetch the Console URLs for a Server
parameters:
- name: server_id
in: path
description: The ID of the server for which console URLs will be fetched.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ConsoleResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/servers/${server_id}/console\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: server console
/v2/sizes:
get:
tags:
- Sizes
summary: List All Available Sizes
parameters:
- name: server_id
in: query
description: If supplied only sizes available for a resize the specified server will be returned. This parameter is only available when authenticated.
schema:
type: integer
format: int64
- name: image
in: query
description: If null or not provided regions that support the size are included in the returned objects regardless of operating system. If this is provided it must be the id or slug of an operating system image and will cause only valid regions for the size and operating system to be included in the returned objects.
schema:
oneOf:
- type: integer
- type: string
example: 5
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SizesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/sizes?server_id=${server_id}&image=${image}&page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: size list
'/v2/software/{software_id}':
get:
tags:
- Software
summary: Fetch Existing Software
parameters:
- name: software_id
in: path
description: The ID of the software to fetch.
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SoftwareResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/software/${software_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: software get
/v2/software:
get:
tags:
- Software
summary: List All Available Software
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SoftwaresResponse'
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/software?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: software list
'/v2/software/operating_system/{operating_system_id_or_slug}':
get:
tags:
- Software
summary: List All Available Software for an Existing Operating System
description: "If any software for the operating system has a non null value for the group property, one (and only one) of the software from each group must be selected.\nThere may be a software in each group with a licence_step_count value of -1 that may be selected to indicate the software from that group is not required."
parameters:
- name: operating_system_id_or_slug
in: path
description: The ID or slug of the operating system for which available software should be listed.
required: true
schema:
oneOf:
- type: integer
- type: string
example: 5
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SoftwaresResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/software/operating_system/${operating_system_id_or_slug}?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: software operating-system
'/v2/vpcs/{vpc_id}':
get:
tags:
- Vpcs
summary: Fetch an Existing VPC
parameters:
- name: vpc_id
in: path
description: The target vpc id.
required: true
schema:
type: integer
description: The target vpc id.
format: int64
x-cli-entity-lookup: vpc list
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VpcResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/vpcs/${vpc_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: vpc get
put:
tags:
- Vpcs
summary: Update an Existing VPC
description: 'Anything not included in this will be removed, especially route entries.'
parameters:
- name: vpc_id
in: path
description: The target vpc id.
required: true
schema:
type: integer
description: The target vpc id.
format: int64
x-cli-entity-lookup: vpc list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateVpcRequest'
description: Any properties that are not included will be cleared.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VpcResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X PUT \"https://api.binarylane.com.au/v2/vpcs/${vpc_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: vpc update
patch:
tags:
- Vpcs
summary: Update an Existing VPC
description: Anything not included in this will be un-altered.
parameters:
- name: vpc_id
in: path
description: The target vpc id.
required: true
schema:
type: integer
description: The target vpc id.
format: int64
x-cli-entity-lookup: vpc list
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PatchVpcRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VpcResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X PATCH \"https://api.binarylane.com.au/v2/vpcs/${vpc_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: vpc patch
delete:
tags:
- Vpcs
summary: Delete an Existing VPC
parameters:
- name: vpc_id
in: path
description: The target vpc id.
required: true
schema:
type: integer
description: The target vpc id.
format: int64
x-cli-entity-lookup: vpc list
responses:
'204':
description: No Content
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X DELETE \"https://api.binarylane.com.au/v2/vpcs/${vpc_id}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: vpc delete
/v2/vpcs:
get:
tags:
- Vpcs
summary: List All Existing VPCs
parameters:
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VpcsResponse'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/vpcs?page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: vpc list
post:
tags:
- Vpcs
summary: Create a New VPC
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateVpcRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VpcResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/vpcs\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: vpc create
'/v2/vpcs/{vpc_id}/members':
get:
tags:
- Vpcs
summary: List All Members of an Existing VPC
description: Only resource type 'server' is currently supported.
parameters:
- name: vpc_id
in: path
description: The target vpc id.
required: true
schema:
type: integer
description: The target vpc id.
format: int64
x-cli-entity-lookup: vpc list
- name: resource_type
in: query
description: "\n| Value | Description |\n| ----- | ----------- |\n| server | Server |\n| load-balancer | Load Balancer |\n| ssh-key | SSH Key |\n| vpc | Virtual Private Network |\n| image | Backup or Operating System Image |\n| registered-domain-name | Registered Domain Name |\n\n"
schema:
allOf:
- $ref: '#/components/schemas/ResourceType'
- name: page
in: query
description: The selected page. Page numbering starts at 1
schema:
maximum: 2147483647
minimum: 1
type: integer
description: The selected page. Page numbering starts at 1
format: int32
default: 1
- name: per_page
in: query
description: The number of results to show per page.
schema:
maximum: 200
minimum: 1
type: integer
description: The number of results to show per page.
format: int32
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VpcMembersResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X GET \"https://api.binarylane.com.au/v2/vpcs/${vpc_id}/members?resource_type=${resource_type}&page=${page}&per_page=${per_page}\" \\\n-H \"Authorization: Bearer ${APITOKEN}\""
x-cli-command: vpc members
'/v2/servers/{server_id}/actions#ChangeThresholdAlerts':
post:
tags:
- ServerActions
summary: Set or Update the Threshold Alerts for a Server
description: This is used to set threshold alerts (also known as resource alerts) for the server.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeThresholdAlerts'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-threshold-alerts
'/v2/servers/{server_id}/actions#IsRunning':
post:
tags:
- ServerActions
summary: Check if a Server is Running
description: 'This is used to check if the server is running, but not the state of the server. For example, the server may be running but be unresponsive, rebooting etc.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IsRunning'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action is-running
'/v2/servers/{server_id}/actions#Ping':
post:
tags:
- ServerActions
summary: Attempt to Ping a Server
description: 'This is used to determine if the server responds to a ping. The ping attempt is normally made to the public interface, so it may be blocked by your firewall settings etc.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Ping'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action ping
'/v2/servers/{server_id}/actions#Uncancel':
post:
tags:
- ServerActions
summary: Revert the Cancellation of a Server
description: '**NB: this is only available before the server is suspended and we make no guarantees that un-cancellation is possible.**'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Uncancel'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action uncancel
'/v2/servers/{server_id}/actions#Uptime':
post:
tags:
- ServerActions
summary: Check the Uptime of a Server
description: This is used to determine how long the server has been continuously running.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Uptime'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action uptime
'/v2/servers/{server_id}/actions#AttachBackup':
post:
tags:
- ServerActions
summary: Attach a Backup to a Server
description: This is most often used to restore an individual file from a backup. It may also be used to boot the server from an ISO image.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AttachBackup'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action attach-backup
'/v2/servers/{server_id}/actions#ChangeBackupSchedule':
post:
tags:
- ServerActions
summary: Change the Backup Schedule of a Server
description: 'This changes when the backups are taken, not the frequency or retention of backups.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeBackupSchedule'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-backup-schedule
'/v2/servers/{server_id}/actions#ChangeManageOffsiteBackupCopies':
post:
tags:
- ServerActions
summary: Change the Management of Offsite Backup Copies
description: This is used to alter whether old offsite backups will be removed when the replacement upload is complete if offsite backups have been selected and a custom offsite location is used.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeManageOffsiteBackupCopies'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-manage-offsite-backup-copies
'/v2/servers/{server_id}/actions#ChangeOffsiteBackupLocation':
post:
tags:
- ServerActions
summary: Change the Offsite Backup Location of a Server
description: 'If offsite backups have been selected this is used to change the offsite backup location, either to a valid Amazon S3 bucket or our internal offsite backup location.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeOffsiteBackupLocation'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-offsite-backup-location
'/v2/servers/{server_id}/actions#CloneUsingBackup':
post:
tags:
- ServerActions
summary: Restore a Backup of a Server to a Different Existing Server
description: "This is used to clone a new server from the backup of an existing server. \nThe action is 'performed' on the source server. The target server must have finished the initial building process: this will fail if the target server is does not have the status 'available'. \n**NB: This is a destructive operation on the target server and no further confirmation will be requested.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CloneUsingBackup'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action clone-using-backup
'/v2/servers/{server_id}/actions#DetachBackup':
post:
tags:
- ServerActions
summary: Detach Any Attached Backup from a Server
description: This is used to detach a backup that was attached with the Attach Backup action.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DetachBackup'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action detach-backup
'/v2/servers/{server_id}/actions#DisableBackups':
post:
tags:
- ServerActions
summary: Disable Backups for an Existing Server
description: "This will disable backups for a server only if it has the backup configuration that is created by the EnabledBackups action, i.e. two daily backups. \nThis is not a 'pause' for backups, this will change the server's options to remove the backups. \nFor greater control over the backup options use Options property on the Resize action. \n**NB: This is a destructive operation (previous backups will no longer be available) and no further confirmation will be requested.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DisableBackups'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action disable-backups
'/v2/servers/{server_id}/actions#EnableBackups':
post:
tags:
- ServerActions
summary: Enable Two Daily Backups for an Existing Server
description: "This will enable two daily backups if the server currently has no backups. This is not an 'un-pause' for backups. It will change the server's options to enable two daily backups. \nFor greater control over the backup options use Options property on the Resize action. \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EnableBackups'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action enable-backups
'/v2/servers/{server_id}/actions#Restore':
post:
tags:
- ServerActions
summary: Restore a Backup to a Server
description: "This will remove the server's existing disks and restore the selected backup. \n**NB: This is a destructive operation and no further confirmation will be requested.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Restore'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action restore
'/v2/servers/{server_id}/actions#TakeBackup':
post:
tags:
- ServerActions
summary: Take a Backup of a Server
description: This creates an immediate backup of the server.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TakeBackup'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action take-backup
'/v2/servers/{server_id}/actions#PasswordReset':
post:
tags:
- ServerActions
summary: Reset the Password of a Server
description: This will reset the password of the specified or default remote user if possible (e.g. on most Unix derived operating systems) or clear the administrator password on Windows operating systems.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordReset'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action password-reset
'/v2/servers/{server_id}/actions#PowerCycle':
post:
tags:
- ServerActions
summary: Power a Server Off and then On
description: "This is a 'hard' reboot, equivalent to turning the server's power switch off and on. \nThis should be used only if the server is unresponsive when the 'Reboot' action is attempted. \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PowerCycle'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action power-cycle
'/v2/servers/{server_id}/actions#PowerOff':
post:
tags:
- ServerActions
summary: Power a Server Off
description: 'This is a ''hard'' power off, equivalent to turning the server''s power switch off.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PowerOff'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action power-off
'/v2/servers/{server_id}/actions#PowerOn':
post:
tags:
- ServerActions
summary: Power a Server On
description: This may be used if the server has previous been powered off either from inside the server's operating system or via an action.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PowerOn'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action power-on
'/v2/servers/{server_id}/actions#Reboot':
post:
tags:
- ServerActions
summary: Request a Server Perform a Reboot
description: 'This is a ''soft'' reboot, equivalent to tapping the power button on the server or selecting ''restart'' in the operating system to trigger an orderly shutdown, waiting for that shutdown, then starting the server.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Reboot'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action reboot
'/v2/servers/{server_id}/actions#Shutdown':
post:
tags:
- ServerActions
summary: Request a Server Perform a Shutdown
description: 'This is a ''soft'' shutdown, equivalent to tapping the power button on the server or selecting ''shutdown'' in the operating system to trigger an orderly shutdown, then waiting for that shutdown.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Shutdown'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action shutdown
'/v2/servers/{server_id}/actions#ChangeAdvancedFeatures':
post:
tags:
- ServerActions
summary: Change the Advanced Features of a Server
description: 'This is used to change the virtual processor model, emulated video card and other virtualization options.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeAdvancedFeatures'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-advanced-features
'/v2/servers/{server_id}/actions#ChangeAdvancedFirewallRules':
post:
tags:
- ServerActions
summary: Change the Advanced Firewall Rules for a Server
description: This is used to configure the external firewall. Please see our documentation for more information.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeAdvancedFirewallRules'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-advanced-firewall-rules
'/v2/servers/{server_id}/actions#ChangeKernel':
post:
tags:
- ServerActions
summary: Change the Kernel of a Server
description: 'This is most often used to boot using our provided Finnix recovery CD. Please review the ''servers/{server_id}/kernels'' endpoint for more information.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeKernel'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-kernel
'/v2/servers/{server_id}/actions#ChangePartner':
post:
tags:
- ServerActions
summary: 'Add, Update or Remove a Partner Server for a Server'
description: Making servers 'partners' prevents them from being co-located on the same hardware.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePartner'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-partner
'/v2/servers/{server_id}/actions#ChangeRegion':
post:
tags:
- ServerActions
summary: Change the Region of a Server
description: "This is used to move a server to a different region. \nPlease check our knowledge base article for the current requirements for servers to be able to move between regions. \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeRegion'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-region
'/v2/servers/{server_id}/actions#DisableSelinux':
post:
tags:
- ServerActions
summary: Disable SE Linux for a Server
description: If you have upgraded to CentOS 7.6 and rebooted your server (or an automated update has done so on your behalf) then SELinux may be preventing your system from working correctly.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DisableSelinux'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action disable-selinux
'/v2/servers/{server_id}/actions#Rebuild':
post:
tags:
- ServerActions
summary: Rebuild an Existing Server
description: "This will restore the server to the base image provided. \n**NB: This is a destructive operation and no further confirmation will be requested.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Rebuild'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action rebuild
'/v2/servers/{server_id}/actions#Resize':
post:
tags:
- ServerActions
summary: Update the Size and Related Options for a Server
description: "This is used to change the base size (also known as 'change plan') or many of the additional options that are available. \n**NB: This *may* be a destructive operation (e.g. if a new base image is provided the server will be rebuilt, or if the weekly backups are reduced to 0 all weekly backups will be removed) and no further confirmation will be requested.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Resize'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action resize
'/v2/servers/{server_id}/actions#AddDisk':
post:
tags:
- ServerActions
summary: Create an Additional Disk for a Server
description: "This is used to add an additional disk in unallocated storage space. \nThis does not alter the total disk space available to your server: to add additional disk space for your server use the 'Resize' action. \n**This action may require the server to be rebooted.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddDisk'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action add-disk
'/v2/servers/{server_id}/actions#ResizeDisk':
post:
tags:
- ServerActions
summary: Alter the Size of an Existing Disk for a Server
description: "This is used to alter the size of an existing disk, either to use or create unallocated storage space. \nThis does not alter the total disk space available to your server: to add or remove disk space for your server use the 'Resize' action. \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResizeDisk'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action resize-disk
'/v2/servers/{server_id}/actions#DeleteDisk':
post:
tags:
- ServerActions
summary: Delete an Additional Disk for a Server
description: "This is used to delete a disk added using the 'AddDisk' action. \n**NB: This is a destructive operation and no further confirmation will be requested.** \n**This action may require the server to be rebooted.** \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteDisk'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action delete-disk
'/v2/servers/{server_id}/actions#ChangeIpv6ReverseNameservers':
post:
tags:
- ServerActions
summary: Update the IPv6 Reverse Name Servers for a Server
description: This is used to alter the IPv6 reverse name servers for this server.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeIpv6ReverseNameservers'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-ipv6-reverse-nameservers
'/v2/servers/{server_id}/actions#ChangeReverseName':
post:
tags:
- ServerActions
summary: Change the Reverse Name for an IPv4 Address on a Server
description: This is used to change the reverse name for an IPv4 on this server.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeReverseName'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-reverse-name
'/v2/servers/{server_id}/actions#Rename':
post:
tags:
- ServerActions
summary: Rename a Server
description: This is used to change the name of the server in our system. The name in the server's operating system will not be changed.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Rename'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action rename
'/v2/servers/{server_id}/actions#ChangeIpv6':
post:
tags:
- ServerActions
summary: Enable or Disable IPv6 for a Server
description: This is used to enable or disable IPv6 networking support for this server.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeIpv6'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-ipv6
'/v2/servers/{server_id}/actions#ChangePortBlocking':
post:
tags:
- ServerActions
summary: Change the Port Blocking for a Server
description: "Port blocking is a security feature. In the majority of cases when a server is hacked, the attacker will then use the server to either send spam or perform brute-force authentication attacks against other servers on the internet. \nThis is used to enable or disable blocking of outgoing connections for email, SSH and Remote Desktop (TCP ports 22, 25, and 3389). \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangePortBlocking'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-port-blocking
'/v2/servers/{server_id}/actions#EnableIpv6':
post:
tags:
- ServerActions
summary: Enable IPv6 for a Server
description: "This is used to enable IPv6 networking support for this server. \nThis action is provided for compatibility reasons and as the same effect as enabling IPv6 via the \"ChangeIpv6\" action. \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EnableIpv6'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action enable-ipv6
'/v2/servers/{server_id}/actions#ChangeNetwork':
post:
tags:
- ServerActions
summary: Move a Server to an Existing Network
description: 'This is used to move a server either to an already defined virtual private cloud, or the public network for the server''s region.'
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeNetwork'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-network
'/v2/servers/{server_id}/actions#ChangeSeparatePrivateNetworkInterface':
post:
tags:
- ServerActions
summary: Enable or Disable a Separate Private Network Interface for a Server in a VPC
description: This is used to enable or disable a separate second network interface for VPC network traffic (if the server is in a VPC).
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeSeparatePrivateNetworkInterface'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-separate-private-network-interface
'/v2/servers/{server_id}/actions#ChangeSourceAndDestinationCheck':
post:
tags:
- ServerActions
summary: Enable or Disable Network Source and Destination Checks for a Server in a VPC
description: "This is used to enable or disable source and destination checks for network packets. \nSource/Destination Check is a feature that controls what packets are allowed to be sent and received by your Cloud Server. When enabled (which it is by default), your server will only be able to send or receive packets that are directly addressed to one of the IP addresses associated with the Cloud Server. Generally, this is desirable behaviour because it prevents IP conflicts and other hard-to-diagnose networking faults due to incorrect network configuration. \nWhen Source/Destination Check is disabled, your Cloud Server will be able to send and receive packets addressed to any server whatsoever. This is typically used when you want to use your Cloud Server as a VPN endpoint, a NAT server to provide internet access, or IP forwarding. \n \n"
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeSourceAndDestinationCheck'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-source-and-destination-check
'/v2/servers/{server_id}/actions#ChangeVpcIpv4':
post:
tags:
- ServerActions
summary: Change the IPv4 Address for a Server in a VPC
description: This is used to change the private IPv4 address for a server in a VPC.
parameters:
- name: server_id
in: path
description: The ID of the server on which the action should be performed.
required: true
schema:
type: integer
format: int64
x-cli-entity-lookup: server list
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeVpcIpv4'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ActionResponse'
'202':
description: Accepted
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationProblemDetails'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
x-codeSamples:
- lang: Curl
source: "curl -X POST \"https://api.binarylane.com.au/v2/servers/${server_id}/actions\" \\\n-H \"Authorization: Bearer ${APITOKEN}\" \\\n-H \"Content-Type: application/json\" -d \"${PAYLOAD}\""
x-cli-command: server action change-vpc-ipv4
components:
schemas:
Account:
required:
- additional_ipv4_limit
- configured_payment_methods
- email
- email_verified
- status
- tax_code
- two_factor_authentication_enabled
type: object
properties:
email:
type: string
description: The email address registered for this account.
email_verified:
type: boolean
description: Whether this account has been verified. Unverified accounts are subject to some restrictions.
two_factor_authentication_enabled:
type: boolean
description: Whether this account has enabled app-based two factor authentication.
status:
allOf:
- $ref: '#/components/schemas/AccountStatus'
description: "The status of this account.\n\n| Value | Description |\n| ----- | ----------- |\n| incomplete | An account that exists but is not ready for use. The most common reason for this is a lack of payment information. |\n| active | An account in the normal state. |\n| warning | An account that is under review. If you are unsure why your account has this status please urgently contact support. |\n| locked | An account that is no longer permitted to access the service. |\n\n"
tax_code:
allOf:
- $ref: '#/components/schemas/TaxCode'
description: The tax code that currently applies to transactions for this account.
configured_payment_methods:
type: array
items:
$ref: '#/components/schemas/PaymentMethod'
description: The payment methods that are configured (available) for this account.
additional_ipv4_limit:
type: integer
description: The maximum additional IPv4 addresses this account may assign across all servers. You may contact support to request this limit be increased.
format: int32
AccountResponse:
required:
- account
type: object
properties:
account:
allOf:
- $ref: '#/components/schemas/Account'
AccountStatus:
enum:
- incomplete
- active
- warning
- locked
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| incomplete | An account that exists but is not ready for use. The most common reason for this is a lack of payment information. |\n| active | An account in the normal state. |\n| warning | An account that is under review. If you are unsure why your account has this status please urgently contact support. |\n| locked | An account that is no longer permitted to access the service. |\n\n"
x-enum-descriptions:
- An account that exists but is not ready for use. The most common reason for this is a lack of payment information.
- An account in the normal state.
- An account that is under review. If you are unsure why your account has this status please urgently contact support.
- An account that is no longer permitted to access the service.
Action:
required:
- id
- progress
- reason
- started_at
- status
- title
- type
type: object
properties:
id:
type: integer
description: The ID of this action.
format: int64
x-cli-format: 1
status:
allOf:
- $ref: '#/components/schemas/ActionStatus'
x-cli-format: 6
type:
type: string
description: The type of this action.
x-cli-format: 2
started_at:
type: string
description: The timestamp in ISO8601 format of when processing of this action started.
format: date-time
x-cli-format: 3
completed_at:
type: string
description: The timestamp in ISO8601 format of when processing of this action completed. If this value is null the action is currently in progress.
format: date-time
nullable: true
x-cli-format: 4
resource_type:
allOf:
- $ref: '#/components/schemas/ResourceType'
description: "The resource type (if any) associated with this action.\n\n| Value | Description |\n| ----- | ----------- |\n| server | Server |\n| load-balancer | Load Balancer |\n| ssh-key | SSH Key |\n| vpc | Virtual Private Network |\n| image | Backup or Operating System Image |\n| registered-domain-name | Registered Domain Name |\n\n"
nullable: true
resource_id:
type: integer
description: The resource id of the resource (if any) associated with this action.
format: int64
nullable: true
x-cli-format: 5
region:
allOf:
- $ref: '#/components/schemas/Region'
description: The region (if any) of the resource associated with this action.
nullable: true
region_slug:
type: string
description: The region slug (if any) of the resource associated with this action.
nullable: true
title:
type: string
description: A short display name for the action.
reason:
type: string
description: A user-friendly explanation of what is happening.
progress:
allOf:
- $ref: '#/components/schemas/ActionProgress'
description: Information about the current progress of the action. Some actions are divided into 'steps' and this may also contain information about the current and completed steps.
result_data:
type: string
description: 'Returned information from a completed action. For example: a successful completed ''uptime'' action will have the uptime value in this field.'
nullable: true
x-cli-format: 7
blocking_invoice_id:
type: integer
description: If this Action is currently blocked by an invoice that requires payment this property will be set.
format: int64
nullable: true
user_interaction_required:
allOf:
- $ref: '#/components/schemas/UserInteractionRequired'
description: If this is not null the action is waiting on a response from the user.
nullable: true
ActionLink:
required:
- href
- id
- rel
type: object
properties:
id:
type: integer
format: int64
rel:
type: string
href:
type: string
ActionProgress:
required:
- completed_steps
- percent_complete
type: object
properties:
current_step_detail:
type: string
description: 'Detail about the progress of the current step of the action. For example, when creating an offsite backup this may be populated with the current upload speed and completion ETA of the upload step.'
nullable: true
percent_complete:
type: integer
description: An estimation of the overall completion of the action.
format: int32
current_step:
type: string
description: An description of the current action step.
nullable: true
completed_steps:
type: array
items:
type: string
description: A list of the completed action steps.
ActionResponse:
required:
- action
type: object
properties:
action:
allOf:
- $ref: '#/components/schemas/Action'
ActionStatus:
enum:
- in-progress
- completed
- errored
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| in-progress | This action is currently in progress. |\n| completed | This action has successfully completed. |\n| errored | An error was encountered while processing the action. |\n\n"
x-enum-descriptions:
- This action is currently in progress.
- This action has successfully completed.
- An error was encountered while processing the action.
ActionsLinks:
required:
- actions
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/ActionLink'
ActionsResponse:
required:
- actions
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
actions:
type: array
items:
$ref: '#/components/schemas/Action'
AddDisk:
required:
- size_gigabytes
- type
type: object
properties:
type:
minLength: 1
enum:
- add_disk
type: string
size_gigabytes:
maximum: 2147483647
minimum: 1
type: integer
description: The size of the new disk in GB. The server must have at least this much unallocated storage space.
format: int32
description:
maxLength: 255
minLength: 0
type: string
description: An optional description for the disk. If this is null a default description will be added. Submit an empty string to prevent the default description being added.
nullable: true
description: Create an Additional Disk for a Server
AdvancedFeature:
enum:
- emulated-hyperv
- emulated-devices
- nested-virt
- driver-disk
- unset-uuid
- local-rtc
- emulated-tpm
- cloud-init
- qemu-guest-agent
- uefi-boot
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| emulated-hyperv | Enable HyperV (a hypervisor produced by Microsoft) support. Enabled by default on Windows servers, generally of no value for non-Windows servers. |\n| emulated-devices | When emulated devices is enabled, the KVM specific \"VirtIO\" disk drive and network devices are removed, and replaced with emulated versions of physical hardware: an old IDE HDD and an Intel E1000 network card. Emulated devices are much slower than the VirtIO devices, and so this option should not be enabled unless absolutely necessary. |\n| nested-virt | When this option is enabled the functionality necessary to run your own KVM servers within your server is enabled. Note that all the networking limits - one MAC address per VPS, restricted to specific IPs - still apply to public cloud so this is feature is generally only useful in combination with Virtual Private Cloud. |\n| driver-disk | When this option is enabled a copy of the KVM driver disc for Windows (\"virtio-win.iso\") will be attached to your server as a virtual CD. This option can also be used in combination with your own attached backup when installing Windows. |\n| unset-uuid | When this option is NOT enabled a 128-bit unique identifier is exposed to your server through the virtual BIOS. Each server receives a different UUID. Some propriety licensed software utilise this identifier to \"tie\" the license to a specific server. |\n| local-rtc | When a server is booted the virtual BIOS receives the current date and time from the host node. The BIOS does not have an explicit timezone, so the timezone used is implicit and must be understood by the operating system. Most operating systems other than Windows expect the time to be UTC since it allows the operating system to control the timezone used when displaying the time. Our Windows installations have also been customized to use UTC, but when using your own installation of Windows this should be set to the host node's local timezone. |\n| emulated-tpm | When enabled this provides an emulated TPM v1.2 device to your Cloud Server. Warning: the TPM state is not backed up. |\n| cloud-init | (Read-Only) When this option is enabled the Cloud Server will be provided a datasource for the cloud-init service. |\n| qemu-guest-agent | (Read-Only) When this option is enabled the server will allow QEMU Guest Agent to perform password reset without rebooting. |\n| uefi-boot | (Read-Only) When this option is enabled the Cloud Server will use UEFI instead of legacy PC BIOS. |\n\n"
x-enum-descriptions:
- 'Enable HyperV (a hypervisor produced by Microsoft) support. Enabled by default on Windows servers, generally of no value for non-Windows servers.'
- 'When emulated devices is enabled, the KVM specific "VirtIO" disk drive and network devices are removed, and replaced with emulated versions of physical hardware: an old IDE HDD and an Intel E1000 network card. Emulated devices are much slower than the VirtIO devices, and so this option should not be enabled unless absolutely necessary.'
- 'When this option is enabled the functionality necessary to run your own KVM servers within your server is enabled. Note that all the networking limits - one MAC address per VPS, restricted to specific IPs - still apply to public cloud so this is feature is generally only useful in combination with Virtual Private Cloud.'
- When this option is enabled a copy of the KVM driver disc for Windows ("virtio-win.iso") will be attached to your server as a virtual CD. This option can also be used in combination with your own attached backup when installing Windows.
- When this option is NOT enabled a 128-bit unique identifier is exposed to your server through the virtual BIOS. Each server receives a different UUID. Some propriety licensed software utilise this identifier to "tie" the license to a specific server.
- 'When a server is booted the virtual BIOS receives the current date and time from the host node. The BIOS does not have an explicit timezone, so the timezone used is implicit and must be understood by the operating system. Most operating systems other than Windows expect the time to be UTC since it allows the operating system to control the timezone used when displaying the time. Our Windows installations have also been customized to use UTC, but when using your own installation of Windows this should be set to the host node''s local timezone.'
- 'When enabled this provides an emulated TPM v1.2 device to your Cloud Server. Warning: the TPM state is not backed up.'
- (Read-Only) When this option is enabled the Cloud Server will be provided a datasource for the cloud-init service.
- (Read-Only) When this option is enabled the server will allow QEMU Guest Agent to perform password reset without rebooting.
- (Read-Only) When this option is enabled the Cloud Server will use UEFI instead of legacy PC BIOS.
AdvancedFirewallRule:
required:
- action
- destination_addresses
- protocol
- source_addresses
type: object
properties:
source_addresses:
type: array
items:
type: string
description: The source addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation.
x-cli-format: 1
destination_addresses:
type: array
items:
type: string
description: The destination addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation.
x-cli-format: 2
destination_ports:
type: array
items:
type: string
description: The destination ports to match for this rule. Leave null or empty to match on all ports.
nullable: true
x-cli-format: 4
protocol:
allOf:
- $ref: '#/components/schemas/AdvancedFirewallRuleProtocol'
description: "The protocol to match for this rule.\n\n| Value | Description |\n| ----- | ----------- |\n| all | This rule will match any protocol. |\n| icmp | This rule will match ICMP traffic only. |\n| tcp | This rule will match TCP traffic only. |\n| udp | This rule will match UDP traffic only. |\n\n"
x-cli-format: 3
action:
allOf:
- $ref: '#/components/schemas/AdvancedFirewallRuleAction'
description: "The action to take when there is a match on this rule.\n\n| Value | Description |\n| ----- | ----------- |\n| drop | Traffic matching this rule will be dropped. |\n| accept | Traffic matching this rule will be accepted. |\n\n"
x-cli-format: 5
description:
type: string
description: 'A description to assist in identifying this rule. Commonly used to record the reason for the rule or the intent behind it, e.g. "Block access to RDP" or "Allow access from HQ".'
nullable: true
x-cli-format: 6
AdvancedFirewallRuleAction:
enum:
- drop
- accept
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| drop | Traffic matching this rule will be dropped. |\n| accept | Traffic matching this rule will be accepted. |\n\n"
x-enum-descriptions:
- Traffic matching this rule will be dropped.
- Traffic matching this rule will be accepted.
AdvancedFirewallRuleProtocol:
enum:
- all
- icmp
- tcp
- udp
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| all | This rule will match any protocol. |\n| icmp | This rule will match ICMP traffic only. |\n| tcp | This rule will match TCP traffic only. |\n| udp | This rule will match UDP traffic only. |\n\n"
x-enum-descriptions:
- This rule will match any protocol.
- This rule will match ICMP traffic only.
- This rule will match TCP traffic only.
- This rule will match UDP traffic only.
AdvancedFirewallRuleRequest:
required:
- action
- destination_addresses
- protocol
- source_addresses
type: object
properties:
source_addresses:
minItems: 1
type: array
items:
type: string
description: The source addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation.
destination_addresses:
minItems: 1
type: array
items:
type: string
description: The destination addresses to match for this rule. Each address may be an individual IPv4 address or a range in IPv4 CIDR notation.
destination_ports:
type: array
items:
type: string
description: The destination ports to match for this rule. Leave null or empty to match on all ports.
nullable: true
protocol:
allOf:
- $ref: '#/components/schemas/AdvancedFirewallRuleProtocol'
description: "The protocol to match for this rule.\n\n| Value | Description |\n| ----- | ----------- |\n| all | This rule will match any protocol. |\n| icmp | This rule will match ICMP traffic only. |\n| tcp | This rule will match TCP traffic only. |\n| udp | This rule will match UDP traffic only. |\n\n"
action:
allOf:
- $ref: '#/components/schemas/AdvancedFirewallRuleAction'
description: "The action to take when there is a match on this rule.\n\n| Value | Description |\n| ----- | ----------- |\n| drop | Traffic matching this rule will be dropped. |\n| accept | Traffic matching this rule will be accepted. |\n\n"
description:
maxLength: 250
minLength: 0
type: string
description: 'A description to assist in identifying this rule. Commonly used to record the reason for the rule or the intent behind it, e.g. "Block access to RDP" or "Allow access from HQ".'
nullable: true
AdvancedFirewallRulesResponse:
required:
- firewall_rules
type: object
properties:
firewall_rules:
type: array
items:
$ref: '#/components/schemas/AdvancedFirewallRule'
description: 'The advanced firewall rules for the selected server. Please note that the order of the rules is critical as the first matching rule is applied, and if no rules match the traffic is permitted.'
AdvancedServerFeatures:
required:
- enabled_advanced_features
- video_device
type: object
properties:
processor_model:
type: integer
description: "The ID of the processor model (and therefore CPU flags) available for this server.\nA null value indicates automatic selection of the best processor model supported by the host node.\nThis does not change the physical CPU, only the CPU flags available to the operating system."
format: int64
nullable: true
machine_type:
allOf:
- $ref: '#/components/schemas/VmMachineType'
description: "The machine_type (corresponding to a KVM version) used for this server.\nA null value indicates automatic selection of the best KVM machine type supported by the host node.\n\n| Value | Description |\n| ----- | ----------- |\n| pc_i440fx_1point5 | PC i440FX 1.5 |\n| pc_i440fx_2point11 | PC i440FX 2.11 |\n| pc_i440fx_4point1 | PC i440FX 4.1 |\n| pc_i440fx_4point2 | PC i440FX 4.2 |\n| pc_i440fx_5point0 | PC i440FX 5.0 |\n| pc_i440fx_5point1 | PC i440FX 5.1 |\n| pc_i440fx_7point2 | PC i440FX 7.2 |\n| pc_i440fx_7point2point1 | PC i440FX 7.2.1 |\n| pc_i440fx_8point2 | PC i440FX 8.2 |\n\n"
nullable: true
video_device:
allOf:
- $ref: '#/components/schemas/VideoDevice'
description: "Video Device\n\n| Value | Description |\n| ----- | ----------- |\n| cirrus-logic | Cirrus Logic GD5446 |\n| standard | Standard VGA with VESA 2.0 extensions |\n| virtio | Virtio VGA (800x600) |\n| virtio-wide | Virtio VGA (1600x900) |\n\n"
enabled_advanced_features:
type: array
items:
$ref: '#/components/schemas/AdvancedFeature'
description: A list of the currently enabled advanced features for this server.
AttachBackup:
required:
- image
- type
type: object
properties:
type:
minLength: 1
enum:
- attach_backup
type: string
image:
type: integer
description: Only attaching backup images is currently supported.
format: int64
description: Attach a Backup to a Server
AttachedBackup:
required:
- disk_identifiers
- id
type: object
properties:
id:
type: integer
description: The ID of the backup image.
format: int64
disk_identifiers:
type: array
items:
type: string
description: A list of the operating specific disk identifiers for the attached backup disks.
attached_at:
type: string
description: The date and time in ISO8601 format when this image was attached to the server.
format: date-time
nullable: true
attachment_expires:
type: string
description: The date and time in ISO8601 format when the backup will be automatically detached unless it is manually detached earlier.
format: date-time
nullable: true
AvailableAdvancedServerFeatures:
required:
- advanced_features
- machine_types
- processor_models
type: object
properties:
processor_models:
type: array
items:
$ref: '#/components/schemas/ProcessorModel'
description: A list of the processor models available for this server.
machine_types:
type: array
items:
$ref: '#/components/schemas/VmMachineType'
description: A list of the machine types available for this server.
advanced_features:
type: array
items:
$ref: '#/components/schemas/AdvancedFeature'
description: A list of the advanced features available for this server.
AvailableAdvancedServerFeaturesResponse:
required:
- available_advanced_server_features
type: object
properties:
available_advanced_server_features:
allOf:
- $ref: '#/components/schemas/AvailableAdvancedServerFeatures'
BackupDisk:
required:
- id
- min_disk_size
- size_gigabytes
type: object
properties:
id:
type: integer
description: The ID of this backup disk.
format: int64
size_gigabytes:
type: number
description: This is the compressed size of the disk image in GB.
format: double
min_disk_size:
type: integer
description: This is the minimum disk size in GB required to restore this disk image.
format: int32
description:
type: string
description: A description of this disk.
nullable: true
BackupInfo:
required:
- backup_disks
- iso
- locked
- offsite
- server_id
- type
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/BackupSlot'
server_id:
type: integer
description: The server ID that was used to create this backup.
format: int64
offsite:
type: boolean
description: 'If this is true, an attempt to create an offsite copy was made. This does not mean that the offsite copy attempt was successful or that the copy still exists.'
locked:
type: boolean
description: If this is true the backup is locked and cannot be replaced.
iso:
type: boolean
description: If this is true the backup is an ISO image and cannot be restored or downloaded. ISO images may only be attached for use as a boot disk or an additional disk.
backup_disks:
type: array
items:
$ref: '#/components/schemas/BackupDisk'
description: A list of the individual disks that make up this backup.
BackupReplacementStrategy:
enum:
- none
- specified
- oldest
- newest
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur. |\n| specified | Replace the specific backup id provided. |\n| oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type. |\n| newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type. |\n\n"
x-enum-descriptions:
- 'Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur.'
- Replace the specific backup id provided.
- 'Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type.'
- 'Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type.'
BackupSettings:
required:
- backup_day_of_month
- backup_day_of_week
- backup_hour_of_day
type: object
properties:
backup_hour_of_day:
type: integer
description: The hour of the day that backups will be scheduled. This is an approximate value.
format: int32
backup_day_of_week:
type: integer
description: If weekly backups are enabled the day of the week that the weekly backup will occur. Sunday is day 0.
format: int32
backup_day_of_month:
type: integer
description: If monthly backups are enabled the day of the month the monthly backup will occur.
format: int32
offsite_backup_settings:
allOf:
- $ref: '#/components/schemas/OffsiteBackupSettings'
description: If offsite backups are enabled this details how they are stored and managed.
nullable: true
BackupSlot:
enum:
- daily
- weekly
- monthly
- temporary
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| daily | A backup which is scheduled to be taken each day. |\n| weekly | A backup which is scheduled to be taken each week. |\n| monthly | A backup which is scheduled to be taken each month. |\n| temporary | A backup which is created on demand and only retained for a maximum of seven days. |\n\n"
x-enum-descriptions:
- A backup which is scheduled to be taken each day.
- A backup which is scheduled to be taken each week.
- A backup which is scheduled to be taken each month.
- A backup which is created on demand and only retained for a maximum of seven days.
BackupWindow:
required:
- end
- start
type: object
properties:
start:
type: string
description: The approximate earliest start date and time in ISO8601 format of the next scheduled backup.
format: date-time
end:
type: string
description: "The expected latest date and time in ISO8601 format of the next scheduled backup.\nThis is not a guarantee that the backup will have started or completed by this date and time."
format: date-time
BackupsResponse:
required:
- backups
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
backups:
type: array
items:
$ref: '#/components/schemas/Image'
Balance:
required:
- available_credit
- charges
- unbilled_total
type: object
properties:
unbilled_total:
type: number
description: The total of any un-billed charges in AU$.
format: double
available_credit:
type: number
description: Available credit in AU$.
format: double
charges:
type: array
items:
$ref: '#/components/schemas/ChargeInformation'
description: A list of all of the individual charges that contribute to the un-billed total.
generated_at:
type: string
description: The timestamp of the most recent charge.
format: date-time
nullable: true
BalanceResponse:
required:
- balance
type: object
properties:
balance:
allOf:
- $ref: '#/components/schemas/Balance'
ChangeAdvancedFeatures:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- change_advanced_features
type: string
enabled_advanced_features:
type: array
items:
$ref: '#/components/schemas/AdvancedFeature'
description: 'Do not provide or set to null to keep existing advanced features. Provide an empty array to disable all advanced features, otherwise provide an array with selected advanced features. If provided, any currently enabled advanced features that aren''t included will be disabled.'
nullable: true
processor_model:
type: integer
description: Do not provide or set to null to keep existing processor model.
format: int64
nullable: true
automatic_processor_model:
type: boolean
description: Set to true to use best available processor model. If this is provided the processor_model property must not be provided.
nullable: true
machine_type:
allOf:
- $ref: '#/components/schemas/VmMachineType'
description: "Do not provide or set to null to keep existing machine type.\n\n| Value | Description |\n| ----- | ----------- |\n| pc_i440fx_1point5 | PC i440FX 1.5 |\n| pc_i440fx_2point11 | PC i440FX 2.11 |\n| pc_i440fx_4point1 | PC i440FX 4.1 |\n| pc_i440fx_4point2 | PC i440FX 4.2 |\n| pc_i440fx_5point0 | PC i440FX 5.0 |\n| pc_i440fx_5point1 | PC i440FX 5.1 |\n| pc_i440fx_7point2 | PC i440FX 7.2 |\n| pc_i440fx_7point2point1 | PC i440FX 7.2.1 |\n| pc_i440fx_8point2 | PC i440FX 8.2 |\n\n"
nullable: true
automatic_machine_type:
type: boolean
description: Set to true to use best available machine type. If this is provided the machine_type property must not be provided.
nullable: true
video_device:
allOf:
- $ref: '#/components/schemas/VideoDevice'
description: "Do not provide or set to null to keep existing video device.\n\n| Value | Description |\n| ----- | ----------- |\n| cirrus-logic | Cirrus Logic GD5446 |\n| standard | Standard VGA with VESA 2.0 extensions |\n| virtio | Virtio VGA (800x600) |\n| virtio-wide | Virtio VGA (1600x900) |\n\n"
nullable: true
description: Change the Advanced Features of a Server
ChangeAdvancedFirewallRules:
required:
- firewall_rules
- type
type: object
properties:
type:
minLength: 1
enum:
- change_advanced_firewall_rules
type: string
firewall_rules:
type: array
items:
$ref: '#/components/schemas/AdvancedFirewallRuleRequest'
description: 'A list of rules for the server. NB: that any existing rules that are not included will be removed. Submit an empty list to clear all rules.'
description: Change the Advanced Firewall Rules for a Server
ChangeBackupSchedule:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- change_backup_schedule
type: string
backup_hour_of_day:
maximum: 23
minimum: 0
type: integer
description: Do not provide a value to keep the current setting.
format: int32
nullable: true
backup_day_of_week:
maximum: 6
minimum: 0
type: integer
description: 'Sunday is 0, Monday is 1 etc. Do not provide a value to keep the current setting.'
format: int32
nullable: true
backup_day_of_month:
maximum: 28
minimum: 1
type: integer
description: Do not provide a value to keep the current setting.
format: int32
nullable: true
description: Change the Backup Schedule of a Server
ChangeImage:
type: object
properties:
image:
oneOf:
- type: integer
- type: string
description: The slug or ID of the selected image. What type of image is permitted here varies based on the server action.
nullable: true
example: 5
options:
allOf:
- $ref: '#/components/schemas/ImageOptions'
description: Additional options for the server configuration after the image has been changed.
nullable: true
ChangeIpv6:
required:
- enabled
- type
type: object
properties:
type:
minLength: 1
enum:
- change_ipv6
type: string
enabled:
type: boolean
description: The desired enabled status of IPv6.
description: Enable or Disable IPv6 for a Server
ChangeIpv6ReverseNameservers:
required:
- ipv6_reverse_nameservers
- type
type: object
properties:
type:
minLength: 1
enum:
- change_ipv6_reverse_nameservers
type: string
ipv6_reverse_nameservers:
type: array
items:
type: string
description: A list of all IPv6 reverse name servers for this server. Any existing reverse name servers that are omitted from the list will be removed from the server.
description: Update the IPv6 Reverse Name Servers for a Server
ChangeKernel:
required:
- kernel
- type
type: object
properties:
type:
minLength: 1
enum:
- change_kernel
type: string
kernel:
type: integer
description: The ID of the kernel to use.
format: int64
description: Change the Kernel of a Server
ChangeLicenses:
required:
- licenses
type: object
properties:
licenses:
type: array
items:
$ref: '#/components/schemas/License'
description: The desired set of licenses.
ChangeManageOffsiteBackupCopies:
required:
- manage_offsite_backup_copies
- type
type: object
properties:
type:
minLength: 1
enum:
- change_manage_offsite_backup_copies
type: string
manage_offsite_backup_copies:
type: boolean
description: 'This only has effect if a custom offsite location is being used: the internal offsite backup location always manages copies. If this is true old offsite backups will be removed once the replacement upload is complete. If this is false backups must be removed from the Amazon S3 bucket manually. Amazon will charge your S3 account at their standard rate for every backup stored.'
description: Change the Management of Offsite Backup Copies
ChangeNetwork:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- change_network
type: string
vpc_id:
type: integer
description: If this is null the server will be moved into the public network for the server's region.
format: int64
nullable: true
description: Move a Server to an Existing Network
ChangeOffsiteBackupLocation:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- change_offsite_backup_location
type: string
offsite_backup_location:
type: string
description: 'Do not provide or set to null to use the internal offsite backup location, otherwise this must be a valid Amazon S3 bucket address. If this is provided Amazon will charge your S3 account at their standard rate for every backup stored.'
nullable: true
description: Change the Offsite Backup Location of a Server
ChangePartner:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- change_partner
type: string
partner_server_id:
type: integer
description: Leave this null to remove the server partnership. The partner server must be in the same region as the target server.
format: int64
nullable: true
description: 'Add, Update or Remove a Partner Server for a Server'
ChangePortBlocking:
required:
- enabled
- type
type: object
properties:
type:
minLength: 1
enum:
- change_port_blocking
type: string
enabled:
type: boolean
description: The desired enabled status for port blocking.
description: Change the Port Blocking for a Server
ChangeRegion:
required:
- region
- type
type: object
properties:
type:
minLength: 1
enum:
- change_region
type: string
region:
minLength: 1
type: string
description: The slug of the selected region.
description: Change the Region of a Server
ChangeReverseName:
required:
- ipv4_address
- type
type: object
properties:
type:
minLength: 1
enum:
- change_reverse_name
type: string
ipv4_address:
minLength: 1
type: string
description: The IPv4 address to set or clear the reverse name for.
reverse_name:
type: string
description: Leave this null to clear the custom reverse name.
nullable: true
description: Change the Reverse Name for an IPv4 Address on a Server
ChangeSeparatePrivateNetworkInterface:
required:
- enabled
- type
type: object
properties:
type:
minLength: 1
enum:
- change_separate_private_network_interface
type: string
enabled:
type: boolean
description: The desired enabled status of the separate second network interface.
description: Enable or Disable a Separate Private Network Interface for a Server in a VPC
ChangeSizeOptionsRequest:
type: object
properties:
daily_backups:
maximum: 14
minimum: 0
type: integer
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
format: int32
nullable: true
weekly_backups:
maximum: 13
minimum: 0
type: integer
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
format: int32
nullable: true
monthly_backups:
maximum: 12
minimum: 0
type: integer
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
format: int32
nullable: true
offsite_backups:
type: boolean
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
nullable: true
ipv4_addresses:
maximum: 2147483647
minimum: 0
type: integer
description: 'The total count of IPv4 addresses for this server. If specified this is the absolute value, not just the additional IPv4 addresses above what is included in the size. Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server. Must not exceed the size.ipv4_addresses_max value.'
format: int32
nullable: true
memory:
type: integer
description: "The total memory in MB for this server.\nIf specified this is the absolute value, not just the additional memory above what is included in the size.\nLeave null to accept the default for the size if this is a new server or a resize to a different base size, or to keep the current value if this a resize with the same base size but different options.\n \nValid values:\n- must be a multiple of 128\n- &gt; 2048MB must be a multiple of 1024\n- &gt; 16384MB must be a multiple of 2048\n- &gt; 24576MB must be a multiple of 4096"
format: int32
nullable: true
disk:
type: integer
description: "The total storage in GB for this server.\nIf specified this is the absolute value, not just the additional storage above what is included in the size.\nLeave null to accept the default for the size if this is a new server or a resize to a different base size, or to keep the current value if this a resize with the same base size but different options.\n \nValid values for sizes that do not provide a value for options.restricted_storage_values_gb:\n- must be a multiple of 5\n- &gt; 60GB must be a multiple of 10\n- &gt; 200GB must be a multiple of 100"
format: int32
nullable: true
transfer:
type: number
description: "The total transfer per month in TB for this server.\nIf specified this is the absolute value, not just the additional transfer above what is included in the size.\nLeave null to accept the default for the size if this is a new server or a resize to a different base size, or to keep the current value if this a resize with the same base size but different options.\n \nValid values (when converted to GB by multiplying the value provided by 1000):\n- must be a multiple of 5GB\n- &gt; 30GB must be a multiple of 10\n- &gt; 200GB must be a multiple of 100\n- &gt; 2000GB must be a multiple of 1000"
format: double
nullable: true
ipv4_addresses_to_remove:
type: array
items:
type: string
description: If you are reducing the number of IPv4 addresses you must specify which addresses to remove. If you specify more IPv4 addresses to remove than the number of IPv4 addresses being removed the extra IPv4 addresses will be re-provisioned with new addresses.
nullable: true
ChangeSourceAndDestinationCheck:
required:
- enabled
- type
type: object
properties:
type:
minLength: 1
enum:
- change_source_and_destination_check
type: string
enabled:
type: boolean
description: The desired enabled status of the source and destination checks for network packets.
description: Enable or Disable Network Source and Destination Checks for a Server in a VPC
ChangeThresholdAlerts:
required:
- threshold_alerts
- type
type: object
properties:
type:
minLength: 1
enum:
- change_threshold_alerts
type: string
threshold_alerts:
type: array
items:
$ref: '#/components/schemas/ThresholdAlertRequest'
description: Any alert type not listed will not be updated.
description: Set or Update the Threshold Alerts for a Server
ChangeVpcIpv4:
required:
- current_ipv4_address
- new_ipv4_address
- type
type: object
properties:
type:
minLength: 1
enum:
- change_vpc_ipv4
type: string
current_ipv4_address:
minLength: 1
type: string
description: The existing Ipv4 address for the private VPC network adapter you wish to change.
new_ipv4_address:
minLength: 1
type: string
description: The new Ipv4 address for the private VPC network adapter.
description: Change the IPv4 Address for a Server in a VPC
ChargeInformation:
required:
- created
- description
- ongoing
- total
type: object
properties:
created:
type: string
description: The time when the charge was created.
format: date-time
description:
type: string
description: A summary of the charge.
total:
type: number
description: The cost in AU$.
format: double
ongoing:
type: boolean
description: If this is true the charge is for an ongoing service. If this is false the charge is complete and awaiting invoicing.
CloneUsingBackup:
required:
- image_id
- target_server_id
- type
type: object
properties:
type:
minLength: 1
enum:
- clone_using_backup
type: string
image_id:
type: integer
description: The ID of the image to clone. Only backup type images are currently supported. This must be a backup of the server ID in the action endpoint URL.
format: int64
target_server_id:
type: integer
description: The target server ID. This server's current disks will be wiped and replaced with the selected backup image.
format: int64
name:
type: string
description: The new hostname for the target server. If this is not supplied the target server's existing hostname will be used.
nullable: true
description: Restore a Backup of a Server to a Different Existing Server
Console:
required:
- browser
- expiry
- height
- iframe
- width
type: object
properties:
iframe:
type: string
description: The URL for the embedded version of the console.
browser:
type: string
description: The URL for the full screen and full featured version of the console.
width:
type: integer
description: Rescue console native width.
format: int32
height:
type: integer
description: Rescue console native height.
format: int32
expiry:
type: string
description: The expiry time of the provided URLs.
format: date-time
ConsoleResponse:
required:
- console
type: object
properties:
console:
allOf:
- $ref: '#/components/schemas/Console'
CreateLoadBalancerRequest:
required:
- name
type: object
properties:
name:
minLength: 1
type: string
description: The hostname of the load balancer.
forwarding_rules:
type: array
items:
$ref: '#/components/schemas/ForwardingRuleRequest'
description: The rules that control which traffic the load balancer will forward to servers in the pool. Leave null to accept a default "HTTP" only forwarding rule.
nullable: true
health_check:
allOf:
- $ref: '#/components/schemas/HealthCheckRequest'
description: The rules that determine which servers are considered 'healthy' and in the server pool for the load balancer. Leave this null to accept appropriate defaults based on the forwarding_rules.
nullable: true
server_ids:
type: array
items:
type: integer
format: int64
description: A list of server IDs to assign to this load balancer.
nullable: true
region:
type: string
description: Leave null to create an anycast load balancer.
nullable: true
CreateLoadBalancerResponse:
required:
- links
- load_balancer
type: object
properties:
load_balancer:
allOf:
- $ref: '#/components/schemas/LoadBalancer'
links:
allOf:
- $ref: '#/components/schemas/ActionsLinks'
CreateServerRequest:
required:
- image
- region
- size
type: object
properties:
name:
type: string
description: 'The hostname of your server, such as vps01.yourcompany.com. If not provided, the server will be created with a random name.'
nullable: true
backups:
type: boolean
description: If true this will enable two daily backups for the server. Options.daily_backups will override this value if provided. Setting this to false has no effect.
nullable: true
ipv6:
type: boolean
description: If true this will enable IPv6 for this server.
nullable: true
size:
minLength: 1
type: string
description: The slug of the selected size.
image:
oneOf:
- type: integer
- type: string
description: The slug or id of the selected operating system.
example: 5
region:
minLength: 1
type: string
description: The slug of the selected region.
vpc_id:
type: integer
description: Leave null to use default (public) network for the selected region.
format: int64
nullable: true
vpc_ipv4_address:
type: string
description: If provided this will be the Ipv4 address for the server's private VPC network adapter. If this is null an unused Ipv4 address will be assigned. This field is only valid when VpcId is provided.
nullable: true
ssh_keys:
type: array
items:
oneOf:
- type: integer
- type: string
example: 5
description: This may be either the SSH keys Ids or fingerprints. If this is null or not provided any SSH keys that have been marked as default will be deployed (if the operating system supports SSH keys). Submit an empty array to disable deployment of default keys.
nullable: true
options:
allOf:
- $ref: '#/components/schemas/SizeOptionsRequest'
description: This may be left null to accept all of the defaults for the selected size.
nullable: true
licenses:
type: array
items:
$ref: '#/components/schemas/License'
description: The desired set of licenses.
nullable: true
user_data:
maxLength: 65536
type: string
description: 'If provided this will be used to initialise the new server. This must be left null if the Image does not support UserData, see DistributionInfo.Features for more information.'
nullable: true
port_blocking:
type: boolean
description: 'Port blocking of outgoing connections for email, SSH and Remote Desktop (TCP ports 22, 25, and 3389) is enabled by default for all new servers. If this is false port blocking will be disabled. Disabling port blocking is only available to verified accounts.'
nullable: true
separate_private_network_interface:
type: boolean
description: If true this will enable a separate private network interface for the server. This is only available for servers in a VPC.
nullable: true
password:
type: string
description: If this is provided the default remote user account's password will be set to this value. If this is null a random password will be generated and emailed to the account email address.
nullable: true
CreateServerResponse:
required:
- links
- server
type: object
properties:
server:
allOf:
- $ref: '#/components/schemas/Server'
links:
allOf:
- $ref: '#/components/schemas/ActionsLinks'
CreateVpcRequest:
required:
- name
type: object
properties:
name:
maxLength: 250
minLength: 0
type: string
description: A name to help identify this VPC.
route_entries:
type: array
items:
$ref: '#/components/schemas/RouteEntryRequest'
description: The route entries that control how network traffic is directed through the VPC environment.
nullable: true
ip_range:
type: string
description: 'A private address range that you select during creation, such as the default value of 10.240.0.0/16. Because the virtual network is dedicated to your use, you may use whatever IP address range you like.'
nullable: true
CurrentServerAlertsResponse:
required:
- server_ids
type: object
properties:
server_ids:
type: array
items:
type: integer
format: int64
DataInterval:
enum:
- five-minute
- half-hour
- four-hour
- day
- week
- month
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| five-minute | 5 Minutes |\n| half-hour | 30 Minutes |\n| four-hour | 4 Hours |\n| day | 1 Day |\n| week | 7 Days |\n| month | 1 Month |\n\n"
x-enum-descriptions:
- 5 Minutes
- 30 Minutes
- 4 Hours
- 1 Day
- 7 Days
- 1 Month
DataUsage:
required:
- current_transfer_usage_gigabytes
- expires
- server_id
- transfer_gigabytes
- transfer_period_end
type: object
properties:
server_id:
type: integer
description: The ID of the server that this data transfer usage refers to.
format: int64
expires:
type: string
description: The date and time in ISO8601 format that the current billing period expires.
format: date-time
transfer_gigabytes:
type: integer
description: The included data transfer for this server in this period in GB.
format: int64
current_transfer_usage_gigabytes:
type: number
description: "The used data transfer for this server in this period in GB.\nIf you have more than one server, please see our data pooling policy: this value may include excess data transfer used by other servers or may have 'offloaded' excess data transfer to other servers with spare capacity."
format: double
transfer_period_end:
type: string
description: The date and time in ISO8601 format that the data transfer limit period ended (if it is completed) or when it will end (if this is the current period).
format: date-time
DataUsageResponse:
required:
- data_usage
type: object
properties:
data_usage:
allOf:
- $ref: '#/components/schemas/DataUsage'
DataUsagesResponse:
required:
- data_usages
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
data_usages:
type: array
items:
$ref: '#/components/schemas/DataUsage'
DeleteDisk:
required:
- disk_id
- type
type: object
properties:
type:
minLength: 1
enum:
- delete_disk
type: string
disk_id:
type: integer
description: The ID of the existing disk. See server.disks for a list of IDs.
format: int64
description: Delete an Additional Disk for a Server
DetachBackup:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- detach_backup
type: string
description: Detach Any Attached Backup from a Server
DisableBackups:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- disable_backups
type: string
description: Disable Backups for an Existing Server
DisableSelinux:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- disable_selinux
type: string
description: Disable SE Linux for a Server
Disk:
required:
- id
- primary
- size_gigabytes
type: object
properties:
id:
type: integer
description: The ID of this disk.
format: int64
size_gigabytes:
type: number
description: The size of the disk in GB.
format: double
description:
type: string
description: A description of this disk.
nullable: true
primary:
type: boolean
description: A primary disk is treated differently from other disks.
DistributionFeature:
enum:
- ssh
- remote-desktop
- user-data
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| ssh | Initial install supports SSH connections and SSH keys. |\n| remote-desktop | Initial install supports Remote Desktop (RDP) connections. |\n| user-data | Initial install supports cloud-init user-data. |\n\n"
x-enum-descriptions:
- Initial install supports SSH connections and SSH keys.
- Initial install supports Remote Desktop (RDP) connections.
- Initial install supports cloud-init user-data.
DistributionInfo:
required:
- features
- image_id
- password_recovery
type: object
properties:
image_id:
type: integer
description: 'If this is a backup image, the operating system ID of the server at the time the backup was created.'
format: int64
password_recovery:
allOf:
- $ref: '#/components/schemas/PasswordRecoveryType'
description: "Supported methods of password recovery.\n\n| Value | Description |\n| ----- | ----------- |\n| manual | Password must be reset manually using the recovery console and rescue disk. |\n| offline-clear | Password can be cleared for the admin/root user only. New password needs to be provided on login via the console (Requires restart). |\n| offline-change | Password can be reset and new credentials sent (Requires restart). |\n| online-change | Password may be reset without requiring a reboot via installed QEMU Guest Agent. |\n\n"
remote_access_user:
type: string
description: User name to use when connecting via remote access (RDP or SSH).
nullable: true
features:
type: array
items:
$ref: '#/components/schemas/DistributionFeature'
description: Features supported by this distribution.
DistributionSurcharges:
type: object
properties:
surcharge_base_cost:
type: number
description: The additional cost for using this operating system as the base image for a size.
format: double
nullable: true
surcharge_per_memory_megabyte:
type: number
description: The additional cost per MB for using this operating system as the base image for a size.
format: double
nullable: true
surcharge_per_memory_max_megabytes:
type: integer
description: The maximum memory in MB that counts towards the surcharge_per_memory_mb. Any memory above this cap does not attract the surcharge.
format: int32
nullable: true
surcharge_per_vcpu:
type: number
description: The additional cost per vcpu for using this operating system as the base image for a size.
format: double
nullable: true
surcharge_min_vcpu:
type: integer
description: The minimum vcpu count for surcharge calculations.
format: int32
nullable: true
Domain:
required:
- current_nameservers
- id
- name
- zone_file
type: object
properties:
id:
type: integer
description: The ID of this domain.
format: int64
name:
type: string
description: The name of the domain.
current_nameservers:
type: array
items:
type: string
description: The current authoritative name servers for this domain.
ttl:
type: integer
description: The time to live for records in this domain in seconds. If the DNS records for this domain are not managed locally this will be what the TTL would be if the authority was delegated to us.
format: int32
nullable: true
zone_file:
type: string
description: The zone file for the selected domain. If the DNS records for this domain are not managed locally this is what the zone file would be if the authority was delegated to us. The serial is will always be 0 rather than the correct value.
DomainRecord:
required:
- id
- name
- ttl
- type
type: object
properties:
id:
type: integer
description: The ID of this domain record.
format: int64
x-cli-format: 1
type:
allOf:
- $ref: '#/components/schemas/DomainRecordType'
description: "A general data field that has different functions depending on the record type.\n\n| Value | Description |\n| ----- | ----------- |\n| A | Map an IPv4 address to a hostname. |\n| AAAA | Map an IPv6 address to a hostname. |\n| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. |\n| CNAME | Define an alias for your canonical hostname. |\n| MX | Define the mail exchanges that handle mail for the domain. |\n| NS | Define the nameservers that manage the domain. |\n| SOA | The Start of Authority record for the zone. |\n| SRV | Specify a server by hostname and port to handle a service or services. |\n| TXT | Define a string of text that is associated with a hostname. |\n\n"
x-cli-format: 3
name:
type: string
description: 'The subdomain, alias, or service defined by the record.'
x-cli-format: 2
data:
type: string
description: Variable data depending on record type.
nullable: true
x-cli-format: 4
priority:
type: integer
description: A priority value that is only relevant for SRV and MX records.
format: int32
nullable: true
port:
type: integer
description: A port value that is only relevant for SRV records.
format: int32
nullable: true
ttl:
type: integer
description: This value is the time to live for the record in seconds.
format: int32
weight:
type: integer
description: The weight value that is only relevant for SRV records.
format: int32
nullable: true
flags:
type: integer
description: An unsigned integer between 0-255 that is only relevant for CAA records.
format: int32
nullable: true
tag:
type: string
description: A parameter tag that is only relevant for CAA records.
nullable: true
DomainRecordRequest:
required:
- data
- name
- type
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/DomainRecordType'
description: "The type of the DNS record.\n\n| Value | Description |\n| ----- | ----------- |\n| A | Map an IPv4 address to a hostname. |\n| AAAA | Map an IPv6 address to a hostname. |\n| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. |\n| CNAME | Define an alias for your canonical hostname. |\n| MX | Define the mail exchanges that handle mail for the domain. |\n| NS | Define the nameservers that manage the domain. |\n| SOA | The Start of Authority record for the zone. |\n| SRV | Specify a server by hostname and port to handle a service or services. |\n| TXT | Define a string of text that is associated with a hostname. |\n\n"
name:
minLength: 1
type: string
description: 'The subdomain for this record. Use @ for records on the domain itself, and * to create a wildcard record.'
data:
minLength: 1
type: string
description: A general data field that has different functions depending on the record type.
priority:
maximum: 65535
minimum: 0
type: integer
description: A priority value that is only relevant for SRV and MX records.
format: int32
nullable: true
port:
maximum: 65535
minimum: 0
type: integer
description: A port value that is only relevant for SRV records.
format: int32
nullable: true
ttl:
type: integer
description: 'This value is the time to live for the record, in seconds. The default and only supported value is 3600. Leave null to accept this default.'
format: int32
nullable: true
weight:
maximum: 65535
minimum: 0
type: integer
description: The weight value that is only relevant for SRV records.
format: int32
nullable: true
flags:
maximum: 255
minimum: 0
type: integer
description: An unsigned integer between 0-255 that is only relevant for CAA records.
format: int32
nullable: true
tag:
maxLength: 15
minLength: 1
pattern: '[a-z0-9]+'
type: string
description: A parameter tag that is only relevant for CAA records.
nullable: true
DomainRecordResponse:
required:
- domain_record
type: object
properties:
domain_record:
allOf:
- $ref: '#/components/schemas/DomainRecord'
DomainRecordType:
enum:
- A
- AAAA
- CAA
- CNAME
- MX
- NS
- SOA
- SRV
- TXT
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| A | Map an IPv4 address to a hostname. |\n| AAAA | Map an IPv6 address to a hostname. |\n| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. |\n| CNAME | Define an alias for your canonical hostname. |\n| MX | Define the mail exchanges that handle mail for the domain. |\n| NS | Define the nameservers that manage the domain. |\n| SOA | The Start of Authority record for the zone. |\n| SRV | Specify a server by hostname and port to handle a service or services. |\n| TXT | Define a string of text that is associated with a hostname. |\n\n"
x-enum-descriptions:
- Map an IPv4 address to a hostname.
- Map an IPv6 address to a hostname.
- Restrict which certificate authorities are permitted to issue certificates for a domain.
- Define an alias for your canonical hostname.
- Define the mail exchanges that handle mail for the domain.
- Define the nameservers that manage the domain.
- The Start of Authority record for the zone.
- Specify a server by hostname and port to handle a service or services.
- Define a string of text that is associated with a hostname.
DomainRecordsResponse:
required:
- domain_records
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
domain_records:
type: array
items:
$ref: '#/components/schemas/DomainRecord'
DomainRefreshRequest:
required:
- domain_names
type: object
properties:
domain_names:
type: array
items:
type: string
description: The domain names to refresh.
DomainRequest:
required:
- name
type: object
properties:
name:
minLength: 1
type: string
description: The domain name to add to the DNS management system.
ip_address:
type: string
description: An optional IPv4 address that will be used to create an A record for the root domain.
nullable: true
DomainResponse:
required:
- domain
type: object
properties:
domain:
allOf:
- $ref: '#/components/schemas/Domain'
DomainsResponse:
required:
- domains
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
domains:
type: array
items:
$ref: '#/components/schemas/Domain'
EnableBackups:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- enable_backups
type: string
description: Enable Two Daily Backups for an Existing Server
EnableIpv6:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- enable_ipv6
type: string
description: Enable IPv6 for a Server
ForwardingRule:
required:
- entry_protocol
type: object
properties:
entry_protocol:
allOf:
- $ref: '#/components/schemas/LoadBalancerRuleProtocol'
description: "The protocol that traffic must match for this load balancer to forward traffic according to this rule.\n\n| Value | Description |\n| ----- | ----------- |\n| http | The load balancer will forward HTTP traffic that matches this rule. |\n| https | The load balancer will forward HTTPS traffic that matches this rule. |\n\n"
ForwardingRuleRequest:
required:
- entry_protocol
type: object
properties:
entry_protocol:
allOf:
- $ref: '#/components/schemas/LoadBalancerRuleProtocol'
description: "The protocol that traffic must match for this load balancer to forward traffic according to this rule.\n\n| Value | Description |\n| ----- | ----------- |\n| http | The load balancer will forward HTTP traffic that matches this rule. |\n| https | The load balancer will forward HTTPS traffic that matches this rule. |\n\n"
ForwardingRulesRequest:
required:
- forwarding_rules
type: object
properties:
forwarding_rules:
type: array
items:
$ref: '#/components/schemas/ForwardingRuleRequest'
description: The rules that control which traffic the load balancer will forward to servers in the pool.
HealthCheck:
required:
- path
- protocol
type: object
properties:
protocol:
allOf:
- $ref: '#/components/schemas/HealthCheckProtocol'
description: "The protocol used for the health check.\n\n| Value | Description |\n| ----- | ----------- |\n| http | The health check will be performed via HTTP. |\n| https | The health check will be performed via HTTPS. |\n| both | The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will remove the server from the pool of servers only for that protocol. |\n\n"
path:
type: string
description: The path to the health check endpoint.
HealthCheckProtocol:
enum:
- http
- https
- both
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| http | The health check will be performed via HTTP. |\n| https | The health check will be performed via HTTPS. |\n| both | The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will remove the server from the pool of servers only for that protocol. |\n\n"
x-enum-descriptions:
- The health check will be performed via HTTP.
- The health check will be performed via HTTPS.
- The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will remove the server from the pool of servers only for that protocol.
HealthCheckRequest:
type: object
properties:
protocol:
allOf:
- $ref: '#/components/schemas/HealthCheckProtocol'
description: "Leave null to accept the default HTTP protocol.\n\n| Value | Description |\n| ----- | ----------- |\n| http | The health check will be performed via HTTP. |\n| https | The health check will be performed via HTTPS. |\n| both | The health check will be performed via both HTTP and HTTPS. Failing a health check on one protocol will remove the server from the pool of servers only for that protocol. |\n\n"
nullable: true
path:
minLength: 1
pattern: '/[A-Za-z0-9/.?=&+%_-]*'
type: string
description: Leave null to accept the default '/' path.
nullable: true
Host:
required:
- display_name
type: object
properties:
display_name:
type: string
description: The name for this host. If this is a dedicated host this property will be empty.
uptime_ms:
type: integer
description: The current uptime in milliseconds of this host.
format: int64
nullable: true
status_page:
type: string
description: This is the URL of the status page of the host. This will normally only be set if the host is under maintenance.
nullable: true
Image:
required:
- distribution_info
- id
- min_disk_size
- name
- public
- regions
- size_gigabytes
- status
- type
type: object
properties:
id:
type: integer
description: The ID of this image.
format: int64
x-cli-format: 1
name:
type: string
description: 'If this is an operating system image, this is the name of the operating system version. If this is a backup image, this is the label of the backup if it exists, otherwise it is the UTC timestamp of the creation of the image.'
x-cli-format: 4
type:
allOf:
- $ref: '#/components/schemas/ImageType'
distribution:
type: string
description: 'If this is an operating system image, this is the name of the distribution. If this is a backup image, this is the name of the distribution the server is using.'
nullable: true
x-cli-format: 3
full_name:
type: string
description: 'If this is an operating system image, this is the name and version of the distribution. If this is a backup image, this is the server hostname and label of the backup if it exists, otherwise it is the server hostname and UTC timestamp of the creation of the image.'
nullable: true
slug:
type: string
description: If this is an operating system image this is a slug which may be used as an alternative to the ID as a reference.
nullable: true
x-cli-format: 2
public:
type: boolean
description: A public image is available to all users. A private image is available only to the account that created the image.
regions:
type: array
items:
type: string
description: The slugs of the regions where the image is available for use.
created_at:
type: string
description: If this is a backup image this is the date and time in ISO8601 format when the image was created.
format: date-time
nullable: true
min_disk_size:
type: integer
description: For a distribution image this is the minimum disk size in GB required to install the operating system. For a backup image this is the minimum total disk size in GB required to restore the backup.
format: int32
size_gigabytes:
type: number
description: For a distribution image this is the disk size used in GB by the operating system on initial install. For a backup image this is the size of the compressed backup image in GB.
format: double
description:
type: string
description: A description that may provide further details or warnings about the image.
nullable: true
status:
allOf:
- $ref: '#/components/schemas/ImageStatus'
error_message:
type: string
description: If the image creation failed this may provide further information.
nullable: true
min_memory_megabytes:
type: integer
description: This is minimum memory in MB necessary to support this operating system (or the base operating system for a backup image).
format: int32
nullable: true
distribution_surcharges:
allOf:
- $ref: '#/components/schemas/DistributionSurcharges'
description: If this is not null the use of this image may incur surcharges above the base cost of the server. All costs are in AU$.
nullable: true
distribution_info:
allOf:
- $ref: '#/components/schemas/DistributionInfo'
description: This object may provide further information about the distribution.
backup_info:
allOf:
- $ref: '#/components/schemas/BackupInfo'
description: 'If this image is a backup, this object will provide further information.'
nullable: true
ImageDiskDownload:
required:
- compressed_url
- id
- raw_url
type: object
properties:
id:
type: integer
description: The ID of this backup disk.
format: int64
compressed_url:
type: string
description: The URL of the compressed disk image. It is always preferable to download the compressed disk image if at all possible.
raw_url:
type: string
description: The URL of the raw (uncompressed) disk image.
ImageDownload:
required:
- disks
- expiry
- id
type: object
properties:
id:
type: integer
description: The ID of the image this download object refers to.
format: int64
expiry:
type: string
description: The date and time in ISO8601 format that this download URL will expire.
format: date-time
disks:
type: array
items:
$ref: '#/components/schemas/ImageDiskDownload'
description: A list of objects containing the download URLs for each disk in the image.
ImageDownloadResponse:
required:
- link
type: object
properties:
link:
allOf:
- $ref: '#/components/schemas/ImageDownload'
ImageOptions:
type: object
properties:
name:
type: string
description: The hostname for the server. Leave null to accept the auto-generated permalink.
nullable: true
ssh_keys:
type: array
items:
oneOf:
- type: integer
- type: string
example: 5
description: "This may be either the existing SSH Keys IDs or fingerprints.\nIf this is null or not provided any SSH keys that have been marked as default will be deployed (if the operating system supports SSH Keys).\nSubmit an empty array to disable deployment of default keys."
nullable: true
user_data:
maxLength: 65536
type: string
description: 'If provided this will be used to initialise the new server. This must be left null if the Image does not support UserData, see DistributionInfo.Features for more information.'
nullable: true
password:
type: string
description: If this is provided the default remote user account's password will be set to this value. If this is null a random password will be generated and emailed to the account email address.
nullable: true
ImageQueryType:
enum:
- distribution
- backup
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| distribution | Base operating system images. |\n| backup | A backup image of a server. |\n\n"
x-enum-descriptions:
- Base operating system images.
- A backup image of a server.
ImageRequest:
type: object
properties:
name:
maxLength: 250
minLength: 0
type: string
description: 'Optional: a new display name for this image. Do not provide to leave the display name unchanged, submit an empty string to clear the display name.'
nullable: true
locked:
type: boolean
description: 'Optional: you may choose to lock an individual backup in which case we will not update that backup until you unlock it. Do not provide to leave the locked status unchanged. You may not lock or unlock a temporary backup or a backup that is attached to a server.'
nullable: true
ImageResponse:
required:
- image
type: object
properties:
image:
allOf:
- $ref: '#/components/schemas/Image'
ImageStatus:
enum:
- NEW
- available
- pending
- deleted
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| NEW | The image is new. |\n| available | The image is available for use. |\n| pending | The image is pending and is not yet available for use. |\n| deleted | The image has been deleted and is no longer available for use. |\n\n"
x-enum-descriptions:
- The image is new.
- The image is available for use.
- The image is pending and is not yet available for use.
- The image has been deleted and is no longer available for use.
ImageType:
enum:
- custom
- snapshot
- backup
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| custom | An image uploaded by a user. |\n| snapshot | A snapshot. Snapshot creation is not currently supported so only distribution images will have this value. |\n| backup | A backup of a server. |\n\n"
x-enum-descriptions:
- An image uploaded by a user.
- A snapshot. Snapshot creation is not currently supported so only distribution images will have this value.
- A backup of a server.
ImagesResponse:
required:
- images
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
images:
type: array
items:
$ref: '#/components/schemas/Image'
Invoice:
required:
- amount
- created
- date_due
- date_overdue
- invoice_id
- invoice_items
- invoice_number
- paid
- refunded
- tax
- tax_code
type: object
properties:
invoice_id:
type: integer
description: The ID of the invoice.
format: int64
reference:
type: string
description: 'The reference for this invoice. If this invoice is for a single service this may identify the service, otherwise it will be the account reference.'
nullable: true
invoice_number:
type: string
description: The invoice number for this invoice.
amount:
type: number
description: The amount of the invoice in AU$.
format: double
tax_code:
allOf:
- $ref: '#/components/schemas/TaxCode'
description: The tax code that was applied to transactions on this invoice.
tax:
type: number
description: The amount of tax (if any) that was charged on the transactions on this invoice.
format: double
created:
type: string
description: The date in ISO8601 format this invoice was created.
format: date-time
date_due:
type: string
description: The date in ISO8601 format this invoice is due for payment.
format: date-time
date_overdue:
type: string
description: The date in ISO8601 format this invoice is considered overdue.
format: date-time
paid:
type: boolean
description: If this is true the invoice has been paid.
refunded:
type: boolean
description: If this is true the payment for this invoice has been refunded.
payment_failure_count:
type: integer
description: If this is included it indicates the number of failed attempts at processing payment for this invoice that have occurred.
format: int32
nullable: true
invoice_items:
type: array
items:
$ref: '#/components/schemas/InvoiceLineItem'
description: The individual items that make up invoice.
invoice_download_url:
type: string
description: The download URL for the PDF version of the invoice. This URL expires 24 hours after it is generated.
nullable: true
invoice_view_url:
type: string
description: The URL for the HTML rendered version of the invoice. This URL expires 24 hours after it is generated.
nullable: true
InvoiceLineItem:
required:
- amount
- amount_includes_tax
- name
type: object
properties:
name:
type: string
description: A description of the item.
amount:
type: number
description: The charge in AU$ for this item. A negative value indicates a discount or credit.
format: double
amount_includes_tax:
type: boolean
description: "If this is true the line item amount includes (if applicable) whatever tax was applied (see invoice.tax_code for details) and the total of the line items on this invoice will match the invoice.amount.\nIf this is false the line item amount does not include any applicable tax and the total of the line items on this invoice will be the invoice.amount less invoice.tax."
InvoiceResponse:
required:
- invoice
type: object
properties:
invoice:
allOf:
- $ref: '#/components/schemas/Invoice'
InvoicesResponse:
required:
- invoices
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
invoices:
type: array
items:
$ref: '#/components/schemas/Invoice'
IsRunning:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- is_running
type: string
description: Check if a Server is Running
Kernel:
required:
- id
type: object
properties:
id:
type: integer
description: The ID of this kernel.
format: int64
x-cli-format: 1
name:
type: string
description: This name of this kernel.
nullable: true
x-cli-format: 2
version:
type: string
description: The version (if any) of this kernel.
nullable: true
x-cli-format: 3
KernelsResponse:
required:
- kernels
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
kernels:
type: array
items:
$ref: '#/components/schemas/Kernel'
License:
required:
- count
- software_id
type: object
properties:
software_id:
type: integer
description: The ID of the software to license.
format: int64
count:
type: integer
description: The number of licences.
format: int32
LicensedSoftware:
required:
- incompatible
- licence_count
- software
type: object
properties:
software:
allOf:
- $ref: '#/components/schemas/Software'
description: The currently licensed software.
licence_count:
type: integer
description: The current licence count for the software.
format: int32
incompatible:
type: boolean
description: "Software that is incompatible with the server will be automatically removed at the next plan change.\nServers may have incompatible software due to changes made by support. Software is not incompatible merely because it is disabled;\ndisabled software may be retained by servers that already have it, incompatible software will be removed."
LicensedSoftwaresResponse:
required:
- licensed_software
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
licensed_software:
type: array
items:
$ref: '#/components/schemas/LicensedSoftware'
Links:
required:
- pages
type: object
properties:
pages:
allOf:
- $ref: '#/components/schemas/Pages'
description: 'Provides links to first, last, next and previous pages if more than a single page of results exists.'
LoadBalancer:
required:
- created_at
- forwarding_rules
- health_check
- id
- ip
- name
- server_ids
- status
type: object
properties:
id:
type: integer
description: The ID of the load balancer.
format: int64
x-cli-format: 1
name:
type: string
description: The hostname of the load balancer.
x-cli-format: 2
ip:
type: string
description: The IPv4 address of the load balancer.
x-cli-format: 4
status:
allOf:
- $ref: '#/components/schemas/LoadBalancerStatus'
description: "The current status of the load balancer.\n\n| Value | Description |\n| ----- | ----------- |\n| new | The load balancer is currently being built and is not ready to accept connections. |\n| active | The load balancer is available. |\n| errored | The load balancer is in an errored state. |\n\n"
created_at:
type: string
description: The date and time in ISO8601 format of the creation of the load balancer.
format: date-time
forwarding_rules:
type: array
items:
$ref: '#/components/schemas/ForwardingRule'
description: The rules that control which traffic the load balancer will forward to servers in the pool.
health_check:
allOf:
- $ref: '#/components/schemas/HealthCheck'
description: The rules that determine which servers are considered 'healthy' and in the server pool for the load balancer.
region:
allOf:
- $ref: '#/components/schemas/Region'
description: The region the load balancer is located in. If this value is null the load balancer is an 'AnyCast' load balancer.
nullable: true
x-cli-format: 3
server_ids:
type: array
items:
type: integer
format: int64
description: The server IDs of the servers that are currently in the load balancer pool (regardless of their current 'health').
x-cli-entity-ref: name
LoadBalancerAvailabilityOption:
required:
- anycast
- price_hourly
- price_monthly
type: object
properties:
regions:
type: array
items:
type: string
description: The slugs of regions where this load balancer option is available. If this is an Anycast load balancer option this will be null.
nullable: true
anycast:
type: boolean
description: If true this is an Anycast load balancer option.
price_monthly:
type: number
description: Monthly Price in AU$.
format: double
price_hourly:
type: number
description: Hourly price in AU$.
format: double
LoadBalancerAvailabilityResponse:
required:
- load_balancer_availability_options
type: object
properties:
load_balancer_availability_options:
type: array
items:
$ref: '#/components/schemas/LoadBalancerAvailabilityOption'
LoadBalancerResponse:
required:
- load_balancer
type: object
properties:
load_balancer:
allOf:
- $ref: '#/components/schemas/LoadBalancer'
LoadBalancerRuleProtocol:
enum:
- http
- https
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| http | The load balancer will forward HTTP traffic that matches this rule. |\n| https | The load balancer will forward HTTPS traffic that matches this rule. |\n\n"
x-enum-descriptions:
- The load balancer will forward HTTP traffic that matches this rule.
- The load balancer will forward HTTPS traffic that matches this rule.
LoadBalancerStatus:
enum:
- new
- active
- errored
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| new | The load balancer is currently being built and is not ready to accept connections. |\n| active | The load balancer is available. |\n| errored | The load balancer is in an errored state. |\n\n"
x-enum-descriptions:
- The load balancer is currently being built and is not ready to accept connections.
- The load balancer is available.
- The load balancer is in an errored state.
LoadBalancersResponse:
required:
- load_balancers
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
load_balancers:
type: array
items:
$ref: '#/components/schemas/LoadBalancer'
x-cli-entity-list: load_balancers
LocalNameserversResponse:
required:
- local_nameservers
type: object
properties:
local_nameservers:
type: array
items:
type: string
Meta:
required:
- total
type: object
properties:
total:
type: integer
description: The total number of items available.
format: int32
description: 'Contains metadata about the response, currently this includes the total number of items.'
Network:
required:
- ip_address
- type
type: object
properties:
ip_address:
type: string
description: The IP address for this network.
netmask:
oneOf:
- type: integer
- type: string
description: The netmask for this network.
nullable: true
example: 5
gateway:
type: string
description: The gateway for this network.
nullable: true
type:
allOf:
- $ref: '#/components/schemas/NetworkType'
reverse_name:
type: string
description: The reverse name (if any) for this network.
nullable: true
nat_target:
type: string
description: If this is not null this property is the private IP address which receives packets from this network.
nullable: true
NetworkType:
enum:
- private
- public
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| private | A private (non internet accessible) network. |\n| public | A public (internet accessible) network. |\n\n"
x-enum-descriptions:
- A private (non internet accessible) network.
- A public (internet accessible) network.
Networks:
required:
- mac_address
- port_blocking
- recent_ddos
- v4
- v6
type: object
properties:
v4:
type: array
items:
$ref: '#/components/schemas/Network'
description: A list of the IPv4 networks for this server.
v6:
type: array
items:
$ref: '#/components/schemas/Network'
description: A list of the IPv6 networks for this server.
port_blocking:
type: boolean
description: Whether the default port blocking is enabled for this server.
separate_private_network_interface:
type: boolean
description: Whether a separate private network interface is provided for the server's VPC traffic.
nullable: true
source_and_destination_check:
type: boolean
description: 'If enabled, this server is only able to send and receive data packets directly addressed to an IP address assigned to this server.'
nullable: true
recent_ddos:
type: boolean
description: 'If this is true this server has been the target of a recent DDOS attack. An email will have been sent to your email address when the DDOS was detected (and if it has ended, when it ended) with more details.'
ipv6_reverse_nameservers:
type: array
items:
type: string
description: Any configured IPv6 reverse nameservers for this server. Please see our documentation for how this interacts with IPv6 nameserver settings at the account level.
nullable: true
mac_address:
type: string
description: 'The MAC address of this server''s primary network interface. Customers may need this for ARP entries, DHCP reservations on a VPC, or MAC-based licensing.'
OffsiteBackupFrequencyCost:
required:
- daily_per_gigabyte
- monthly_per_gigabyte
- weekly_per_gigabyte
type: object
properties:
daily_per_gigabyte:
type: number
description: 'The additional cost per GB per month for enabling daily offsite backups. Only the highest value of the daily, weekly and monthly is applied. See the API support document for how to calculate the final cost of backups based on the options selected.'
format: double
weekly_per_gigabyte:
type: number
description: 'The additional cost per GB per month for enabling weekly offsite backups. Only the highest value of the daily, weekly and monthly is applied. See the API support document for how to calculate the final cost of backups based on the options selected.'
format: double
monthly_per_gigabyte:
type: number
description: 'The additional cost per GB per month for enabling monthly offsite backups. Only the highest value of the daily, weekly and monthly is applied. See the API support document for how to calculate the final cost of backups based on the options selected.'
format: double
description: All costs are in AU$.
OffsiteBackupSettings:
required:
- use_custom_backup_location
type: object
properties:
use_custom_backup_location:
type: boolean
description: If this is true a custom backup location will be used. If false our internally managed offsite backup location be used.
offsite_backup_location:
type: string
description: 'If a custom backup location is used, this is the provided location.'
nullable: true
manage_offsite_copies:
type: boolean
description: "This only has effect if a custom offsite location is being used: the internal offsite backup location always manages copies.\nIf this is true old offsite backups will be removed once the replacement upload is complete.\nIf this is false backups must be removed from the Amazon S3 bucket manually. Amazon will charge your S3 account at their standard rate for every backup stored."
nullable: true
Pages:
type: object
properties:
last:
type: string
description: A link to the last page of items if this is not the last page.
nullable: true
next:
type: string
description: A link to the next page of items if this is not the last page.
nullable: true
prev:
type: string
description: A link to the previous page of items if this is not the first page.
nullable: true
first:
type: string
description: A link to the first page of items if this is not the first page.
nullable: true
description: 'Provides links to first, last, next and previous pages if more than a single page of results exists.'
PasswordRecoveryType:
enum:
- manual
- offline-clear
- offline-change
- online-change
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| manual | Password must be reset manually using the recovery console and rescue disk. |\n| offline-clear | Password can be cleared for the admin/root user only. New password needs to be provided on login via the console (Requires restart). |\n| offline-change | Password can be reset and new credentials sent (Requires restart). |\n| online-change | Password may be reset without requiring a reboot via installed QEMU Guest Agent. |\n\n"
x-enum-descriptions:
- Password must be reset manually using the recovery console and rescue disk.
- Password can be cleared for the admin/root user only. New password needs to be provided on login via the console (Requires restart).
- Password can be reset and new credentials sent (Requires restart).
- Password may be reset without requiring a reboot via installed QEMU Guest Agent.
PasswordReset:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- password_reset
type: string
username:
type: string
description: "The username of the user to change the password.\nOnly valid if the server supports password change actions (check server.password_change_supported via the servers endpoint).\nIf omitted and the server supports password change actions this will default to the username of the remote user that was configured when the server was created (normally 'root')."
nullable: true
password:
type: string
description: "If this is provided the specified or default remote user's account password will be set to this value.\nOnly valid if the server supports password change actions (check server.password_change_supported via the servers endpoint).\nIf omitted and the server supports password change actions a random password will be generated and emailed to the account email address."
nullable: true
description: Reset the Password of a Server
PatchVpcRequest:
type: object
properties:
name:
maxLength: 250
minLength: 1
type: string
description: '>A name to help identify this VPC. Submit null to leave unaltered.'
nullable: true
route_entries:
type: array
items:
$ref: '#/components/schemas/RouteEntryRequest'
description: 'Submit null to leave unaltered, submit an empty list to clear all route entries. It is not possible to PATCH individual route entries, to alter a route entry submit the entire list of route entries you wish to save.'
nullable: true
PaymentMethod:
enum:
- credit-card
- paypal
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| credit-card | A validated credit card. |\n| paypal | PayPal. |\n\n"
x-enum-descriptions:
- A validated credit card.
- PayPal.
Period:
required:
- data_interval
- end
- start
type: object
properties:
start:
type: string
description: The date and time of the start of the period in ISO8601 format.
format: date-time
end:
type: string
description: The date and time of the end of the period in ISO8601 format.
format: date-time
data_interval:
allOf:
- $ref: '#/components/schemas/DataInterval'
description: "The duration between data points. This is not the collection interval.\n\n| Value | Description |\n| ----- | ----------- |\n| five-minute | 5 Minutes |\n| half-hour | 30 Minutes |\n| four-hour | 4 Hours |\n| day | 1 Day |\n| week | 7 Days |\n| month | 1 Month |\n\n"
Ping:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- ping
type: string
description: Attempt to Ping a Server
PowerCycle:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- power_cycle
type: string
description: Power a Server Off and then On
PowerOff:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- power_off
type: string
description: Power a Server Off
PowerOn:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- power_on
type: string
description: Power a Server On
ProblemDetails:
required:
- title
type: object
properties:
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
additionalProperties: { }
ProceedRequest:
required:
- proceed
type: object
properties:
proceed:
type: boolean
description: Please see the documentation for each type of interaction for the effect of providing 'true' or 'false' here.
ProcessorModel:
required:
- id
- name
type: object
properties:
id:
type: integer
description: The ID of this processor model.
format: int64
name:
type: string
description: The name of this processor model.
description:
type: string
description: A description of this processor model.
nullable: true
Reboot:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- reboot
type: string
description: Request a Server Perform a Reboot
Rebuild:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- rebuild
type: string
image:
oneOf:
- type: integer
- type: string
description: The Operating System ID or slug or Backup image ID to use as a base for the rebuild.
nullable: true
example: 5
options:
allOf:
- $ref: '#/components/schemas/ImageOptions'
description: Additional options. Leaving this entirely null or any of the properties included null will use the defaults from the existing server.
nullable: true
description: Rebuild an Existing Server
Region:
required:
- available
- features
- name
- name_servers
- sizes
- slug
type: object
properties:
slug:
type: string
description: The unique slug for this region.
x-cli-format: 1
name:
type: string
description: The name of this region.
x-cli-format: 2
sizes:
type: array
items:
type: string
description: The slugs of the sizes available in this region.
available:
type: boolean
description: Whether this region is available for the allocation of new resources.
features:
type: array
items:
type: string
description: A list of features available for resources in this region.
name_servers:
type: array
items:
type: string
description: A list of nameservers available for resources in this region.
RegionsResponse:
required:
- meta
- regions
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
regions:
type: array
items:
$ref: '#/components/schemas/Region'
Rename:
required:
- name
- type
type: object
properties:
type:
minLength: 1
enum:
- rename
type: string
name:
minLength: 1
type: string
description: 'The new hostname of your server, such as vps01.yourcompany.com.'
description: Rename a Server
Resize:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- resize
type: string
size:
type: string
description: The slug of the selected size. Do not provide to keep the current size.
nullable: true
options:
allOf:
- $ref: '#/components/schemas/ChangeSizeOptionsRequest'
description: If this is null and the server has no selected size options the defaults for the size will be used. If this is null and the server has currently selected size options those will be preserved. If this is provided any option fields that are not included will be removed from the existing server.
nullable: true
change_image:
allOf:
- $ref: '#/components/schemas/ChangeImage'
description: This may be left null to keep the current base image for the server. If this is provided the server disks will be destroyed and the server will be rebuilt from the selected image.
nullable: true
change_licenses:
allOf:
- $ref: '#/components/schemas/ChangeLicenses'
description: 'This may be left null to keep the current licenses for the server. If this is provided any licenses that are not included will be removed. Any licences that are invalid will be removed regardless, see the documentation for `servers/{server_id}/software` for more information.'
nullable: true
pre_action_backup:
allOf:
- $ref: '#/components/schemas/TakeBackup'
description: 'Specify this to create a backup before any actions are taken, or leave null to skip.'
nullable: true
description: Update the Size and Related Options for a Server
ResizeDisk:
required:
- disk_id
- size_gigabytes
- type
type: object
properties:
type:
minLength: 1
enum:
- resize_disk
type: string
disk_id:
type: integer
description: The ID of the existing disk. See server.disks for a list of IDs.
format: int64
size_gigabytes:
maximum: 2147483647
minimum: 1
type: integer
description: The new size of the disk in GB. If increasing the size of the disk the server must have sufficient unallocated storage space.
format: int32
description: Alter the Size of an Existing Disk for a Server
ResourceType:
enum:
- server
- load-balancer
- ssh-key
- vpc
- image
- registered-domain-name
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| server | Server |\n| load-balancer | Load Balancer |\n| ssh-key | SSH Key |\n| vpc | Virtual Private Network |\n| image | Backup or Operating System Image |\n| registered-domain-name | Registered Domain Name |\n\n"
x-enum-descriptions:
- Server
- Load Balancer
- SSH Key
- Virtual Private Network
- Backup or Operating System Image
- Registered Domain Name
Restore:
required:
- image
- type
type: object
properties:
type:
minLength: 1
enum:
- restore
type: string
image:
oneOf:
- type: integer
- type: string
description: The ID of the specific backup to use. Snapshots are not currently supported.
example: 5
description: Restore a Backup to a Server
ReverseNameServersResponse:
required:
- meta
- reverse_nameservers
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
reverse_nameservers:
type: array
items:
type: string
ReverseNameserversRequest:
required:
- reverse_nameservers
type: object
properties:
reverse_nameservers:
type: array
items:
type: string
description: A list of IPv6 reverse name servers for all IPv6 enabled servers. Any existing reverse name servers that are omitted from the list will be removed.
RouteEntry:
required:
- destination
- router
type: object
properties:
router:
type: string
description: The server that will receive traffic sent to the destination property in this VPC.
destination:
type: string
description: The destination address for this route entry. This may be in CIDR format.
description:
type: string
description: An optional description for the route.
nullable: true
RouteEntryRequest:
required:
- destination
- router
type: object
properties:
router:
minLength: 1
type: string
description: The server that will receive traffic sent to the destination property in this VPC.
destination:
minLength: 1
type: string
description: The destination address for this route entry. This may be in CIDR format.
description:
maxLength: 250
type: string
description: An optional description for the route.
nullable: true
Sample:
required:
- cpu_usage_detailed
- cpu_usage_percent
- memory_usage_bytes
- network_incoming_kbps
- network_outgoing_kbps
- storage_read_kbps
- storage_read_requests_per_second
- storage_usage_megabytes
- storage_write_kbps
- storage_write_requests_per_second
type: object
properties:
cpu_usage_percent:
type: number
description: The usage percentage of all CPU; 100% is the maximum possible even with multiple processors.
format: double
cpu_usage_detailed:
type: array
items:
type: number
format: double
description: The usage percentage of each virtual CPU.
memory_usage_bytes:
type: number
description: The virtual memory used in bytes.
format: double
network_incoming_kbps:
type: number
description: 'The incoming network data rate in KB per second (binary: 1 KB = 1024 bytes).'
format: double
network_outgoing_kbps:
type: number
description: 'The outgoing network data rate in KB per second (binary: 1 KB = 1024 bytes).'
format: double
storage_usage_megabytes:
type: number
description: The total storage used in MB.
format: double
storage_read_kbps:
type: number
description: 'The storage read rate in KB per second (binary: 1 KB = 1024 bytes).'
format: double
storage_write_kbps:
type: number
description: 'The storage write rate in KB per second (binary: 1 KB = 1024 bytes).'
format: double
storage_read_requests_per_second:
type: number
description: The storage read requests per second.
format: double
storage_write_requests_per_second:
type: number
description: The storage write requests per second.
format: double
SampleSet:
required:
- average
- maximum_memory_megabytes
- maximum_storage_gigabytes
- period
- server_id
type: object
properties:
server_id:
type: integer
description: The ID of the server that this sample set refers to.
format: int64
period:
allOf:
- $ref: '#/components/schemas/Period'
description: The period when this sample set was collected.
average:
allOf:
- $ref: '#/components/schemas/Sample'
description: The average values of the samples collected during this period.
maximum_memory_megabytes:
type: number
description: The maximum memory used in MB at any point during this collection period.
format: double
maximum_storage_gigabytes:
type: number
description: The maximum storage used in GB at any point during this collection period.
format: double
SampleSetResponse:
type: object
properties:
sample_set:
allOf:
- $ref: '#/components/schemas/SampleSet'
nullable: true
SampleSetsResponse:
required:
- meta
- sample_sets
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
sample_sets:
type: array
items:
$ref: '#/components/schemas/SampleSet'
SelectedSizeOptions:
required:
- daily_backups
- disk
- ipv4_addresses
- memory
- monthly_backups
- offsite_backups
- transfer
- weekly_backups
type: object
properties:
daily_backups:
type: integer
description: 'The number of retained daily backups. e.g. if this is ''2'' we will store two daily backups, so each daily backup will be retained for two days before being overwritten.'
format: int32
weekly_backups:
type: integer
description: 'The number of retained weekly backups. e.g. if this is ''1'' we will store one weekly backup, so that weekly backup will be retained for one week before being overwritten.'
format: int32
monthly_backups:
type: integer
description: 'The number of retained monthly backups. e.g. if this is ''3'' we will store three monthly backups, so each monthly backup will be retained for three months before being overwritten.'
format: int32
offsite_backups:
type: boolean
description: 'If this is true any daily, weekly or monthly backups will be duplicated to an off-site location.'
ipv4_addresses:
type: integer
description: The total count of IPv4 addresses for this server.
format: int32
memory:
type: integer
description: The total memory in MB for this server.
format: int32
disk:
type: integer
description: The total storage in GB for this server.
format: int32
transfer:
type: number
description: The total transfer per month in TB for this server.
format: double
Server:
required:
- advanced_features
- backup_ids
- backup_settings
- created_at
- disk
- disks
- failover_ips
- features
- host
- id
- image
- memory
- name
- networks
- password_change_supported
- region
- size
- size_slug
- status
- vcpus
type: object
properties:
id:
type: integer
description: The ID of this server.
format: int64
x-cli-format: 1
name:
type: string
description: The hostname of this server.
x-cli-format: 2
memory:
type: integer
description: The memory in MB of this server.
format: int32
x-cli-format: 5
vcpus:
type: integer
description: The number of virtual CPUs of this server.
format: int32
x-cli-format: 4
disk:
type: integer
description: The total disk in GB of this server.
format: int32
x-cli-format: 6
vpc_id:
type: integer
description: The VPC ID that this server is allocated to. If this value is null the server is in the default (public) network for the region.
format: int64
nullable: true
created_at:
type: string
description: The date and time in ISO8601 format of this server's initial creation.
format: date-time
status:
allOf:
- $ref: '#/components/schemas/ServerStatus'
backup_ids:
type: array
items:
type: integer
format: int64
description: A list of the currently existing backup image IDs for this server (if any).
features:
type: array
items:
type: string
description: A list of the currently enabled features on this server.
region:
allOf:
- $ref: '#/components/schemas/Region'
description: The region this server is allocated to.
x-cli-format: 7
image:
allOf:
- $ref: '#/components/schemas/Image'
description: The base image used to create this server.
x-cli-format: 3
size:
allOf:
- $ref: '#/components/schemas/Size'
description: The currently selected size for this server.
size_slug:
type: string
description: The slug of the currently selected size for this server.
selected_size_options:
allOf:
- $ref: '#/components/schemas/SelectedSizeOptions'
description: An object that details the selected options for the current size.
nullable: true
networks:
allOf:
- $ref: '#/components/schemas/Networks'
description: A list of the networks of the server.
x-cli-format: 8
kernel:
allOf:
- $ref: '#/components/schemas/Kernel'
description: The currently selected kernel for the server.
nullable: true
next_backup_window:
allOf:
- $ref: '#/components/schemas/BackupWindow'
description: 'The details of the next scheduled backup, if any.'
nullable: true
disks:
type: array
items:
$ref: '#/components/schemas/Disk'
description: A list of the disks that are currently attached to the server.
backup_settings:
allOf:
- $ref: '#/components/schemas/BackupSettings'
description: Detailed backup settings for the server.
cancelled_at:
type: string
description: 'If the server has been cancelled, this is the date and time in ISO8601 format of that cancellation.'
format: date-time
nullable: true
failover_ips:
type: array
items:
type: string
description: A list of any assigned failover IP addresses for this server.
host:
allOf:
- $ref: '#/components/schemas/Host'
description: Summary information about the host of this server.
partner_id:
type: integer
description: 'The server ID of the partner of this server, if one has been assigned.'
format: int64
nullable: true
password_change_supported:
type: boolean
description: If this is true the password_reset server action can be called to change a user's password. If this is false the password_reset server action will merely clear the root/administrator password allowing the password to be changed via the web console.
permalink:
type: string
description: A randomly generated two-word identifier assigned to servers in regions that support this feature.
nullable: true
attached_backup:
allOf:
- $ref: '#/components/schemas/AttachedBackup'
description: An object that provides details of any backup image currently attached to the server..
nullable: true
advanced_features:
allOf:
- $ref: '#/components/schemas/AdvancedServerFeatures'
description: 'The currently enabled advanced features, machine type and processor flags.'
is_under_maintenance:
type: boolean
description: 'If true, this server is currently under maintenance and most actions will not be available. If this is null the status was not checked.'
nullable: true
x-cli-entity-ref: name
ServerAction:
required:
- type
type: object
oneOf:
- $ref: '#/components/schemas/AddDisk'
- $ref: '#/components/schemas/AttachBackup'
- $ref: '#/components/schemas/ChangeAdvancedFeatures'
- $ref: '#/components/schemas/ChangeAdvancedFirewallRules'
- $ref: '#/components/schemas/ChangeBackupSchedule'
- $ref: '#/components/schemas/ChangeIpv6'
- $ref: '#/components/schemas/ChangeIpv6ReverseNameservers'
- $ref: '#/components/schemas/ChangeKernel'
- $ref: '#/components/schemas/ChangeManageOffsiteBackupCopies'
- $ref: '#/components/schemas/ChangeNetwork'
- $ref: '#/components/schemas/ChangeOffsiteBackupLocation'
- $ref: '#/components/schemas/ChangePartner'
- $ref: '#/components/schemas/ChangePortBlocking'
- $ref: '#/components/schemas/ChangeRegion'
- $ref: '#/components/schemas/ChangeReverseName'
- $ref: '#/components/schemas/ChangeSeparatePrivateNetworkInterface'
- $ref: '#/components/schemas/ChangeSourceAndDestinationCheck'
- $ref: '#/components/schemas/ChangeThresholdAlerts'
- $ref: '#/components/schemas/ChangeVpcIpv4'
- $ref: '#/components/schemas/CloneUsingBackup'
- $ref: '#/components/schemas/DeleteDisk'
- $ref: '#/components/schemas/DetachBackup'
- $ref: '#/components/schemas/DisableBackups'
- $ref: '#/components/schemas/DisableSelinux'
- $ref: '#/components/schemas/EnableBackups'
- $ref: '#/components/schemas/EnableIpv6'
- $ref: '#/components/schemas/IsRunning'
- $ref: '#/components/schemas/PasswordReset'
- $ref: '#/components/schemas/Ping'
- $ref: '#/components/schemas/PowerCycle'
- $ref: '#/components/schemas/PowerOff'
- $ref: '#/components/schemas/PowerOn'
- $ref: '#/components/schemas/Reboot'
- $ref: '#/components/schemas/Rebuild'
- $ref: '#/components/schemas/Rename'
- $ref: '#/components/schemas/Resize'
- $ref: '#/components/schemas/ResizeDisk'
- $ref: '#/components/schemas/Restore'
- $ref: '#/components/schemas/Shutdown'
- $ref: '#/components/schemas/TakeBackup'
- $ref: '#/components/schemas/Uncancel'
- $ref: '#/components/schemas/Uptime'
properties:
type:
minLength: 1
type: string
discriminator:
propertyName: type
mapping:
add_disk: '#/components/schemas/AddDisk'
attach_backup: '#/components/schemas/AttachBackup'
change_advanced_features: '#/components/schemas/ChangeAdvancedFeatures'
change_advanced_firewall_rules: '#/components/schemas/ChangeAdvancedFirewallRules'
change_backup_schedule: '#/components/schemas/ChangeBackupSchedule'
change_ipv6: '#/components/schemas/ChangeIpv6'
change_ipv6_reverse_nameservers: '#/components/schemas/ChangeIpv6ReverseNameservers'
change_kernel: '#/components/schemas/ChangeKernel'
change_manage_offsite_backup_copies: '#/components/schemas/ChangeManageOffsiteBackupCopies'
change_network: '#/components/schemas/ChangeNetwork'
change_offsite_backup_location: '#/components/schemas/ChangeOffsiteBackupLocation'
change_partner: '#/components/schemas/ChangePartner'
change_port_blocking: '#/components/schemas/ChangePortBlocking'
change_region: '#/components/schemas/ChangeRegion'
change_reverse_name: '#/components/schemas/ChangeReverseName'
change_separate_private_network_interface: '#/components/schemas/ChangeSeparatePrivateNetworkInterface'
change_source_and_destination_check: '#/components/schemas/ChangeSourceAndDestinationCheck'
change_threshold_alerts: '#/components/schemas/ChangeThresholdAlerts'
change_vpc_ipv4: '#/components/schemas/ChangeVpcIpv4'
clone_using_backup: '#/components/schemas/CloneUsingBackup'
delete_disk: '#/components/schemas/DeleteDisk'
detach_backup: '#/components/schemas/DetachBackup'
disable_backups: '#/components/schemas/DisableBackups'
disable_selinux: '#/components/schemas/DisableSelinux'
enable_backups: '#/components/schemas/EnableBackups'
enable_ipv6: '#/components/schemas/EnableIpv6'
is_running: '#/components/schemas/IsRunning'
password_reset: '#/components/schemas/PasswordReset'
ping: '#/components/schemas/Ping'
power_cycle: '#/components/schemas/PowerCycle'
power_off: '#/components/schemas/PowerOff'
power_on: '#/components/schemas/PowerOn'
reboot: '#/components/schemas/Reboot'
rebuild: '#/components/schemas/Rebuild'
rename: '#/components/schemas/Rename'
resize: '#/components/schemas/Resize'
resize_disk: '#/components/schemas/ResizeDisk'
restore: '#/components/schemas/Restore'
shutdown: '#/components/schemas/Shutdown'
take_backup: '#/components/schemas/TakeBackup'
uncancel: '#/components/schemas/Uncancel'
uptime: '#/components/schemas/Uptime'
ServerIdsRequest:
required:
- server_ids
type: object
properties:
server_ids:
type: array
items:
type: integer
format: int64
description: A list of server IDs.
ServerResponse:
required:
- server
type: object
properties:
server:
allOf:
- $ref: '#/components/schemas/Server'
ServerStatus:
enum:
- new
- active
- archive
- off
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| new | The server is currently in the process of building and is not yet available for use. |\n| active | The server is available for use. |\n| archive | The server is powered off due to cancellation or non payment. |\n| off | The server has been powered off, but may be powered back on. |\n\n"
x-enum-descriptions:
- The server is currently in the process of building and is not yet available for use.
- The server is available for use.
- The server is powered off due to cancellation or non payment.
- 'The server has been powered off, but may be powered back on.'
ServersResponse:
required:
- meta
- servers
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
servers:
type: array
items:
$ref: '#/components/schemas/Server'
x-cli-entity-list: servers
Shutdown:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- shutdown
type: string
description: Request a Server Perform a Shutdown
Size:
required:
- available
- disk
- excess_transfer_cost_per_gigabyte
- memory
- options
- price_hourly
- price_monthly
- regions
- size_type
- slug
- transfer
- vcpu_units
- vcpus
type: object
properties:
slug:
type: string
description: The slug of this size.
x-cli-format: 1
description:
type: string
description: A description of this size.
nullable: true
cpu_description:
type: string
description: A description of the CPU provided in this size.
nullable: true
storage_description:
type: string
description: A description of the storage provided in this size.
nullable: true
size_type:
allOf:
- $ref: '#/components/schemas/SizeType'
description: 'The type of this size, generally used to differentiate sizes optimized for different usages.'
x-cli-format: 2
available:
type: boolean
description: If this is false the size is not available for new servers.
regions:
type: array
items:
type: string
description: "A list of region slugs where this size is available regardless of stock.\nIf this a response to a query that included a selected operating system this response will only include regions where that operating system is available on this size,\notherwise not all regions listed will support all operating systems on this size."
regions_out_of_stock:
type: array
items:
type: string
description: A list of region slugs where the size is normally available but is currently not available due to lack of stock.
nullable: true
price_monthly:
type: number
description: Monthly Price in AU$.
format: double
x-cli-format: 8
price_hourly:
type: number
description: Hourly price in AU$.
format: double
disk:
type: integer
description: The included storage for this size in GB.
format: int32
x-cli-format: 6
memory:
type: integer
description: The included memory for this size in MB.
format: int32
x-cli-format: 5
transfer:
type: number
description: The included data transfer for this size in TB.
format: double
x-cli-format: 7
excess_transfer_cost_per_gigabyte:
type: number
description: The excess charged for any transfer above the included data transfer in AU$ per GB.
format: double
vcpus:
type: integer
description: The count of virtual CPUs for this size. See vcpu_units for a description of how each virtual CPU maps to the underlying hardware.
format: int32
x-cli-format: 3
vcpu_units:
type: string
description: 'This is the unit that the vcpus field counts, e.g. "core" or "thread".'
x-cli-format: 4
options:
allOf:
- $ref: '#/components/schemas/SizeOptions'
description: Available add-ons (optional features not included in the base price) for the size. All costs are in AU$ per month (pro-rated).
SizeOptions:
required:
- backups_cost_per_backup_per_gigabyte
- daily_backups
- discount_for_no_public_ipv4
- disk_cost_per_additional_gigabyte
- disk_max
- disk_min
- ipv4_addresses_cost_per_address
- ipv4_addresses_max
- memory_cost_per_additional_megabyte
- memory_max
- monthly_backups
- offsite_backup_frequency_cost
- offsite_backups_cost_per_gigabyte
- transfer_cost_per_additional_gigabyte
- transfer_max
- weekly_backups
type: object
properties:
disk_min:
type: integer
description: The minimum storage in GB permitted on this size.
format: int32
disk_max:
type: integer
description: The maximum storage in GB permitted on this size.
format: int32
disk_cost_per_additional_gigabyte:
type: number
description: The additional cost per GB per month for additional storage space.
format: double
restricted_disk_values:
type: array
items:
type: integer
format: int32
description: 'If this is null the normal valid values in the documentation for SizeOptionsRequest are used, otherwise only these values (in GB) are permitted.'
nullable: true
memory_max:
type: integer
description: The maximum memory in MB permitted on this size.
format: int32
memory_cost_per_additional_megabyte:
type: number
description: The additional cost per MB per month for additional memory.
format: double
transfer_max:
type: number
description: The maximum transfer in TB permitted for this size. If this is the same as Size.Transfer no additional transfer is supported.
format: double
transfer_cost_per_additional_gigabyte:
type: number
description: The additional cost per GB per month for additional included transfer.
format: double
ipv4_addresses_max:
type: integer
description: The maximum number of IPv4 addresses permitted on this size.
format: int32
ipv4_addresses_cost_per_address:
type: number
description: The additional cost per public IPv4 address per month for additional IPv4 addresses.
format: double
discount_for_no_public_ipv4:
type: number
description: This is the discount (if any) that is applied if no public IPv4 addresses are selected.
format: double
daily_backups:
type: integer
description: The number of daily backups included in the base size cost.
format: int32
weekly_backups:
type: integer
description: The number of weekly backups included in the base size cost.
format: int32
monthly_backups:
type: integer
description: The number of monthly backups included in the base size cost.
format: int32
backups_cost_per_backup_per_gigabyte:
type: number
description: The cost per GB of storage of each selected backup. See the API support document for how to calculate the final cost of backups based on the options selected.
format: double
offsite_backups_cost_per_gigabyte:
type: number
description: The additional cost per GB of storage for enabling offsite backups. See the API support document for how to calculate the final cost of backups based on the options selected.
format: double
offsite_backup_frequency_cost:
allOf:
- $ref: '#/components/schemas/OffsiteBackupFrequencyCost'
description: The additional cost per GB of storage for enabling offsite backups based on highest frequency of backups currently enabled. All costs are in AU$.
description: Available add-ons (optional features not included in the base price) for the size. All costs are per month (pro-rated).
SizeOptionsRequest:
type: object
properties:
daily_backups:
maximum: 14
minimum: 0
type: integer
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
format: int32
nullable: true
weekly_backups:
maximum: 13
minimum: 0
type: integer
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
format: int32
nullable: true
monthly_backups:
maximum: 12
minimum: 0
type: integer
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
format: int32
nullable: true
offsite_backups:
type: boolean
description: Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server.
nullable: true
ipv4_addresses:
maximum: 2147483647
minimum: 0
type: integer
description: 'The total count of IPv4 addresses for this server. If specified this is the absolute value, not just the additional IPv4 addresses above what is included in the size. Leave null to accept the default for the size if this is a new server or to keep the current value if this is a resize of an existing server. Must not exceed the size.ipv4_addresses_max value.'
format: int32
nullable: true
memory:
type: integer
description: "The total memory in MB for this server.\nIf specified this is the absolute value, not just the additional memory above what is included in the size.\nLeave null to accept the default for the size if this is a new server or a resize to a different base size, or to keep the current value if this a resize with the same base size but different options.\n \nValid values:\n- must be a multiple of 128\n- &gt; 2048MB must be a multiple of 1024\n- &gt; 16384MB must be a multiple of 2048\n- &gt; 24576MB must be a multiple of 4096"
format: int32
nullable: true
disk:
type: integer
description: "The total storage in GB for this server.\nIf specified this is the absolute value, not just the additional storage above what is included in the size.\nLeave null to accept the default for the size if this is a new server or a resize to a different base size, or to keep the current value if this a resize with the same base size but different options.\n \nValid values for sizes that do not provide a value for options.restricted_storage_values_gb:\n- must be a multiple of 5\n- &gt; 60GB must be a multiple of 10\n- &gt; 200GB must be a multiple of 100"
format: int32
nullable: true
transfer:
type: number
description: "The total transfer per month in TB for this server.\nIf specified this is the absolute value, not just the additional transfer above what is included in the size.\nLeave null to accept the default for the size if this is a new server or a resize to a different base size, or to keep the current value if this a resize with the same base size but different options.\n \nValid values (when converted to GB by multiplying the value provided by 1000):\n- must be a multiple of 5GB\n- &gt; 30GB must be a multiple of 10\n- &gt; 200GB must be a multiple of 100\n- &gt; 2000GB must be a multiple of 1000"
format: double
nullable: true
SizeType:
required:
- name
- slug
type: object
properties:
slug:
type: string
description: The slug of this size type.
name:
type: string
description: The name of this size type.
description:
type: string
description: 'The description of this size type, generally used to indicate the intended use case for sizes of this type.'
nullable: true
SizesResponse:
required:
- meta
- sizes
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
sizes:
type: array
items:
$ref: '#/components/schemas/Size'
SnapshotsResponse:
required:
- meta
- snapshots
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
snapshots:
type: array
items:
$ref: '#/components/schemas/Image'
Software:
required:
- cost_per_licence_per_month
- description
- enabled
- id
- licence_step_count
- maximum_licence_count
- minimum_licence_count
- name
- supported_operating_systems
type: object
properties:
id:
type: integer
description: The ID of this software.
format: int64
x-cli-format: 1
enabled:
type: boolean
description: Software that is not enabled is not available to be added to servers but may be retained by servers that currently use it.
name:
type: string
description: The name of this software.
x-cli-format: 2
description:
type: string
description: The description of this software.
x-cli-format: 3
cost_per_licence_per_month:
type: number
description: The cost for each licence of this software per month in AU$.
format: double
x-cli-format: 4
minimum_licence_count:
type: integer
description: The minimum licences permitted for this software.
format: int32
maximum_licence_count:
type: integer
description: The maximum licences permitted for this software.
format: int32
licence_step_count:
type: integer
description: Licences must be purchased in multiples of this value.
format: int32
group:
type: string
description: Software in the same group may not be licensed together.
nullable: true
supported_operating_systems:
type: array
items:
type: string
description: A list of slugs of operating system images that support this software.
SoftwareResponse:
required:
- software
type: object
properties:
software:
allOf:
- $ref: '#/components/schemas/Software'
SoftwaresResponse:
required:
- meta
- software
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
software:
type: array
items:
$ref: '#/components/schemas/Software'
SshKey:
required:
- default
- fingerprint
- id
- public_key
type: object
properties:
id:
type: integer
description: The ID of this SSH key.
format: int64
x-cli-format: 1
fingerprint:
type: string
description: The fingerprint of this SSH key.
x-cli-format: 4
public_key:
type: string
description: The public key of this SSH key.
name:
type: string
description: The name of this SSH key. This is used only to aid in identification.
nullable: true
x-cli-format: 2
default:
type: boolean
description: If an SSH key is marked as default it will be deployed to all newly created servers that support SSH keys unless expressly overridden in the creation request.
x-cli-format: 3
SshKeyRequest:
required:
- name
- public_key
type: object
properties:
public_key:
minLength: 1
type: string
description: The public key in OpenSSH "authorized_keys" format.
name:
minLength: 1
type: string
description: A name to help you identify the key.
default:
type: boolean
description: 'Optional: If true this will be added to all new server installations (if we support SSH Key injection for the server''s operating system).'
nullable: true
SshKeyResponse:
required:
- ssh_key
type: object
properties:
ssh_key:
allOf:
- $ref: '#/components/schemas/SshKey'
SshKeysResponse:
required:
- meta
- ssh_keys
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
ssh_keys:
type: array
items:
$ref: '#/components/schemas/SshKey'
TakeBackup:
required:
- replacement_strategy
- type
type: object
properties:
type:
minLength: 1
enum:
- take_backup
type: string
backup_type:
allOf:
- $ref: '#/components/schemas/BackupSlot'
description: "If replacement_strategy is anything other than 'specified', this must be provided.\n\n| Value | Description |\n| ----- | ----------- |\n| daily | A backup which is scheduled to be taken each day. |\n| weekly | A backup which is scheduled to be taken each week. |\n| monthly | A backup which is scheduled to be taken each month. |\n| temporary | A backup which is created on demand and only retained for a maximum of seven days. |\n\n"
nullable: true
replacement_strategy:
allOf:
- $ref: '#/components/schemas/BackupReplacementStrategy'
description: "The strategy for selecting which backup to replace (if any).\n\n| Value | Description |\n| ----- | ----------- |\n| none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur. |\n| specified | Replace the specific backup id provided. |\n| oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type. |\n| newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type. |\n\n"
backup_id_to_replace:
type: integer
description: If replacement_strategy is 'specified' this property must be set to an existing backup.
format: int64
nullable: true
label:
maxLength: 250
type: string
description: An optional label to identify the backup.
nullable: true
description: Take a Backup of a Server
TaxCode:
required:
- name
- type
type: object
properties:
name:
type: string
description: The name of this tax code.
type:
allOf:
- $ref: '#/components/schemas/TaxCodeType'
description: "The type of tax code.\n\n| Value | Description |\n| ----- | ----------- |\n| none | No tax is applied to any transaction. |\n| scalar | A fixed fraction of the value of all transactions is added as tax. |\n\n"
fixed_percent:
type: number
description: 'If this is set then this tax is added to all applicable transactions. This is a percentage value where 100 = 100%. For example: if the type is ''scalar'' and the value of this is ''10'' then 10% of the value of all transactions will be added as tax.'
format: double
nullable: true
TaxCodeType:
enum:
- none
- scalar
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| none | No tax is applied to any transaction. |\n| scalar | A fixed fraction of the value of all transactions is added as tax. |\n\n"
x-enum-descriptions:
- No tax is applied to any transaction.
- A fixed fraction of the value of all transactions is added as tax.
ThresholdAlert:
required:
- alert_type
- description
- enabled
- name
- unit
- value
type: object
properties:
alert_type:
allOf:
- $ref: '#/components/schemas/ThresholdAlertType'
name:
type: string
description: The display name of this threshold alert.
unit:
type: string
description: The unit suffix for this alert's value (e.g. `"%"` or `"requests/second"`).
description:
type: string
description: A human-readable description of what this threshold alert measures.
enabled:
type: boolean
description: If a threshold alert is not enabled it will not generate warnings for the user.
value:
type: integer
description: The threshold value of the alert. Refer to the documentation for each threshold alert type for what this value measures in the context of the alert type.
format: int32
current_value:
type: integer
description: The last measured value for this alert type over the threshold alert period. Refer to the documentation for each threshold alert type for what this value measures in the context of the alert type. If there is no measured value in the threshold alert period this will be null.
format: int32
nullable: true
last_raised:
type: string
description: The date and time (if any) in ISO8601 format of the last time this alert was raised. An alert may not be raised again until it has been cleared.
format: date-time
nullable: true
last_cleared:
type: string
description: The date and time (if any) in ISO8601 format of the last time this alert was cleared. An alert may not be raised again until a minimum duration has passed since it was last cleared.
format: date-time
nullable: true
ThresholdAlertRequest:
required:
- alert_type
type: object
properties:
alert_type:
allOf:
- $ref: '#/components/schemas/ThresholdAlertType'
enabled:
type: boolean
description: Do not provide or leave null to keep existing status.
nullable: true
value:
type: integer
description: Do not provide or leave null to keep existing value.
format: int32
nullable: true
ThresholdAlertType:
enum:
- cpu
- storage-requests
- network-incoming
- network-outgoing
- data-transfer-used
- storage-used
- memory-used
- locked-backup-slots
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| cpu | The alert is based off the average percentage of all CPU; 100% is the maximum possible even with multiple processors. A high average will prevent the server from responding quickly. |\n| storage-requests | The alert is based off The average number of requests (combined read and write) received by the storage subsystem. A high number of requests often indicates swap usage (due to memory exhaustion) and is associated with poor performance. |\n| network-incoming | The alert is based off the amount of data going into the server (from the internet and the LAN). A sudden increase may indicate the server is the victim of a DOS attack. |\n| network-outgoing | The alert is based off the amount of data coming out of the server (to the internet and the LAN). A sudden increase may indicate the server has been hacked and is being used for spam delivery. |\n| data-transfer-used | The alert is based off the percentage of your monthly data transfer limit. |\n| storage-used | The alert is based off the disk space consumed as a percentage of your total disk space. If the server runs out of disk space programs may fail to execute or be unable to create new files, or the server may become unresponsive. |\n| memory-used | The alert is based off the virtual memory consumed as a percentage of your physical memory. Virtual memory includes the swap file so the percentage may exceed 100% indicating that the server has run out of physical memory and is relying on swap space, which will generally cause poor performance. |\n| locked-backup-slots | The alert is based off the percentage of scheduled backup slots (daily, weekly, monthly) occupied by locked backups. When all slots are locked, automated backups cannot proceed. |\n\n"
x-enum-descriptions:
- The alert is based off the average percentage of all CPU; 100% is the maximum possible even with multiple processors. A high average will prevent the server from responding quickly.
- The alert is based off The average number of requests (combined read and write) received by the storage subsystem. A high number of requests often indicates swap usage (due to memory exhaustion) and is associated with poor performance.
- The alert is based off the amount of data going into the server (from the internet and the LAN). A sudden increase may indicate the server is the victim of a DOS attack.
- The alert is based off the amount of data coming out of the server (to the internet and the LAN). A sudden increase may indicate the server has been hacked and is being used for spam delivery.
- The alert is based off the percentage of your monthly data transfer limit.
- 'The alert is based off the disk space consumed as a percentage of your total disk space. If the server runs out of disk space programs may fail to execute or be unable to create new files, or the server may become unresponsive.'
- 'The alert is based off the virtual memory consumed as a percentage of your physical memory. Virtual memory includes the swap file so the percentage may exceed 100% indicating that the server has run out of physical memory and is relying on swap space, which will generally cause poor performance.'
- 'The alert is based off the percentage of scheduled backup slots (daily, weekly, monthly) occupied by locked backups. When all slots are locked, automated backups cannot proceed.'
ThresholdAlertsResponse:
required:
- threshold_alerts
type: object
properties:
threshold_alerts:
type: array
items:
$ref: '#/components/schemas/ThresholdAlert'
Uncancel:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- uncancel
type: string
description: Revert the Cancellation of a Server
UnpaidFailedInvoicesResponse:
required:
- invoices
type: object
properties:
invoices:
type: array
items:
$ref: '#/components/schemas/Invoice'
UpdateDomainRecordRequest:
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/DomainRecordType'
description: "The type of the DNS record.\n\n| Value | Description |\n| ----- | ----------- |\n| A | Map an IPv4 address to a hostname. |\n| AAAA | Map an IPv6 address to a hostname. |\n| CAA | Restrict which certificate authorities are permitted to issue certificates for a domain. |\n| CNAME | Define an alias for your canonical hostname. |\n| MX | Define the mail exchanges that handle mail for the domain. |\n| NS | Define the nameservers that manage the domain. |\n| SOA | The Start of Authority record for the zone. |\n| SRV | Specify a server by hostname and port to handle a service or services. |\n| TXT | Define a string of text that is associated with a hostname. |\n\n"
nullable: true
name:
type: string
description: 'The subdomain for this record. Use @ for records on the domain itself, and * to create a wildcard record.'
nullable: true
data:
type: string
description: A general data field that has different functions depending on the record type.
nullable: true
priority:
maximum: 65535
minimum: 0
type: integer
description: A priority value that is only relevant for SRV and MX records.
format: int32
nullable: true
port:
maximum: 65535
minimum: 0
type: integer
description: A port value that is only relevant for SRV records.
format: int32
nullable: true
ttl:
type: integer
description: 'This value is the time to live for the record, in seconds.'
format: int32
nullable: true
weight:
maximum: 65535
minimum: 0
type: integer
description: The weight value that is only relevant for SRV records.
format: int32
nullable: true
flags:
maximum: 255
minimum: 0
type: integer
description: An unsigned integer between 0-255 that is only relevant for CAA records.
format: int32
nullable: true
tag:
maxLength: 15
minLength: 1
pattern: '[a-z0-9]+'
type: string
description: A parameter tag that is only relevant for CAA records.
nullable: true
description: 'Any values not provided will be retained. Provide empty strings to clear existing string values, nulls to retain the existing values.'
UpdateLoadBalancerRequest:
required:
- name
type: object
properties:
name:
minLength: 1
type: string
description: The hostname of the load balancer.
forwarding_rules:
type: array
items:
$ref: '#/components/schemas/ForwardingRuleRequest'
description: The rules that control which traffic the load balancer will forward to servers in the pool. Leave null to accept a default "HTTP" only forwarding rule.
nullable: true
health_check:
allOf:
- $ref: '#/components/schemas/HealthCheckRequest'
description: The rules that determine which servers are considered 'healthy' and in the server pool for the load balancer. Leave this null to accept appropriate defaults based on the forwarding_rules.
nullable: true
server_ids:
type: array
items:
type: integer
format: int64
description: A list of server IDs to assign to this load balancer.
nullable: true
UpdateLoadBalancerResponse:
required:
- load_balancer
type: object
properties:
load_balancer:
allOf:
- $ref: '#/components/schemas/LoadBalancer'
links:
allOf:
- $ref: '#/components/schemas/ActionsLinks'
nullable: true
UpdateSshKeyRequest:
required:
- name
type: object
properties:
name:
minLength: 1
type: string
description: A name to help you identify the key.
default:
type: boolean
description: "Do not provide or leave null to leave the default status of the key unchanged.\nOptional: If true this will be added to all new server installations (if we support SSH Key injection for the server's operating system)."
nullable: true
UpdateVpcRequest:
required:
- name
type: object
properties:
name:
maxLength: 250
minLength: 0
type: string
description: A name to help identify this VPC.
route_entries:
type: array
items:
$ref: '#/components/schemas/RouteEntryRequest'
description: The route entries that control how network traffic is directed through the VPC environment.
nullable: true
description: Any properties that are not included will be cleared.
UploadImageRequest:
required:
- replacement_strategy
- url
type: object
properties:
backup_type:
allOf:
- $ref: '#/components/schemas/BackupSlot'
description: "If replacement_strategy is anything other than 'specified', this must be provided.\n\n| Value | Description |\n| ----- | ----------- |\n| daily | A backup which is scheduled to be taken each day. |\n| weekly | A backup which is scheduled to be taken each week. |\n| monthly | A backup which is scheduled to be taken each month. |\n| temporary | A backup which is created on demand and only retained for a maximum of seven days. |\n\n"
nullable: true
replacement_strategy:
allOf:
- $ref: '#/components/schemas/BackupReplacementStrategy'
description: "The strategy for selecting which backup to replace (if any).\n\n| Value | Description |\n| ----- | ----------- |\n| none | Do not replace any existing backup: use a free slot of the provided backup type. If there are no free slots an error will occur. |\n| specified | Replace the specific backup id provided. |\n| oldest | Use any free slots of the provided backup type, and if there are no free slots replace the oldest unlocked and un-attached backup of the provided backup type. |\n| newest | Use any free slots of the provided backup type, and if there are no free slots replace the newest unlocked and un-attached backup of the provided backup type. |\n\n"
backup_id_to_replace:
type: integer
description: If replacement_strategy is 'specified' this property must be set to an existing backup.
format: int64
nullable: true
label:
maxLength: 250
type: string
description: An optional label to identify the backup.
nullable: true
url:
minLength: 1
type: string
description: The source URL for the image to upload. Only HTTP and HTTPS sources are currently supported.
format: uri
Uptime:
required:
- type
type: object
properties:
type:
minLength: 1
enum:
- uptime
type: string
description: Check the Uptime of a Server
UserData:
type: object
properties:
user_data:
type: string
description: The UserData that was last used to initialise the server.
nullable: true
UserInteractionRequired:
required:
- interaction_type
type: object
properties:
interaction_type:
allOf:
- $ref: '#/components/schemas/UserInteractionType'
UserInteractionType:
enum:
- continue-after-ping-failure
- allow-unclean-power-off
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| continue-after-ping-failure | Whether we should assume the server creation was successful despite failing to ping the server. |\n| allow-unclean-power-off | Whether we are permitted to perform an un-clean power off after the server failed to perform a clean shutdown. |\n\n"
x-enum-descriptions:
- Whether we should assume the server creation was successful despite failing to ping the server.
- Whether we are permitted to perform an un-clean power off after the server failed to perform a clean shutdown.
ValidationProblemDetails:
required:
- errors
- title
type: object
properties:
type:
type: string
nullable: true
title:
type: string
nullable: true
status:
type: integer
format: int32
nullable: true
detail:
type: string
nullable: true
instance:
type: string
nullable: true
errors:
type: object
additionalProperties:
type: array
items:
type: string
nullable: true
additionalProperties: { }
VideoDevice:
enum:
- cirrus-logic
- standard
- virtio
- virtio-wide
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| cirrus-logic | Cirrus Logic GD5446 |\n| standard | Standard VGA with VESA 2.0 extensions |\n| virtio | Virtio VGA (800x600) |\n| virtio-wide | Virtio VGA (1600x900) |\n\n"
x-enum-descriptions:
- Cirrus Logic GD5446
- Standard VGA with VESA 2.0 extensions
- Virtio VGA (800x600)
- Virtio VGA (1600x900)
VmMachineType:
enum:
- pc_i440fx_1point5
- pc_i440fx_2point11
- pc_i440fx_4point1
- pc_i440fx_4point2
- pc_i440fx_5point0
- pc_i440fx_5point1
- pc_i440fx_7point2
- pc_i440fx_7point2point1
- pc_i440fx_8point2
type: string
description: "\n| Value | Description |\n| ----- | ----------- |\n| pc_i440fx_1point5 | PC i440FX 1.5 |\n| pc_i440fx_2point11 | PC i440FX 2.11 |\n| pc_i440fx_4point1 | PC i440FX 4.1 |\n| pc_i440fx_4point2 | PC i440FX 4.2 |\n| pc_i440fx_5point0 | PC i440FX 5.0 |\n| pc_i440fx_5point1 | PC i440FX 5.1 |\n| pc_i440fx_7point2 | PC i440FX 7.2 |\n| pc_i440fx_7point2point1 | PC i440FX 7.2.1 |\n| pc_i440fx_8point2 | PC i440FX 8.2 |\n\n"
x-enum-descriptions:
- PC i440FX 1.5
- PC i440FX 2.11
- PC i440FX 4.1
- PC i440FX 4.2
- PC i440FX 5.0
- PC i440FX 5.1
- PC i440FX 7.2
- PC i440FX 7.2.1
- PC i440FX 8.2
Vpc:
required:
- id
- ip_range
- name
- route_entries
type: object
properties:
id:
type: integer
description: The ID of this VPC.
format: int64
x-cli-format: 1
name:
type: string
description: The name of this VPC.
x-cli-format: 2
ip_range:
type: string
description: The IPv4 range for this VPC in CIDR format.
x-cli-format: 3
route_entries:
type: array
items:
$ref: '#/components/schemas/RouteEntry'
description: The route entries that control how network traffic is directed through the VPC environment.
x-cli-entity-ref: name
VpcMember:
required:
- name
- resource_id
- resource_type
type: object
properties:
name:
type: string
description: The name of this VPC member.
resource_type:
allOf:
- $ref: '#/components/schemas/ResourceType'
resource_id:
type: string
description: The resource ID of this VPC member.
created_at:
type: string
description: The date and time in ISO8601 format of this resource's initial creation.
format: date-time
nullable: true
VpcMembersResponse:
required:
- members
- meta
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
members:
type: array
items:
$ref: '#/components/schemas/VpcMember'
VpcResponse:
required:
- vpc
type: object
properties:
vpc:
allOf:
- $ref: '#/components/schemas/Vpc'
VpcsResponse:
required:
- meta
- vpcs
type: object
properties:
meta:
allOf:
- $ref: '#/components/schemas/Meta'
description: 'Contains metadata about the response, currently this includes the total number of items.'
links:
allOf:
- $ref: '#/components/schemas/Links'
nullable: true
vpcs:
type: array
items:
$ref: '#/components/schemas/Vpc'
x-cli-entity-list: vpcs
securitySchemes:
apiToken:
type: http
scheme: bearer
bearerFormat: Bearer <api-token>
security:
- apiToken: [ ]
tags:
- name: Customers
x-displayName: Billing Information
- name: DataUsages
x-displayName: Data Usage
- name: FailoverIps
x-displayName: Failover IPs
- name: LoadBalancers
x-displayName: Load Balancers
- name: ReverseNames
x-displayName: Reverse Names
- name: SampleSets
x-displayName: Sample Sets
- name: ServerActions
x-displayName: Server Actions
- name: Vpcs
x-displayName: Virtual Private Cloud
- name: Domains
x-displayName: Manage DNS
- name: NameserverNotes
description: Any domain records that are created or managed here will only have an effect if the nameservers for the domain are set to our local nameservers.
x-displayName: Nameserver Notes
x-traitTag: true
x-tagGroups:
- name: Account
tags:
- Accounts
- Customers
- name: Servers
tags:
- Servers
- ServerActions
- Actions
- DataUsages
- Images
- Keys
- ReverseNames
- SampleSets
- name: Server Create and Resize Options
tags:
- Images
- Regions
- Sizes
- Software
- name: Load Balancers
tags:
- LoadBalancers
- name: Virtual Private Cloud
tags:
- Vpcs
- name: DNS Management
tags:
- NameserverNotes
- Domains