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 here.\n\n\n# API Tools\n\nWe have created a CLI tool to interact with the API. You can find the repository here.\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- > 2048MB must be a multiple of 1024\n- > 16384MB must be a multiple of 2048\n- > 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- > 60GB must be a multiple of 10\n- > 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- > 30GB must be a multiple of 10\n- > 200GB must be a multiple of 100\n- > 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- > 2048MB must be a multiple of 1024\n- > 16384MB must be a multiple of 2048\n- > 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- > 60GB must be a multiple of 10\n- > 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- > 30GB must be a multiple of 10\n- > 200GB must be a multiple of 100\n- > 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 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