diff --git a/openapi.yaml b/openapi.yaml
index cde42c579..5bf53ac56 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -1,29371 +1,80621 @@
-openapi: 3.0.1
-info:
- version: 4.176.0
- title: Linode API
- license:
- name: Apache 2.0
- url: https://www.apache.org/licenses/LICENSE-2.0.html
- description: |
- ## Introduction
- The Linode API provides the ability to programmatically manage the full
- range of Linode products and services.
-
- This reference is designed to assist application developers and system
- administrators. Each endpoint includes descriptions, request syntax, and
- examples using standard HTTP requests. Response data is returned in JSON
- format.
-
-
- This document was generated from our OpenAPI Specification. See the
- OpenAPI website for more information.
-
- Download the Linode OpenAPI Specification .
-
-
- ## Changelog
-
- View our Changelog to see release
- notes on all changes made to our API.
-
- ## Access and Authentication
-
- Some endpoints are publicly accessible without requiring authentication.
- All endpoints affecting your Account, however, require either a Personal
- Access Token or OAuth authentication (when using third-party
- applications).
-
- ### Personal Access Token
-
- The easiest way to access the API is with a Personal Access Token (PAT)
- generated from the
- Linode Cloud Manager or
- the [Create Personal Access Token](/docs/api/profile/#personal-access-token-create) endpoint.
-
- All scopes for the OAuth security model ([defined below](/docs/api/#oauth)) apply to this
- security model as well.
-
- ### Authentication
-
- | Security Scheme Type: | HTTP |
- |-----------------------|------|
- | **HTTP Authorization Scheme** | bearer |
-
- ## OAuth
-
- If you only need to access the Linode API for personal use,
- we recommend that you create a [personal access token](/docs/api/#personal-access-token).
- If you're designing an application that can authenticate with an arbitrary Linode user, then
- you should use the OAuth 2.0 workflows presented in this section.
-
- For a more detailed example of an OAuth 2.0 implementation, see our guide on [How to Create an OAuth App with the Linode Python API Library](/docs/products/tools/api/guides/create-an-oauth-app-with-the-python-api-library/#oauth-2-authentication-exchange).
-
- Before you implement OAuth in your application, you first need to create an OAuth client. You can do this [with the Linode API](/docs/api/account/#oauth-client-create) or [via the Cloud Manager](https://cloud.linode.com/profile/clients):
-
- - When creating the client, you'll supply a `label` and a `redirect_uri` (referred to as the Callback URL in the Cloud Manager).
- - The response from this endpoint will give you a `client_id` and a `secret`.
- - Clients can be public or private, and are private by default. You can choose to make the client public when it is created.
- - A private client is used with applications which can securely store the client secret (that is, the secret returned to you when you first created the client). For example, an application running on a secured server that only the developer has access to would use a private OAuth client. This is also called a confidential client in some OAuth documentation.
- - A public client is used with applications where the client secret is not guaranteed to be secure. For example, a native app running on a user's computer may not be able to keep the client secret safe, as a user could potentially inspect the source of the application. So, native apps or apps that run in a user's browser should use a public client.
- - Public and private clients follow different workflows, as described below.
-
- ### OAuth Workflow
-
- The OAuth workflow is a series of exchanges between your third-party app and Linode. The workflow is used
- to authenticate a user before an application can start making API calls on the user's behalf.
-
- Notes:
-
- - With respect to the diagram in [section 1.2 of RFC 6749](https://tools.ietf.org/html/rfc6749#section-1.2), login.linode.com (referred to in this section as the *login server*) is the Resource Owner and the Authorization Server; api.linode.com (referred to here as the *api server*) is the Resource Server.
-
- - The OAuth spec refers to the private and public workflows listed below as the [authorization code flow](https://tools.ietf.org/html/rfc6749#section-1.3.1) and [implicit flow](https://tools.ietf.org/html/rfc6749#section-1.3.2).
-
- | PRIVATE WORKFLOW | PUBLIC WORKFLOW |
- |------------------|------------------|
- | 1. The user visits the application's website and is directed to login with Linode. | 1. The user visits the application's website and is directed to login with Linode. |
- | 2. Your application then redirects the user to Linode's [login server](https://login.linode.com) with the client application's `client_id` and requested OAuth `scope`, which should appear in the URL of the login page. | 2. Your application then redirects the user to Linode's [login server](https://login.linode.com) with the client application's `client_id` and requested OAuth `scope`, which should appear in the URL of the login page. |
- | 3. The user logs into the login server with their username and password. | 3. The user logs into the login server with their username and password. |
- | 4. The login server redirects the user to the specified redirect URL with a temporary authorization `code` (exchange code) in the URL. | 4. The login server redirects the user back to your application with an OAuth `access_token` embedded in the redirect URL's hash. This is temporary and expires in two hours. No `refresh_token` is issued. Therefore, once the `access_token` expires, a new one will need to be issued by having the user log in again. |
- | 5. The application issues a POST request (*see additional details below*) to the login server with the exchange code, `client_id`, and the client application's `client_secret`. | |
- | 6. The login server responds to the client application with a new OAuth `access_token` and `refresh_token`. The `access_token` is set to expire in two hours. | |
- | 7. The `refresh_token` can be used by contacting the login server with the `client_id`, `client_secret`, `grant_type`, and `refresh_token` to get a new OAuth `access_token` and `refresh_token`. The new `access_token` is good for another two hours, and the new `refresh_token` can be used to extend the session again by this same method (*see additional details below*). | |
-
- #### OAuth Private Workflow - Additional Details
-
- The following information expands on steps 5 through 7 of the private workflow:
-
- Once the user has logged into Linode and you have received an exchange code,
- you will need to trade that exchange code for an `access_token` and `refresh_token`. You
- do this by making an HTTP POST request to the following address:
-
- ```
- https://login.linode.com/oauth/token
- ```
-
- Make this request as `application/x-www-form-urlencoded` or as
- `multipart/form-data` and include the following parameters in the POST body:
-
- | PARAMETER | DESCRIPTION |
- |-----------|-------------|
- | client_id | Your app's client ID. |
- | client_secret | Your app's client secret. |
- | code | The code you just received from the redirect. |
-
- You'll get a response like this:
-
- ```json
- {
- "scope": "linodes:read_write",
- "access_token": "03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c",
- "refresh_token": "f2ec9712e616fdb5a2a21aa0e88cfadea7502ebc62cf5bd758dbcd65e1803bad",
- "token_type": "bearer",
- "expires_in": 7200
- }
- ```
-
- Included in the response is an `access_token`. With this token, you can proceed to make
- authenticated HTTP requests to the API by adding this header to each request:
-
- ```
- Authorization: Bearer 03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c
- ```
-
- This `access_token` is set to expire in two hours. To refresh access prior to expiration, make another request to the same URL with the following parameters in the POST body:
-
- | PARAMETER | DESCRIPTION |
- |-----------|-------------|
- | grant_type | The grant type you're using. Use "refresh_token" when refreshing access. |
- | client_id | Your app's client ID. |
- | client_secret | Your app's client secret. |
- | refresh_token | The `refresh_token` received from the previous response. |
-
- You'll get another response with an updated `access_token` and `refresh_token`, which can then be used to refresh access again.
-
- ### OAuth Reference
-
- | Security Scheme Type | OAuth 2.0 |
- |-----------------------|--------|
- | **Authorization URL** | `https://login.linode.com/oauth/authorize` |
- | **Token URL** | `https://login.linode.com/oauth/token` |
- | **Scopes** |
`account:read_only` - Allows access to GET information about your Account. `account:read_write` - Allows access to all endpoints related to your Account. `databases:read_only` - Allows access to GET Managed Databases on your Account. `databases:read_write` - Allows access to all endpoints related to your Managed Databases. `domains:read_only` - Allows access to GET Domains on your Account. `domains:read_write` - Allows access to all Domain endpoints. `events:read_only` - Allows access to GET your Events. `events:read_write` - Allows access to all endpoints related to your Events. `firewall:read_only` - Allows access to GET information about your Firewalls. `firewall:read_write` - Allows access to all Firewall endpoints. `images:read_only` - Allows access to GET your Images. `images:read_write` - Allows access to all endpoints related to your Images. `ips:read_only` - Allows access to GET your ips. `ips:read_write` - Allows access to all endpoints related to your ips. `linodes:read_only` - Allows access to GET Linodes on your Account. `linodes:read_write` - Allow access to all endpoints related to your Linodes. `lke:read_only` - Allows access to GET LKE Clusters on your Account. `lke:read_write` - Allows access to all endpoints related to LKE Clusters on your Account. `longview:read_only` - Allows access to GET your Longview Clients. `longview:read_write` - Allows access to all endpoints related to your Longview Clients. `nodebalancers:read_only` - Allows access to GET NodeBalancers on your Account. `nodebalancers:read_write` - Allows access to all NodeBalancer endpoints. `object_storage:read_only` - Allows access to GET information related to your Object Storage. `object_storage:read_write` - Allows access to all Object Storage endpoints. `stackscripts:read_only` - Allows access to GET your StackScripts. `stackscripts:read_write` - Allows access to all endpoints related to your StackScripts. `volumes:read_only` - Allows access to GET your Volumes. `volumes:read_write` - Allows access to all endpoints related to your Volumes. `vpc:read_write` - Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion. |
-
- ## Requests
-
- Requests must be made over HTTPS to ensure transactions are encrypted. Data included in requests must be supplied in json format unless otherwise specified in the command description.
-
- The following request methods are supported:
-
- | METHOD | USAGE |
- |---------|-------|
- | GET | Retrieves data about collections and individual resources. |
- | POST | For collections, creates a new resource of that type. Also used to perform actions on action endpoints. |
- | PUT | Updates an existing resource. |
- | DELETE | Deletes a resource. This is a destructive action. |
- | HEAD | Returns only the response header information of a GET request |
- | OPTIONS | Provides permitted communication options for a command |
-
- ## Responses
-
- ### Response Status Codes
-
- Actions will return one of the following HTTP response status codes:
-
- | STATUS | DESCRIPTION |
- |---------|-------------|
- | 200 OK | The request was successful. |
- | 202 Accepted | The request was successful, but processing has not been completed. The response body includes a "warnings" array containing the details of incomplete processes. |
- | 204 No Content | The server successfully fulfilled the request and there is no additional content to send. |
- | 299 Deprecated | The request was successful, but involved a deprecated endpoint. The response body includes a "warnings" array containing warning messages. |
- | 400 Bad Request | You submitted an invalid request (missing parameters, etc.). |
- | 401 Unauthorized | You failed to authenticate for this resource. |
- | 403 Forbidden | You are authenticated, but don't have permission to do this. |
- | 404 Not Found | The resource you're requesting does not exist. |
- | 429 Too Many Requests | You've hit a rate limit. |
- | 500 Internal Server Error | Please [open a Support Ticket](/docs/api/support/#support-ticket-open). |
-
- ### Response Headers
-
- There are many ways to access response header information for individual command URLs, depending on how you are accessing the Linode API. For example, to view HTTP response headers for the `/regions` endpoint when making requests with `curl`, use the `-I` or `--head` option as follows:
-
- ```Shell
- curl -I https://api.linode.com/v4/regions
- ```
-
- Responses may include the following headers:
-
- | HEADER | DESCRIPTION | EXAMPLE |
- |--------|-------------|---------|
- | Access-Control-Allow-Credentials | Responses to credentialed requests are exposed to frontend JavaScript code. | true |
- | Access-Control-Allow-Headers | All permissible request headers for this endpoint. | Authorization, Origin, X-Requested-With, Content-Type, Accept, X-Filter |
- | Access-Control-Allow-Methods | Permissible HTTP methods for this endpoint | HEAD, GET, OPTIONS, POST, PUT, DELETE |
- | Access-Control-Allow-Origin | Indicates origin access permissions. The wildcard character `*` means any origin can access the resource. | * |
- | Access-Control-Expose-Headers | Available headers to include in response to cross-origin requests. | X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Status |
- | Cache-Control | Controls caching in browsers and shared caches such as CDNs. | private, max-age=60, s-maxage=60 |
- | Content-Security-Policy | Controls which resources are allowed to load. By default, resources do not load. | default-src 'none' |
- | Content-Type | All responses are in json format. | application/json |
- | Content-Warning | A message containing instructions for successful requests that were not able to be completed. | Please contact support for assistance. |
- | Retry-After | The remaining time in seconds until the current [rate limit](#rate-limiting) window resets. | 60 |
- | Strict-Transport-Security | Enforces HTTPS-only access until the returned time in seconds. | max-age=31536000 |
- | Vary | Optional request headers that affected the response content. | Authorization, X-Filter |
- | X-Accepted-OAuth-Scopes | Required [scopes](#oauth-reference) for accessing the requested command. | linodes:read_only |
- | X-Customer-UUID | A unique identifier for the account owning the the [personal access token](#personal-access-token) that was used for the request. | ABCDEF01-3456-789A-BCDEF0123456789A |
- | X-OAuth-Scopes | Allowed [scopes](#oauth-reference) associated with the [personal access token](#personal-access-token) that was used for the request. A value of `*` indicates read/write access for all scope categories. | images:read_write linodes:read_only |
- | X-RateLimit-Limit | The maximum number of permitted requests during the [rate limit](#rate-limiting) window for this endpoint. | 800 |
- | X-RateLimit-Remaining | The remaining number of permitted requests in the current [rate limit](#rate-limiting) window. | 798 |
- | X-RateLimit-Reset | The time when the current [rate limit](#rate-limiting) window rests in UTC epoch seconds. | 1674747739 |
- | X-Spec-Version | The current API version that handled the request. | 4.150.0 |
-
- ## Errors
-
- Success is indicated via Standard HTTP status codes .
- `2xx` codes indicate success, `4xx` codes indicate a request error, and
- `5xx` errors indicate a server error. A
- request error might be an invalid input, a required parameter being omitted,
- or a malformed request. A server error means something went wrong processing
- your request. If this occurs, please
- [open a Support Ticket](/docs/api/support/#support-ticket-open)
- and let us know. Though errors are logged and we work quickly to resolve issues,
- opening a ticket and providing us with reproducible steps and data is always helpful.
-
- The `errors` field is an array of the things that went wrong with your request.
- We will try to include as many of the problems in the response as possible,
- but it's conceivable that fixing these errors and resubmitting may result in
- new errors coming back once we are able to get further along in the process
- of handling your request.
-
- Within each error object, the `field` parameter will be included if the error
- pertains to a specific field in the JSON you've submitted. This will be
- omitted if there is no relevant field. The `reason` is a human-readable
- explanation of the error, and will always be included.
-
- ## Pagination
-
- Resource lists are always paginated. The response will look similar to this:
-
- ```json
- {
- "data": [ ... ],
- "page": 1,
- "pages": 3,
- "results": 300
- }
- ```
-
- * Pages start at 1. You may retrieve a specific page of results by adding
- `?page=x` to your URL (for example, `?page=4`). If the value of `page`
- exceeds `2^64/page_size`, the last possible page will be returned.
-
-
- * Page sizes default to 100,
- and can be set to return between 25 and 500. Page size can be set using
- `?page_size=x`.
-
- ## Filtering and Sorting
-
- Collections are searchable by fields they include, marked in the spec as
- `x-linode-filterable: true`. Filters are passed
- in the `X-Filter` header and are formatted as JSON objects. Here is a request
- call for Linode Types in our "standard" class:
-
- ```Shell
- curl "https://api.linode.com/v4/linode/types" \
- -H 'X-Filter: { "class": "standard" }'
- ```
-
- The filter object's keys are the keys of the object you're filtering,
- and the values are accepted values. You can add multiple filters by
- including more than one key. For example, filtering for "standard" Linode
- Types that offer one vcpu:
-
- ```Shell
- curl "https://api.linode.com/v4/linode/types" \
- -H 'X-Filter: { "class": "standard", "vcpus": 1 }'
- ```
-
- In the above example, both filters are combined with an "and" operation.
- However, if you wanted either Types with one vcpu or Types in our "standard"
- class, you can add an operator:
-
- ```Shell
- curl "https://api.linode.com/v4/linode/types" \
- -H 'X-Filter: { "+or": [ { "vcpus": 1 }, { "class": "standard" } ] }'
- ```
-
- Each filter in the `+or` array is its own filter object, and all conditions
- in it are combined with an "and" operation as they were in the previous example.
-
- Other operators are also available. Operators are keys of a Filter JSON
- object. Their value must be of the appropriate type, and they are evaluated
- as described below:
-
- | OPERATOR | TYPE | DESCRIPTION |
- |----------|--------|-----------------------------------|
- | +and | array | All conditions must be true. |
- | +or | array | One condition must be true. |
- | +gt | number | Value must be greater than number. |
- | +gte | number | Value must be greater than or equal to number. |
- | +lt | number | Value must be less than number. |
- | +lte | number | Value must be less than or equal to number. |
- | +contains | string | Given string must be in the value. |
- | +neq | string | Does not equal the value. |
- | +order_by | string | Attribute to order the results by - must be filterable. |
- | +order | string | Either "asc" or "desc". Defaults to "asc". Requires `+order_by`. |
-
- For example, filtering for [Linode Types](/docs/api/linode-types/)
- that offer memory equal to or higher than 61440:
-
- ```Shell
- curl "https://api.linode.com/v4/linode/types" \
- -H '
- X-Filter: {
- "memory": {
- "+gte": 61440
- }
- }'
- ```
-
- You can combine and nest operators to construct arbitrarily-complex queries.
- For example, give me all [Linode Types](/docs/api/linode-types/)
- which are either `standard` or `highmem` class, or
- have between 12 and 20 vcpus:
-
- ```Shell
- curl "https://api.linode.com/v4/linode/types" \
- -H '
- X-Filter: {
- "+or": [
- {
- "+or": [
- {
- "class": "standard"
- },
- {
- "class": "highmem"
- }
- ]
- },
- {
- "+and": [
- {
- "vcpus": {
- "+gte": 12
- }
- },
- {
- "vcpus": {
- "+lte": 20
- }
- }
- ]
- }
- ]
- }'
- ```
- ## Time Values
-
- All times returned by the API are in UTC, regardless of the timezone configured within your user's profile (see `timezone` property within [Profile View](/docs/api/profile/#profile-view__responses)).
-
- ## Rate Limiting
-
- Rate limits on API requests help maintain the health and stability of the Linode API. Accordingly, every endpoint of the Linode API applies a rate limit on a per user basis as determined by OAuth token for authenticated requests or IP address for public endpoints.
-
- Each rate limit consists of a total number of requests and a time window. For example, if an endpoint has a rate limit of 800 requests per minute, then up to 800 requests over a one minute window are permitted. Subsequent requests to an endpoint after hitting a rate limit return a 429 error. You can successfully remake requests to that endpoint after the rate limit window resets.
-
- ### Linode APIv4 Rate Limits
-
- With the Linode API, you can generally make up to 800 general API requests every two minutes. Additionally, all commands have a rate limit of 400 requests per minute, and all GET commands that return paginated data collections have a rate limit of 200 requests per minute, unless otherwise specified below.
-
- **Note:** There may be rate limiting applied at other levels outside of the API, for example, at the load balancer.
-
- Creating Linodes has a dedicated rate limit of 10 requests per 30 seconds. That endpoint is:
-
- * [Linode Create](/docs/api/linode-instances/#linode-create)
-
- Creating Volumes has a dedicated rate limit of 25 requests per minute. That endpoint is:
-
- * [Volume Create](/docs/api/volumes/#volume-create)
-
- Listing Images has a dedicated rate limit of 20 requests per minute. That endpoint is:
-
- * [Images List](/docs/api/images/#images-list)
-
- `/stats` endpoints have their own dedicated rate limits of 50 requests per minute. These endpoints are:
-
- * [View Linode Statistics](/docs/api/linode-instances/#linode-statistics-view)
- * [View Linode Statistics (year/month)](/docs/api/linode-instances/#statistics-yearmonth-view)
- * [View NodeBalancer Statistics](/docs/api/nodebalancers/#nodebalancer-statistics-view)
- * [List Managed Stats](/docs/api/managed/#managed-stats-list)
-
- Object Storage endpoints have a dedicated rate limit of 750 requests per second. The Object Storage endpoints are:
-
- * [Object Storage Endpoints](/docs/api/object-storage/)
-
- Opening Support Tickets has a dedicated rate limit of 2 requests per minute. That endpoint is:
-
- * [Open Support Ticket](/docs/api/support/#support-ticket-open)
-
- Accepting Service Transfers has a dedicated rate limit of 2 requests per minute. That endpoint is:
-
- * [Service Transfer Accept](/docs/api/account/#service-transfer-accept)
-
- ### Rate Limit HTTP Response Headers
-
- The Linode API includes the following HTTP response headers which are designed to help you avoid hitting rate limits which might disrupt your applications:
-
- * **X-RateLimit-Limit**: The maximum number of permitted requests during the rate limit window for this endpoint.
- * **X-RateLimit-Remaining**: The remaining number of permitted requests in the current rate limit window.
- * **X-RateLimit-Reset**: The time when the current rate limit window rests in UTC epoch seconds.
- * **Retry-After**: The remaining time in seconds until the current rate limit window resets.
-
- ## CLI (Command Line Interface)
-
- The Linode CLI allows you to easily
- work with the API using intuitive and simple syntax. It requires a
- [Personal Access Token](/docs/api/#personal-access-token)
- for authentication, and gives you access to all of the features and functionality
- of the Linode API that are documented here with CLI examples.
-
- Endpoints that do not have CLI examples are currently unavailable through the CLI, but
- can be accessed via other methods such as Shell commands and other third-party applications.
-
- contact:
- name: Linode
- url: https://linode.com
- email: support@linode.com
-servers:
-- url: https://api.linode.com/v4
-- url: https://api.linode.com/v4beta
-paths:
- /account:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Account View
- description: >
- Returns the contact and billing information related to
- your Account.
- operationId: getAccount
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a single Account object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Account'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account
- - lang: CLI
- source: >
- linode-cli account view
- put:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Account Update
- description: |
- Updates contact and billing information related to your account. If you exclude any properties from the request, the operation leaves them unchanged.
-
- **Note:** When updating an account's `country` to "US", you'll get an error if the account's `zip` is not a valid US zip code.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * You can't change the `company` for a parent account. Akamai uses this value to set the name for a child account parent user (proxy user) on any child account.
-
- * Child account users can't run this operation. These users don't have access to billing-related operations.
- operationId: updateAccount
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: |
- Updated contact and billing information.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Account'
- responses:
- '200':
- description: The updated Account.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Account'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "address_1": "123 Main St.",
- "address_2": "Suite 101",
- "city": "Philadelphia",
- "company": "My Company, LLC",
- "country": "US",
- "email": "jsmith@mycompany.com",
- "first_name": "John",
- "last_name": "Smith",
- "phone": "555-555-1212",
- "state": "PA",
- "tax_id": "ATU99999999",
- "zip": "19102"
- }' \
- https://api.linode.com/v4/account
- - lang: CLI
- source: >
- linode-cli account update \
- --address_1 "123 Main St." \
- --address_2 "Suite 101" \
- --city Philadelphia \
- --company My Company \ LLC \
- --country US \
- --email jsmith@mycompany.com \
- --first_name John \
- --last_name Smith \
- --phone 555-555-1212 \
- --state PA \
- --tax_id ATU99999999 \
- --zip 19102
- /account/availability:
- x-linode-cli-command: account
- get:
- tags:
- - account
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: Account Availability
- description: |
- Returns a paginated list of the services available to you, for all Linode regions.
-
- **Note**: Only authorized Users can access this endpoint.
- operationId: getAvailability
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- x-linode-cli-action: get-availability
- x-linode-grant: read_only
- responses:
- '200':
- description: |
- List of regions and the services available in each.
- content:
- application/json:
- schema:
- allOf:
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/AccountAvailability'
- - $ref: '#/components/schemas/PaginationEnvelope'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/account/availability \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli account get-availability
- /account/availability/{id}:
- x-linode-cli-command: account
- parameters:
- - name: id
- in: path
- description: The slug for the applicable data center. Run the [GET /regions](/docs/api/regions/#regions-list) operation to view the slug for each data center.
- required: true
- schema:
- type: string
- get:
- tags:
- - account
- summary: Region Service Availability
- description: |
- View the available services for your account in a specific region.
-
- **Note**: Only authorized users can access this.
- operationId: getAccountAvailability
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- x-linode-cli-action: get-account-availability
- x-linode-grant: read_only
- responses:
- '200':
- description: The services available in the specified region.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/AccountAvailability'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/account/availability/us-east \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli account get-account-availability us-east
- /account/betas:
- x-linode-cli-command: betas
- get:
- tags:
- - Beta Programs
- summary: Enrolled Beta Programs List
- operationId: getEnrolledBetaPrograms
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- x-linode-cli-action: enrolled
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- Display all enrolled Beta Programs for your Account. Includes inactive as well as active Beta Programs.
-
- Only unrestricted Users can access this command.
- responses:
- '200':
- description: Returns a paginated list of all enrolled Beta Program objects for the Account.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/BetaProgramEnrolled'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/account/betas \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli betas enrolled
- post:
- tags:
- - Beta Programs
- summary: Beta Program Enroll
- operationId: enrollBetaProgram
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- x-linode-cli-action: enroll
- x-linode-grant: unrestricted only
- description: |
- Enroll your Account in an active Beta Program.
-
- Only unrestricted Users can access this command.
-
- To view active Beta Programs, use the Beta Programs List command.
-
- Active Beta Programs may have a limited number of enrollments. If a Beta Program has reached is maximum number of enrollments, an error is returned even though the request is successful.
-
- Beta Programs with `"greenlight_only": true` can only be enrolled by Accounts that participate in the [Greenlight](https://www.linode.com/green-light/) program.
- requestBody:
- description: Updated information for the Managed MySQL Database.
- required: true
- content:
- application/json:
- schema:
- required:
- - id
- type: object
- description: The Beta Program ID to enroll in for your Account.
- properties:
- id:
- $ref: '#/components/schemas/BetaProgram/properties/id'
- responses:
- '200':
- description: Enrollment request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/account/betas \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "id": "example_open"
- }'
- - lang: CLI
- source: >
- linode-cli betas enroll --id example_open
- /account/betas/{betaId}:
- x-linode-cli-command: betas
- parameters:
- - $ref: '#/components/parameters/betaId'
- get:
- tags:
- - Beta Programs
- summary: Enrolled Beta Program View
- operationId: getEnrolledBetaProgram
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- x-linode-cli-action: enrolled-view
- x-linode-grant: unrestricted only
- description: |
- Display an enrolled Beta Program for your Account. The Beta Program may be inactive.
-
- Only unrestricted Users can access this command.
- responses:
- '200':
- description: Returns an enrolled Beta Program object for the Account.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/BetaProgramEnrolled'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/account/betas/$betaId \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli betas enrolled-view $betaId
- /account/cancel:
- x-linode-cli-command: account
- post:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Account Cancel
- description: >
- Cancels an active Linode account. Akamai attempts to charge the credit card on file for any remaining
- balance. An error occurs if this charge fails.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * A child account user can't cancel a child account.
-
- * You can't cancel a parent account if it has an active child account.
-
- * You need to work with your Akamai account team to dissolve any parent-child account relationships before you can fully cancel a child or parent account.
- operationId: cancelAccount
- x-linode-cli-action: cancel
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- Supply a comment stating the reason that you are cancelling your account.
- required: true
- content:
- application/json:
- schema:
- properties:
- comments:
- type: string
- description: >
- Any reason for cancelling the account, and any other comments
- you might have about your Linode service.
- example: "I'm consolidating multiple accounts into one."
- responses:
- '200':
- description: Account canceled
- content:
- application/json:
- schema:
- type: object
- properties:
- survey_link:
- type: string
- description: A link to Linode's exit survey.
- example: {"survey_link": "https://alinktothesurvey.com"}
- '409':
- description: Could not charge the credit card on file
- content:
- application/json:
- schema:
- type: object
- properties:
- errors:
- type: array
- items:
- type: object
- properties:
- reason:
- type: string
- description: >
- A string explaining that the account could not be canceled
- because there is an outstanding balance on the account
- that must be paid first.
- example: >
- We were unable to charge your credit
- card for services rendered. We cannot cancel
- this account until the balance has been paid.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "comments": "I am consolidating my accounts."
- }' \
- https://api.linode.com/v4/account/cancel
- - lang: CLI
- source: >
- linode-cli account cancel \
- --comments "I'm consolidating my accounts"
- /account/child-accounts:
- x-linode-cli-command: child-account
- get:
- x-linode-grant: child_account_access
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Child Account List
- description: |
- Returns a paginated list of basic information for the child accounts that exist for your parent account. See [Parent and Child Accounts for Akamai Partners](/docs/guides/parent-child-accounts/) for details on these accounts.
-
- **Note:** This command can only be accessed by an unrestricted parent user, or restricted parent user with the `child_account_access` grant.
- operationId: getChildAccounts
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - child_account:read_only
- responses:
- '200':
- description: Returns child-level accounts.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ChildAccount'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/child-accounts
- - lang: CLI
- source: >
- linode-cli child-account list
- /account/child-accounts/{euuid}:
- x-linode-cli-command: child-account
- parameters:
- - name: euuid
- in: path
- description: The child account to look up. You can run the [Child Account List](#child-account-list) operation to find the applicable account and store its `euuid`.
- required: true
- schema:
- type: string
- get:
- x-linode-grant: child_account_access
- tags:
- - Account
- summary: Child Account View
- description: >
- View a specific child account based on its `euuid`. See [Parent and Child Accounts for Akamai Partners](/docs/guides/parent-child-accounts/) for details on these accounts.
-
- **Note:** This command can only be accessed by an unrestricted user, or restricted user with the `child_account_access` grant.
- operationId: viewChildAccount
- x-linode-cli-action:
- - view
- security:
- - personalAccessToken: []
- - oauth:
- - child_account:read_only
- responses:
- '200':
- description: Returns the child-level account for a specified `euuid`.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ChildAccount'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/child-accounts/A1BC2DEF-34GH-567I-J890KLMN12O34P56
- - lang: CLI
- source: >
- linode-cli child-account view A1BC2DEF-34GH-567I-J890KLMN12O34P56
- /account/child-accounts/{euuid}/token:
- x-linode-cli-command: child-account
- parameters:
- - name: euuid
- in: path
- description: The child account to look up. You can run the [Child Account List](#child-account-list) operation to find the applicable account and store its `euuid`.
- required: true
- schema:
- type: string
- post:
- x-linode-grant: child_account_access
- tags:
- - Account
- summary: Proxy User Token Create
- description: |
- Create a short-lived bearer token for a parent user on a child account, using the `euuid` of that child account. In the context of the API, a parent user on a child account is referred to as a "proxy user." When Akamai provisions your parent-child account environment, a proxy user is automatically set in the child account. It follows a specific naming convention:
-
- _
-
- **Note:** The variables above use only the first 15 and 16 characters of these values, respectively.
-
- The token lets a parent account run API operations through the proxy user, as if they are a child user in the child account.
-
- These points apply to the use of this operation:
-
- * To create a token, a parent account user needs the `child_account_access` grant. This lets them use the proxy user on the child account. You can [view](#users-grants-view) a parent account user to check its `child_account_access` setting. To add this access, you can [update](#users-grants-update) the parent account user.
-
- * The created token inherits the permissions of the proxy user. It will never have less.
-
- * The API returns the raw token in the response. You can't get it again, so be sure to store it.
-
- Example workflow:
-
- 1. [List child accounts](#child-account-list) and store the `euuid` for the applicable one.
- 2. Run this operation and store the `token` that's created for the proxy user.
- 3. As a parent account user with access to the proxy user in the child account, use this `token` to authenticate API operations, as if you were a child user.
- operationId: createChildAccountToken
- x-linode-cli-action:
- - create
- security:
- - personalAccessToken: []
- - oauth:
- - child_account:read_write
- responses:
- '200':
- description: Token created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ProxyUserToken'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/child-accounts/A1BC2DEF-34GH-567I-J890KLMN12O34P56/token
- - lang: CLI
- source: >
- linode-cli child-account create A1BC2DEF-34GH-567I-J890KLMN12O34P56
- /account/credit-card:
- x-linode-cli-command: account
- post:
- deprecated: true
- x-linode-cli-skip: true
- x-linode-grant: read_write
- tags:
- - Account
- summary: Credit Card Add/Edit
- description: |
- **DEPRECATED**. Please use Payment Method Add ([POST /account/payment-methods](/docs/api/account/#payment-method-add)).
-
- Adds a credit card Payment Method to your account and sets it as the default method.
- operationId: createCreditCard
- x-linode-cli-action: update-card
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Update the credit card information associated with your Account.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreditCard'
- responses:
- '200':
- description: Credit Card updated.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "card_number": "4111111111111111",
- "expiry_month": 11,
- "expiry_year": 2020,
- "cvv": "111"
- }' \
- https://api.linode.com/v4/account/credit-card
- - lang: CLI
- source: >
- linode-cli account update-card \
- --card_number 4111111111111111 \
- --expiry_month 11 \
- --expiry_year 2025 \
- --cvv 111
- /account/entity-transfers:
- get:
- deprecated: true
- x-linode-grant: unrestricted only
- x-linode-cli-skip: true
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Entity Transfers List
- description: >
- **DEPRECATED**. Please use [Service Transfers List](/docs/api/account/#service-transfers-list).
- operationId: getEntityTransfers
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- Returns a paginated list of Entity Transfer objects containing the details of all transfers that have been
- created and accepted by this account.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/EntityTransfer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/entity-transfers
- post:
- deprecated: true
- x-linode-grant: unrestricted only
- x-linode-cli-skip: true
- tags:
- - Account
- summary: Entity Transfer Create
- description: >
- **DEPRECATED**. Please use [Service Transfer Create](/docs/api/account/#service-transfer-create).
- operationId: createEntityTransfer
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The entities to include in this transfer request.
- content:
- application/json:
- schema:
- required:
- - entities
- type: object
- properties:
- entities:
- $ref: '#/components/schemas/EntityTransfer/properties/entities'
- responses:
- '200':
- description: >
- Returns an Entity Transfer object for the request.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/EntityTransfer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "entities": {
- "linodes": [
- 111,
- 222
- ]
- }
- }' \
- https://api.linode.com/v4/account/entity-transfers
- /account/entity-transfers/{token}:
- parameters:
- - name: token
- in: path
- description: The UUID of the Entity Transfer.
- required: true
- schema:
- type: string
- format: uuid
- get:
- deprecated: true
- x-linode-grant: unrestricted only
- x-linode-cli-skip: true
- tags:
- - Account
- summary: Entity Transfer View
- description: >
- **DEPRECATED**. Please use [Service Transfer View](/docs/api/account/#service-transfer-view).
- operationId: getEntityTransfer
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- Returns an Entity Transfer object containing the details of the transfer for the specified token.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/EntityTransfer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/entity-transfers/123E4567-E89B-12D3-A456-426614174000
- delete:
- deprecated: true
- x-linode-grant: unrestricted only
- x-linode-cli-skip: true
- tags:
- - Account
- summary: Entity Transfer Cancel
- description: >
- **DEPRECATED**. Please use [Service Transfer Cancel](/docs/api/account/#service-transfer-cancel).
- operationId: deleteEntityTransfer
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: >
- Entity Transfer canceled.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/account/entity-transfers/123E4567-E89B-12D3-A456-426614174000
- /account/entity-transfers/{token}/accept:
- parameters:
- - name: token
- in: path
- description: The UUID of the Entity Transfer.
- required: true
- schema:
- type: string
- format: uuid
- post:
- deprecated: true
- x-linode-grant: unrestricted only
- x-linode-cli-skip: true
- tags:
- - Account
- summary: Entity Transfer Accept
- description: >
- **DEPRECATED**. Please use [Service Transfer Accept](/docs/api/account/#service-transfer-accept).
- operationId: acceptEntityTransfer
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: >
- Entity Transfer accepted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/entity-transfers/123E4567-E89B-12D3-A456-426614174000/accept
- /account/events:
- x-linode-cli-command: events
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Events List
- description: >
- Returns a collection of Event objects representing
- actions taken on your Account from the last 90 days.
- The Events returned depend on your grants.
- operationId: getEvents
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - events:read_only
- responses:
- '200':
- description: >
- Returns a paginated lists of Event objects from
- the last 90 days.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Event'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/events
- - lang: CLI
- source: >
- linode-cli events list
- /account/events/{eventId}:
- x-linode-cli-command: events
- parameters:
- - name: eventId
- in: path
- description: The ID of the Event.
- required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Event View
- description: >
- Returns a single Event object.
- operationId: getEvent
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - events:read_only
- responses:
- '200':
- description: An Event object
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Event'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/events/123
- - lang: CLI
- source: >
- linode-cli events view 123
- /account/events/{eventId}/read:
- x-linode-cli-command: events
- parameters:
- - name: eventId
- in: path
- description: The ID of the Event to designate as read.
- required: true
- schema:
- type: integer
- post:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Event Mark as Read
- description: Marks a single Event as read.
- operationId: eventRead
- x-linode-cli-action: mark-read
- security:
- - personalAccessToken: []
- - oauth:
- - events:read_only
- responses:
- '200':
- description: Event read.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/events/123/read
- - lang: CLI
- source: >
- linode-cli events mark-read 123
- /account/events/{eventId}/seen:
- x-linode-cli-command: events
- parameters:
- - name: eventId
- in: path
- description: The ID of the Event to designate as seen.
- required: true
- schema:
- type: integer
- post:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Event Mark as Seen
- description: >
- Marks all Events up to and including this Event by ID as seen.
- operationId: eventSeen
- x-linode-cli-action: mark-seen
- security:
- - personalAccessToken: []
- - oauth:
- - events:read_only
- responses:
- '200':
- description: Events seen.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/events/123/seen
- - lang: CLI
- source: >
- linode-cli events mark-seen 123
- /account/invoices:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Invoices List
- description: >
- Returns a paginated list of Invoices against your Account.
- operationId: getInvoices
- x-linode-cli-action: invoices-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of Invoice objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Invoice'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/invoices
- - lang: CLI
- source: >
- linode-cli account invoices-list
- /account/invoices/{invoiceId}:
- x-linode-cli-command: account
- parameters:
- - name: invoiceId
- in: path
- description: The ID of the Invoice.
- required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Invoice View
- description: Returns a single Invoice object.
- operationId: getInvoice
- x-linode-cli-action: invoice-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: An Invoice object
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Invoice'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/invoices/123
- - lang: CLI
- source: >
- linode-cli account invoice-view 123
- /account/invoices/{invoiceId}/items:
- x-linode-cli-command: account
- parameters:
- - name: invoiceId
- in: path
- description: The ID of the Invoice.
- required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Invoice Items List
- description: Returns a paginated list of Invoice items.
- operationId: getInvoiceItems
- x-linode-cli-action: invoice-items
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of InvoiceItem objects
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/InvoiceItem'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/invoices/123/items
- - lang: CLI
- source: >
- linode-cli account invoice-items 123
- /account/logins:
- x-linode-cli-command: account
- get:
- tags:
- - Account
- summary: User Logins List All
- description: >
- Returns a collection of successful logins for all users on the account during the last
- 90 days. This command can only be accessed by the unrestricted users of an account.
- operationId: getAccountLogins
- x-linode-cli-action: logins-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- A collection of successful logins for all users on the account during the last
- 90 days.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Login'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/logins
- - lang: CLI
- source: >
- linode-cli account logins-list
- /account/logins/{loginId}:
- parameters:
- - name: loginId
- in: path
- description: The ID of the login object to access.
+openapi: "3.0.1"
+info:
+ license:
+ url: "https://www.apache.org/licenses/LICENSE-2.0.html"
+ name: "Apache 2.0"
+ description: "[Read the API documentation](https://techdocs.akamai.com/linode-api/reference/api)."
+ contact:
+ email: "support@linode.com"
+ name: "Linode"
+ url: "https://linode.com"
+ version: "4.176.0"
+ title: "Linode API"
+servers:
+ -
+ url: "https://api.linode.com"
+x-readme:
+ samples-languages:
+ - "curl"
+ - "python"
+ - "node"
+x-akamai:
+ file-path: "01-account.yaml"
+ auth-type: "OAUTH"
+externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference"
+ description: "See documentation for Akamai's Linode API"
+components:
+ parameters:
+ id-path:
+ in: "path"
required: true
- schema:
- type: integer
- x-linode-cli-command: account
- get:
- tags:
- - Account
- summary: Login View
- description: >
- Returns a Login object that displays information about a successful login.
- The logins that can be viewed can be for any user on the account, and are not
- limited to only the logins of the user that is accessing this API endpoint.
- This command can only be accessed by the unrestricted users of the account.
- operationId: getAccountLogin
- x-linode-cli-action: login-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested login object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Login'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/logins/1234
- - lang: CLI
- source: >
- linode-cli account login-view 1234
- /account/maintenance:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- tags:
- - Account
- summary: Maintenance List
- description: |
- Returns a collection of Maintenance objects for any entity a user has permissions to view. Canceled Maintenance objects are not returned.
-
- Currently, Linodes are the only entities available for viewing.
- operationId: getMaintenance
- x-linode-cli-action: maintenance-list
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: Returns a paginated list of Maintenance objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Maintenance'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/maintenance
- - lang: CLI
- source: >
- linode-cli account maintenance-list
- /account/notifications:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Notifications List
- description: >
- Returns a collection of Notification objects representing
- important, often time-sensitive items related to your Account.
-
- You cannot interact directly with Notifications, and a Notification will disappear
- when the circumstances causing it have been resolved. For
- example, if you have an important Ticket open, you must respond to the
- Ticket to dismiss the Notification.
- operationId: getNotifications
- x-linode-cli-action: notifications-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of Notification objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Notification'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/notifications
- - lang: CLI
- source: >
- linode-cli account notifications-list
- /account/oauth-clients:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: OAuth Clients List
- description: >
- Returns a paginated list of OAuth Clients registered to your Account. OAuth
- Clients allow users to log into applications you write or host using their
- Linode Account, and may allow them to grant some level of access to their
- Linodes or other entities to your application.
- operationId: getClients
- x-linode-cli-action: clients-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of OAuth Clients.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/OAuthClient'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/oauth-clients
- - lang: CLI
- source: >
- linode-cli account clients-list
- post:
- tags:
- - Account
- summary: OAuth Client Create
- description: >
- Creates an OAuth Client, which can be used to allow users
- (using their Linode account) to log in to your own application, and optionally grant
- your application some amount of access to their Linodes or other entities.
- operationId: createClient
- x-linode-cli-action: client-create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the OAuth Client to create.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/OAuthClient'
- required:
- - label
- - redirect_uri
- responses:
- '200':
- description: Client created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OAuthClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "redirect_uri": "https://example.org/oauth/callback",
- "label": "Test_Client_1",
- "public": false
- }' \
- https://api.linode.com/v4/account/oauth-clients
- - lang: CLI
- source: >
- linode-cli account client-create \
- --label Test_Client_1 \
- --redirect_uri https://example.org/callback
- /account/oauth-clients/{clientId}:
- parameters:
- - name: clientId
- in: path
- description: The OAuth Client ID to look up.
- required: true
- schema:
- type: string
- x-linode-cli-command: account
- get:
- tags:
- - Account
- summary: OAuth Client View
- description: >
- Returns information about a single OAuth client.
- operationId: getClient
- x-linode-cli-action: client-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Information about the requested client.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OAuthClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c
- - lang: CLI
- source: >
- linode-cli account client-view \
- edc6790ea9db4d224c5c
- put:
- tags:
- - Account
- summary: OAuth Client Update
- description: >
- Update information about an OAuth Client on your Account. This can be
- especially useful to update the `redirect_uri` of your client in the event
- that the callback url changed in your application.
- operationId: updateClient
- x-linode-cli-action: client-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The fields to update.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OAuthClient'
- responses:
- '200':
- description: Client updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OAuthClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "redirect_uri": "https://example.org/oauth/callback",
- "label": "Test_Client_1"
- }
- }' \
- https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c
- - lang: CLI
- source: >
- linode-cli account client-update \
- edc6790ea9db4d224c5c \
- --label Test_Client_1
- delete:
- tags:
- - Account
- summary: OAuth Client Delete
- description: >
- Deletes an OAuth Client registered with Linode. The Client ID and
- Client secret will no longer be accepted by https://login.linode.com ,
- and all tokens issued to this client will be invalidated (meaning that
- if your application was using a token, it will no longer work).
- operationId: deleteClient
- x-linode-cli-action: client-delete
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Client deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c
- - lang: CLI
- source: >
- linode-cli account client-delete \
- edc6790ea9db4d224c5c
- /account/oauth-clients/{clientId}/reset-secret:
- x-linode-cli-command: account
- parameters:
- - name: clientId
- in: path
- description: The OAuth Client ID to look up.
- required: true
- schema:
- type: string
- post:
- tags:
- - Account
- summary: OAuth Client Secret Reset
- description: >
- Resets the OAuth Client secret for a client you own, and returns the
- OAuth Client with the plaintext secret. This secret is not supposed to
- be publicly known or disclosed anywhere. This can be used to generate
- a new secret in case the one you have has been leaked, or to get a new
- secret if you lost the original. The old secret is expired immediately,
- and logins to your client with the old secret will fail.
- operationId: resetClientSecret
- x-linode-cli-action: client-reset-secret
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Client secret reset successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OAuthClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/reset-secret
- - lang: CLI
- source: >
- linode-cli account client-reset-secret \
- edc6790ea9db4d224c5c
- /account/oauth-clients/{clientId}/thumbnail:
- x-linode-cli-command: account
- parameters:
- - name: clientId
- in: path
- description: The OAuth Client ID to look up.
- required: true
- schema:
- type: string
- get:
- tags:
- - Account
- summary: OAuth Client Thumbnail View
- description: >
- Returns the thumbnail for this OAuth Client. This is a
- publicly-viewable endpoint, and can be accessed without authentication.
- operationId: getClientThumbnail
- x-linode-cli-skip: true
- x-linode-cli-action: client-thumbnail
- responses:
- '200':
- description: The client's thumbnail.
- content:
- image/png:
- schema:
- type: string
- format: binary
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail > thumbnail.png
- put:
- tags:
- - Account
- summary: OAuth Client Thumbnail Update
- description: >
- Upload a thumbnail for a client you own. You must upload an image file
- that will be returned when the thumbnail is retrieved. This image will
- be publicly-viewable.
- operationId: setClientThumbnail
- x-linode-cli-skip: true
- x-linode-cli-action: update-client-thumbnail
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The image to set as the thumbnail.
- required: true
- content:
- image/png:
- schema:
- type: string
- format: binary
- responses:
- '200':
- description: Thumbnail updated successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: image/png" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT \
- --data-binary "@/path/to/image"
- https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail
- /account/payment-methods:
- x-linode-cli-command: payment-methods
- get:
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- x-linode-grant: read_only
- tags:
- - Account
- summary: Payment Methods List
- description: |
- Returns a paginated list of Payment Methods for this Account.
- operationId: getPaymentMethods
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of Payment Method objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/PaymentMethod'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/payment-methods
- - lang: CLI
- source: >
- linode-cli payment-methods list
- post:
- servers:
- - url: https://api.linode.com/v4
- x-linode-grant: read_write
- tags:
- - Account
- summary: Payment Method Add
- description: |
- Adds a Payment Method to your Account with the option to set it as the default method.
-
- * Adding a default Payment Method removes the default status from any other Payment Method.
-
- * An Account can have up to 6 active Payment Methods.
-
- * Up to 60 Payment Methods can be added each day.
-
- * Prior to adding a Payment Method, ensure that your billing address information is up-to-date
- with a valid `zip` by using the Account Update ([PUT /account](/docs/api/account/#account-update)) endpoint.
-
- * A `payment_method_add` event is generated when a payment is successfully submitted.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * Child account users can't run this operation. These users don't have access to billing-related operations.
- operationId: createPaymentMethod
- x-linode-cli-action: add
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The details of the Payment Method to add.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: Payment Method Request Object.
- required:
- - type
- - data
- - is_default
- properties:
- type:
- type: string
- enum:
- - credit_card
- description: |
- The type of Payment Method.
-
- Alternative Payment Methods including Google Pay and PayPal can be added using the Cloud Manager. See the [Manage Payment Methods](/docs/products/platform/billing/guides/payment-methods/) guide
- for details and instructions.
- example: 'credit_card'
- is_default:
- $ref: '#/components/schemas/PaymentMethod/properties/is_default'
- data:
- $ref: '#/components/schemas/CreditCard'
- responses:
- '200':
- description: Payment Method added.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "credit_card",
- "is_default": true,
- "data": {
- "card_number": "4111111111111111",
- "expiry_month": 11,
- "expiry_year": 2020,
- "cvv": "111"
- }
- }' \
- https://api.linode.com/v4/account/payment-methods
- - lang: CLI
- source: >
- linode-cli payment-methods add \
- --type credit_card \
- --is_default true \
- --data.card_number 4111111111111111 \
- --data.expiry_month 11 \
- --data.expiry_year 2020 \
- --data.cvv 111
- /account/payment-methods/{paymentMethodId}:
- x-linode-cli-command: payment-methods
- parameters:
- - name: paymentMethodId
- in: path
- description: The ID of the Payment Method to look up.
+ x-akamai:
+ file-path: "parameters/id-path.yaml"
+ name: "id"
+ description: "The slug for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center."
+ schema:
+ type: "string"
+ payment-id-path:
required: true
- schema:
- type: integer
- get:
- servers:
- - url: https://api.linode.com/v4
- x-linode-grant: read_only
- tags:
- - Account
- summary: Payment Method View
- description: |
- View the details of the specified Payment Method.
- operationId: getPaymentMethod
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a Payment Method Object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PaymentMethod'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/payment-methods/123
- - lang: CLI
- source: >
- linode-cli payment-methods view 123
- delete:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Payment Method Delete
- description: |
- Deactivate the specified Payment Method.
-
- The default Payment Method can not be deleted. To add a new default Payment Method, access the Payment Method
- Add ([POST /account/payment-methods](/docs/api/account/#payment-method-add)) endpoint. To designate an existing
- Payment Method as the default method, access the Payment Method Make Default
- ([POST /account/payment-methods/{paymentMethodId}/make-default](/docs/api/account/#payment-method-make-default))
- endpoint.
- operationId: deletePaymentMethod
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Payment Method deactivated.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/account/payment-methods/123
- - lang: CLI
- source: >
- linode-cli payment-methods delete 123
- /account/payment-methods/{paymentMethodId}/make-default:
- x-linode-cli-command: payment-methods
- parameters:
- - name: paymentMethodId
- in: path
- description: The ID of the Payment Method to make default.
+ schema:
+ type: "integer"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/payment-id-path.yaml"
+ name: "paymentId"
+ description: "The ID of the Payment to look up."
+ payment-method-id-path-6078bc7b:
required: true
- schema:
- type: integer
- post:
- servers:
- - url: https://api.linode.com/v4
- x-linode-grant: read_write
- tags:
- - Account
- summary: Payment Method Make Default
- description: |
- Make the specified Payment Method the default method for automatically processing payments. Removes the default status from any other Payment Method.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * Child account users can't run this operation. These users don't have access to billing-related operations.
- operationId: makePaymentMethodDefault
- x-linode-cli-action: default
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Payment Method successfully set as the default method.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/payment-methods/123/make-default
- - lang: CLI
- source: >
- linode-cli payment-methods default 123
- /account/payments:
- x-linode-cli-command: account
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- x-linode-grant: read_only
- tags:
- - Account
- summary: Payments List
- description: >
- Returns a paginated list of Payments made on this Account.
- operationId: getPayments
- x-linode-cli-action: payments-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of Payment objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Payment'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/payments
- - lang: CLI
- source: >
- linode-cli account payments-list
- post:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Payment Make
- description: |
- Makes a Payment to your Account.
-
- * The requested amount is charged to the default Payment Method if no `payment_method_id` is specified.
-
- * A `payment_submitted` event is generated when a payment is successfully submitted.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * Child account users can't run this operation. These users don't have access to billing-related operations.
- operationId: createPayment
- x-linode-cli-action: payment-create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the Payment you are making.
- required: true
- content:
- application/json:
- schema:
- properties:
- usd:
- type: string
- pattern: ^\$?\d+\.\d{2}$
- description: |
- The amount in US Dollars of the Payment.
-
- * Can begin with or without `$`.
- * Commas (`,`) are not accepted.
- * Must end with a decimal expression, such as `.00` or `.99`.
- * Minimum: `$5.00` or the Account balance, whichever is lower.
- * Maximum: `$2000.00` or the Account balance up to `$50000.00`, whichever is greater.
- example: '$120.50'
- payment_method_id:
- type: integer
- description: >
- The ID of the Payment Method to apply to the Payment.
- example: 123
- responses:
- '200':
- description: Payment submitted successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Payment'
- '202':
- $ref: '#/components/responses/AcceptedResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "usd": "120.50",
- "payment_method_id": 123
- }' \
- https://api.linode.com/v4/account/payments
- - lang: CLI
- source: >
- linode-cli account payment-create \
- --usd 120.50 \
- --payment_method_id 123
- /account/payments/{paymentId}:
- x-linode-cli-command: account
- parameters:
- - name: paymentId
- in: path
- description: The ID of the Payment to look up.
+ x-akamai:
+ file-path: "parameters/payment-method-id-path-6078bc7b.yaml"
+ in: "path"
+ description: "The ID of the Payment Method to look up."
+ name: "paymentMethodId"
+ schema:
+ type: "integer"
+ client-id-path:
+ name: "clientId"
+ description: "The OAuth Client ID to look up."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/client-id-path.yaml"
required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Payment View
- description: >
- Returns information about a specific Payment.
- operationId: getPayment
- x-linode-cli-action: payment-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A Payment object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Payment'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/payments/123
- - lang: CLI
- source: >
- linode-cli account payment-view 123
- /account/payments/paypal:
- x-linode-cli-command: account
- post:
- x-linode-grant: read_only
- deprecated: true
- x-linode-cli-skip: true
- tags:
- - Account
- summary: PayPal Payment Stage
- description: |
- **Note**: This endpoint is disabled and no longer accessible. PayPal can be designated as a Payment Method for automated payments using the Cloud Manager. See [Manage Payment Methods](/docs/products/platform/billing/guides/payment-methods/).
- operationId: createPayPalPayment
- x-linode-cli-action: paypal-start
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- The amount of the Payment to submit via PayPal.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PayPal'
- responses:
- '200':
- description: PayPal Payment staged.
- content:
- application/json:
- schema:
- type: object
- properties:
- payment_id:
- type: string
- description: >
- The paypal-generated ID for this Payment. Used when
- authorizing the Payment in PayPal's interface.
- example: PAY-1234567890ABCDEFGHIJKLMN
- checkout_token:
- type: string
- description: >
- The checkout token generated for this Payment.
- example: EC-1A2B3C4D5E6F7G8H9
- readOnly: true
- '299':
- $ref: '#/components/responses/DeprecatedResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "usd": "120.50",
- "redirect_url": "https://example.org",
- "cancel_url": "https://example.org"
- }' \
- https://api.linode.com/v4/account/payments/paypal
- - lang: CLI
- source: >
- linode-cli account paypal-start \
- --cancel_url https://example.org \
- --redirect_url https://example.org \
- --usd 120.50
- /account/payments/paypal/execute:
- x-linode-cli-command: account
- post:
- x-linode-grant: read_write
- deprecated: true
- x-linode-cli-skip: true
- tags:
- - Account
- summary: Staged/Approved PayPal Payment Execute
- description: |
- **Note**: This endpoint is disabled and no longer accessible. PayPal can be designated as a Payment Method for automated payments using the Cloud Manager. See [Manage Payment Methods](/docs/products/platform/billing/guides/payment-methods/).
- operationId: executePayPalPayment
- x-linode-cli-action: paypal-execute
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- The details of the Payment to execute.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PayPalExecute'
- responses:
- '200':
- description: PayPal Payment executed.
- content:
- application/json:
- schema:
- type: object
- '202':
- $ref: '#/components/responses/AcceptedResponse'
- '299':
- $ref: '#/components/responses/DeprecatedResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "payment_id": "PAY-1234567890ABCDEFGHIJKLMN",
- "payer_id": "ABCDEFGHIJKLM"
- }' \
- https://api.linode.com/v4/account/payments/paypal
- - lang: CLI
- source: >
- linode-cli account paypal-execute
- /account/promo-codes:
- x-linode-cli-command: account
- post:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: Promo Credit Add
- description: |
- Adds an expiring Promo Credit to your account. The following restrictions apply:
-
- * Your account needs to be less than 90 days old.
-
- * You can't already have a Promo Credit on your account.
-
- * The user making the request needs to be unrestricted. You can use the User Update (/docs/api/account/#user-update) operation to change a user's restricted status.
-
- * The `promo_code` needs to be valid and unexpired.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * Child account users can't run this operation. These users don't have access to billing-related operations.
- operationId: createPromoCredit
- x-linode-cli-action: promo-add
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- requestBody:
- description: Enter a Promo Code to add its associated credit to your Account.
- content:
- application/json:
- schema:
- required:
- - promo_code
- type: object
- properties:
- promo_code:
- type: string
- minLength: 1
- maxLength: 32
- description: |
- The Promo Code.
- responses:
- '200':
- description: >
- Promo Credit successfully added.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Promotion'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "promo_code": "abcdefABCDEF1234567890"
- }' \
- https://api.linode.com/v4/account/promo-codes
- - lang: CLI
- source: >
- linode-cli account \
- promo-add \
- --promo-code abcdefABCDEF1234567890
- /account/service-transfers:
- x-linode-cli-command: service-transfers
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Service Transfers List
- description: >
- Returns a collection of all created and accepted Service Transfers for this account, regardless of the user
- that created or accepted the transfer.
-
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getServiceTransfers
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- Returns a paginated list of Service Transfer objects containing the details of all transfers that have been
- created and accepted by this account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ServiceTransfer'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/service-transfers
- - lang: CLI
- source: >
- linode-cli service-transfers \
- list
- post:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: Service Transfer Create
- description: |
- Creates a transfer request for the specified services. A request can contain any of the specified service types
- and any number of each service type. At this time, only Linodes can be transferred.
-
- When created successfully, a confirmation email is sent to the account that created this transfer containing a
- transfer token and instructions on completing the transfer.
-
- When a transfer is [accepted](/docs/api/account/#service-transfer-accept), the requested services are moved to
- the receiving account. Linode services will not experience interruptions due to the transfer process. Backups
- for Linodes are transferred as well.
-
- DNS records that are associated with requested services will not be transferred or updated. Please ensure that
- associated DNS records have been updated or communicated to the recipient prior to the transfer.
-
- A transfer can take up to three hours to complete once accepted. When a transfer is
- completed, billing for transferred services ends for the sending account and begins for the receiving account.
-
- This command can only be accessed by the unrestricted users of an account.
-
- There are several conditions that you need to meet to successfully create a transfer request:
-
- 1. The account creating the transfer can't have a past due balance or active Terms of Service violation.
-
- 1. The service needs to be owned by the account that is creating the transfer.
-
- 1. The service can't be assigned to another Service Transfer that is pending or that's been accepted and is incomplete.
-
- 1. Linodes can't:
-
- * be assigned to a NodeBalancer, Firewall, VLAN, VPC, or Managed Service.
-
- * have any attached Block Storage Volumes.
-
- * have any shared IP addresses.
-
- * have any assigned /56, /64, or /116 IPv6 ranges.
- operationId: createServiceTransfer
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The services to include in this transfer request.
- content:
- application/json:
- schema:
- required:
- - entities
- type: object
- properties:
- entities:
- $ref: '#/components/schemas/ServiceTransfer/properties/entities'
- responses:
- '200':
- description: >
- Returns a Service Transfer object for the request.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ServiceTransfer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "entities": {
- "linodes": [
- 111,
- 222
- ]
- }
- }' \
- https://api.linode.com/v4/account/service-transfers
- - lang: CLI
- source: >
- linode-cli service-transfers \
- create \
- --entities.linodes 111 \
- --entities.linodes 222
- /account/service-transfers/{token}:
- x-linode-cli-command: service-transfers
- parameters:
- - name: token
- in: path
- description: The UUID of the Service Transfer.
- required: true
- schema:
- type: string
- format: uuid
- get:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: Service Transfer View
- description: |
- Returns the details of the Service Transfer for the provided token.
-
- While a transfer is pending, any unrestricted user *of any account* can access this command. After a
- transfer has been accepted, it can only be viewed by unrestricted users of the accounts that created and
- accepted the transfer. If canceled or expired, only unrestricted users of the account that created the
- transfer can view it.
- operationId: getServiceTransfer
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- Returns a Service Transfer object containing the details of the transfer for the specified token.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ServiceTransfer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/service-transfers/123E4567-E89B-12D3-A456-426614174000
- - lang: CLI
- source: >
- linode-cli service-transfers \
- view 123E4567-E89B-12D3-A456-426614174000
- delete:
- x-linode-grant: unrestricted only
- tags:
- - account
- summary: Service Transfer Cancel
- description: |
- Cancels the Service Transfer for the provided token. Once canceled, a transfer cannot be accepted or otherwise acted on in any way. If canceled in error, the transfer must be [created](/docs/api/account/#service-transfer-create) again.
-
- When canceled, an email notification for the cancellation is sent to the account that created this transfer. Transfers can not be canceled if they are expired or have been accepted.
-
- This command can only be accessed by the unrestricted users of the account that created this transfer.
- operationId: deleteServiceTransfer
- x-linode-cli-action: cancel
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: >
- Service Transfer canceled.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/account/service-transfers/123E4567-E89B-12D3-A456-426614174000
- - lang: CLI
- source: >
- linode-cli service-transfers \
- cancel 123E4567-E89B-12D3-A456-426614174000
- /account/service-transfers/{token}/accept:
- x-linode-cli-command: service-transfers
- parameters:
- - name: token
- in: path
- description: The UUID of the Service Transfer.
- required: true
- schema:
- type: string
- format: uuid
- post:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: Service Transfer Accept
- description: |
- Accept a Service Transfer for the provided token to receive the services included in the transfer to your
- account. At this time, only Linodes can be transferred.
-
- When accepted, email confirmations are sent to the accounts that created and accepted the transfer. A transfer
- can take up to three hours to complete once accepted. Once a transfer is completed, billing for transferred
- services ends for the sending account and begins for the receiving account.
-
- This command can only be accessed by the unrestricted users of the account that receives the transfer. Users
- of the same account that created a transfer cannot accept the transfer.
-
- There are several conditions that must be met in order to accept a transfer request:
-
- 1. Only transfers with a `pending` status can be accepted.
-
- 1. The account accepting the transfer must have a registered payment method and must not have a past due
- balance or other account limitations for the services to be transferred.
-
- 1. Both the account that created the transfer and the account that is accepting the transfer must not have any
- active Terms of Service violations.
-
- 1. The service must still be owned by the account that created the transfer.
-
- 1. Linodes must not:
-
- * be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service.
-
- * have any attached Block Storage Volumes.
-
- * have any shared IP addresses.
-
- * have any assigned /56, /64, or /116 IPv6 ranges.
-
- Any and all of the above conditions must be cured and maintained by the relevant account prior to the
- transfer's expiration to allow the transfer to be accepted by the receiving account.
- operationId: acceptServiceTransfer
- x-linode-cli-action: accept
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: >
- Service Transfer accepted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/service-transfers/123E4567-E89B-12D3-A456-426614174000/accept
- - lang: CLI
- source: >
- linode-cli service-transfers \
- accept 123E4567-E89B-12D3-A456-426614174000
- /account/settings:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Account Settings View
- description: >
- Returns information related to
- your Account settings: Managed service subscription, Longview
- subscription, and network helper.
- operationId: getAccountSettings
- x-linode-cli-action: settings
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a single Account settings object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/AccountSettings'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/settings
- - lang: CLI
- source: >
- linode-cli account settings
- put:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Account Settings Update
- description: >
- Updates your account settings. For a Longview subscription plan, see [Update Longview Plan](/docs/api/longview/#longview-plan-update).
- operationId: updateAccountSettings
- x-linode-cli-action: settings-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Update Account settings information.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/AccountSettings'
- responses:
- '200':
- description: The updated Account settings.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/AccountSettings'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "network_helper": true
- }' \
- https://api.linode.com/v4/account/settings
- - lang: CLI
- source: >
- linode-cli account settings-update \
- --network_helper false
- /account/settings/managed-enable:
- x-linode-cli-command: account
- post:
- x-linode-grant: read_write
- tags:
- - Account
- summary: Linode Managed Enable
- description: >
- Enables Linode Managed for the entire account and sends a welcome email to the account's associated
- email address. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. See
- our [Linode Managed guide](/docs/guides/linode-managed/)
- to learn more.
- operationId: enableAccountManaged
- x-linode-cli-action: enable-managed
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Managed services enabled for account.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/account/settings/managed-enable
- - lang: CLI
- source: >
- linode-cli account enable-managed
- /account/transfer:
- x-linode-cli-command: account
- get:
- x-linode-grant: read_only
- tags:
- - Account
- summary: Network Utilization View
- description: >
- Returns a Transfer object showing your network utilization,
- in GB, for the current month.
- operationId: getTransfer
- x-linode-cli-action: transfer
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a single Transfer object.
- content:
- application/json:
- x-linode-cli-subtables:
- - region_transfers
- schema:
- $ref: '#/components/schemas/Transfer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/transfer
- - lang: CLI
- source: >
- linode-cli account transfer
- /account/users:
- x-linode-cli-command: users
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Account
- summary: Users List
- description: |
- Returns a paginated list of all users on your account.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
-
- A user can access all or part of an account based on their access status and grants:
-
- * **Unrestricted access**. These users can access everything on an account.
-
- * **Restricted access**. These users can only access entities or perform actions they've been given specific grants to.
- operationId: getUsers
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of users.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- allOf:
- - $ref: '#/components/schemas/User'
- - $ref: '#/components/schemas/UserType'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/users
- - lang: CLI
- source: >
- linode-cli users list
- post:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: User Create
- description: |
- Creates a user on your account. You determine the new user's account access by setting it to restricted or unrestricted and by defining its grants. After completion, the API sends a confirmation message containing password creation and login instructions to the user's `email` address.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * A parent account user can create new parent account users.
-
- * A child account can [update](#user-update) the child account parent user (proxy user) to `unrestricted`. This gives the proxy user access to create new child account users.
-
- * A child account user can create new child account users.
-
- * You can't create a proxy user. The proxy user in a child account is predefined when you initially provision the parent-child relationship.
- operationId: createUser
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the User to create.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/User'
- required:
- - username
- - email
- responses:
- '200':
- description: New User created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/User'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "username": "example_user",
- "email": "person@place.com",
- "restricted": true
- }' \
- https://api.linode.com/v4/account/users
- - lang: CLI
- source: >
- linode-cli users create \
- --username example_user \
- --email example_user@linode.com \
- --restricted true
- /account/users/{username}:
- x-linode-cli-command: users
- parameters:
- - name: username
- in: path
- description: The username to look up.
- required: true
- schema:
- type: string
- get:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: User View
- description: |
- Returns information about a single user on your account.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
- operationId: getUser
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested User object
- content:
- application/json:
- schema:
- items:
- allOf:
- - $ref: '#/components/schemas/User'
- - $ref: '#/components/schemas/UserType'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/users/example_user
- - lang: CLI
- source: >
- linode-cli users view example_user
- put:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: User Update
- description: |
- Update information about a user on your account, including its restricted status. When setting a user to `restricted`, the API sets no grants for it. You need to set grants
- so that user can access things on the account.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * You can't edit the `username` or `email` values for the child account parent user (proxy user). These are predefined for the proxy user when you initially provision the parent-child relationship. Only a proxy user's `restricted` status can be modified. This can only be done by an unrestricted child account user.
-
- * A parent account using an unrestricted proxy user in a child account can modify the `username`, `email`, and `restricted` status for an existing child account user.
-
- * A restricted account user--parent or child--can't change their user to `unrestricted`.
- operationId: updateUser
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The information to update.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/User'
- responses:
- '200':
- description: User updated successfully.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/User'
- - $ref: '#/components/schemas/UserType'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "username": example_user,
- "email": example@linode.com,
- "restricted": true
- }' \
- https://api.linode.com/v4/account/users/example_user
- - lang: CLI
- source: >
- linode-cli users update example_user \
- --username example_user \
- --email example@linode.com \
- --restricted true
- delete:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: User Delete
- description: |
- Deletes a user. The API immediately logs the user out and removes all of its `grants`.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * You can't delete a child account parent user (proxy user). The API returns a 403 error if you target a proxy user with this operation.
-
- * A parent account using an unrestricted proxy user can use this operation to delete a child account user.
- operationId: deleteUser
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: User deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/account/users/example_user
- - lang: CLI
- source: >
- linode-cli users delete example_user
- /account/users/{username}/grants:
- x-linode-cli-command: users
- parameters:
- - name: username
- in: path
- description: The username to look up.
- required: true
- schema:
- type: string
- get:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: User's Grants View
- description: |
- Returns the full grants structure for an account username you specify. This includes all entities on the account, and the level of access this user has to each of them.
-
- This doesn't apply to the account owner or the current authenticated user. You can use the [Grants List](/docs/api/profile/#grants-list) operation to view those grants. However, this doesn't show the entities that they *don't* have access to.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
- operationId: getUserGrants
- x-linode-cli-action: grants
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The User's grants.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/GrantsResponse'
- '204':
- description: >
- This is an unrestricted User, and therefore has no grants to return.
- This User may access everything on the Account and perform all actions.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/account/users/example_user/grants
- put:
- x-linode-grant: unrestricted only
- tags:
- - Account
- summary: User's Grants Update
- description: |
- Update the grants a user has. This can be used to give a user access
- to new entities or actions, or take access away. You don't need to
- include the grant for every entity on the account in this request. Any
- that are not included remain unchanged.
-
- **Note:** This command can only be accessed by account users with *unrestricted* access.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * No child account user can modify the `account_access` grant for the child account parent user (proxy user).
-
- * An unrestricted child account user can configure all other grants for the proxy user, via `global` object.
-
- * An unrestricted child account user can enable the `account_access` grant for other child account users. However, enabled child users are still subject to child user restrictions--they can't perform write operations for any billing or account information.
- operationId: updateUserGrants
- x-linode-cli-action: update-grants
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The grants to update. Omitted grants will be left unchanged.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/GrantsResponse'
- responses:
- '200':
- description: Grants updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/GrantsResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "global": {
- "add_linodes": true,
- "add_nodebalancers": false,
- "add_databases": true,
- "add_domains": true,
- "add_longview": false,
- "add_stackscripts": true,
- "longview_subscription": true,
- "add_images": true,
- "add_volumes": true,
- "add_firewalls": true,
- "account_access": "read_only",
- "cancel_account": false,
- "add_vpcs": true
- },
- "domain": [
- {
- "id": 123,
- "permissions": "read_only"
- }
- ],
- "image": [
- {
- "id": 123,
- "permissions": "read_only"
- }
- ],
- "linode": [
- {
- "id": 123,
- "permissions": "read_only"
- },
- {
- "id": 234,
- "permissions": "read_write"
- },
- {
- "id": 345,
- "permissions": "read_only"
- }
- ],
- "longview": [
- {
- "id": 123,
- "permissions": "read_only"
- },
- {
- "id": 234,
- "permissions": "read_write"
- }
- ],
- "nodebalancer": [
- {
- "id": 123,
- "permissions": "read_write"
- }
- ],
- "stackscript": [
- {
- "id": 123,
- "permissions": "read_only"
- },
- {
- "id": 124,
- "permissions": "read_write"
- }
- ],
- "volume": [
- {
- "id": 123,
- "permissions": "read_only"
- }
- ],
- "vpc": [
- {
- "id": 123,
- "permissions": "read_write"
- }
- ]
- }' \
- https://api.linode.com/v4/account/users/example_user/grants
- /betas:
- x-linode-cli-command: betas
- get:
- tags:
- - Beta Programs
- summary: Beta Programs List
- operationId: getBetaPrograms
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth: []
- x-linode-cli-action:
- - list
- - ls
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- Display all active Beta Programs.
-
- Only unrestricted Users can access this command.
- responses:
- '200':
- description: Returns a paginated list of all available Beta Program objects.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/BetaProgram'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/betas \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli betas list
- /betas/{betaId}:
- x-linode-cli-command: betas
- parameters:
- - $ref: '#/components/parameters/betaId'
- get:
- tags:
- - Beta Programs
- summary: Beta Program View
- operationId: getBetaProgram
- servers:
- - url: https://api.linode.com/v4
- security:
- - personalAccessToken: []
- - oauth: []
- x-linode-cli-action: view
- x-linode-grant: unrestricted only
- description: |
- Display information about a Beta Program. This command can be used to access inactive as well as active Beta Programs.
-
- Only unrestricted Users can access this command.
- responses:
- '200':
- description: Returns a paginated list of all available Beta Program objects.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/BetaProgram'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/betas/$betaId \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli beta view $betaId
- /databases/engines:
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed Database Engines List
- operationId: getDatabasesEngines
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: engines
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all available Managed Database engine types and versions. Engine IDs are used when creating new Managed Databases.
- responses:
- '200':
- description: Returns a paginated list of all available Managed Database engines and versions.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DatabaseEngine'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/databases/engines/
- - lang: CLI
- source: >
- linode-cli databases engines
- /databases/engines/{engineId}:
- parameters:
- - name: engineId
- in: path
- description: The ID of the Managed Database engine.
- required: true
- schema:
- type: string
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed Database Engine View
- operationId: getDatabasesEngine
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: engine-view
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display information for a single Managed Database engine type and version.
- responses:
- '200':
- description: Returns information for a single Managed Database engine type and version.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseEngine'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/databases/engines/mysql/5.7.30
- - lang: CLI
- source: >
- linode-cli databases engine-view mysql/5.7.30
- /databases/instances:
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed Databases List All
- operationId: getDatabasesInstances
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action:
- - list
- - ls
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all Managed Databases that are accessible by your User, regardless of engine type.
-
- For more detailed information on a particular Database instance, make a request to its `instance_uri`.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns a paginated list of all accessible Managed Databases on your Account.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Database'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/instances
- - lang: CLI
- source: >
- linode-cli databases list
- /databases/mysql/instances:
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed MySQL Databases List
- operationId: getDatabasesMySQLInstances
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-list
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all accessible Managed MySQL Databases.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns a paginated list of all accessible Managed MySQL Databases on your Account.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DatabaseMySQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/mysql/instances/
- - lang: CLI
- source: >
- linode-cli databases mysql-list
- post:
- tags:
- - Databases
- summary: Managed MySQL Database Create
- operationId: postDatabasesMySQLInstances
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-create
- x-linode-grant: add_databases
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Provision a Managed MySQL Database.
-
- Restricted Users must have the `add_databases` grant to use this command.
-
- New instances can take approximately 15 to 30 minutes to provision.
-
- The `allow_list` is used to control access to the Managed Database.
-
- * IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
- * If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.
-
- * Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.
-
- All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.
-
- All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed MySQL Database during configurable maintenance windows.
-
- * If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
- * **The database software is not updated automatically.** To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then [migrate your databases](/docs/products/databases/managed-databases/guides/migrate-mysql/) from the original Managed Database cluster to the new one.
-
- * To modify update the maintenance window for a Database, use the **Managed MySQL Database Update** ([PUT /databases/mysql/instances/{instanceId}](/docs/api/databases/#managed-mysql-database-update)) command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- requestBody:
- description: Information about the Managed MySQL Database you are creating.
- x-linode-cli-allowed-defaults:
- - engine
- - region
- - type
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseMySQLRequest'
- responses:
- '200':
- description: A new Managed MySQL Database is provisioning.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseMySQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "example-db",
- "region": "us-east",
- "type": "g6-dedicated-2",
- "cluster_size": 3,
- "engine": "mysql/8.0.26",
- "encrypted": false,
- "ssl_connection": true,
- "replication_type": "semi_synch",
- "allow_list": [
- "203.0.113.1",
- "192.0.1.0/24"
- ]
- }' \
- https://api.linode.com/v4/databases/mysql/instances
- - lang: CLI
- source: >
- linode-cli databases mysql-create \
- --label example-db1 \
- --region us-east \
- --type g6-dedicated-2 \
- --cluster_size 3 \
- --engine mysql/8.0.26 \
- --encrypted false \
- --ssl_connection false \
- --replication_type semi_synch \
- --allow_list 203.0.113.1 \
- --allow_list 192.0.1.0/24
- /databases/mysql/instances/{instanceId}:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed MySQL Database View
- operationId: getDatabasesMySQLInstance
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-view
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display information for a single, accessible Managed MySQL Database.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns information for a single Managed MySQL Database.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseMySQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/mysql/instances/123
- - lang: CLI
- source: >
- linode-cli databases mysql-view 123
- delete:
- tags:
- - Databases
- summary: Managed MySQL Database Delete
- operationId: deleteDatabasesMySQLInstance
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-delete
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Remove a Managed MySQL Database from your Account.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active`, `failed`, or `degraded` status to perform this command.
-
- Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Managed MySQL Database successfully deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/databases/mysql/instances/123
- - lang: CLI
- source: >
- linode-cli databases mysql-delete 123
- put:
- tags:
- - Databases
- summary: Managed MySQL Database Update
- operationId: putDatabasesMySQLInstance
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-update
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Update a Managed MySQL Database.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active` status to perform this command.
-
- Updating addresses in the `allow_list` overwrites any existing addresses.
-
- * IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
- * If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.
-
- * Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.
-
- * **Note**: Updates to the `allow_list` may take a short period of time to complete, making this command inappropriate for rapid successive updates to this property.
-
- All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed MySQL Database. The maintenance window for these updates is configured with the Managed Database's `updates` property.
-
- * If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
- * **The database software is not updated automatically.** To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then [migrate your databases](/docs/products/databases/managed-databases/guides/migrate-mysql/) from the original Managed Database cluster to the new one.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- requestBody:
- description: Updated information for the Managed MySQL Database.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: Updated information for the Managed MySQL Database.
- properties:
- label:
- $ref: '#/components/schemas/DatabaseMySQLRequest/properties/label'
- allow_list:
- $ref: '#/components/schemas/DatabaseMySQLRequest/properties/allow_list'
- updates:
- $ref: '#/components/schemas/DatabaseMySQL/properties/updates'
- type:
- type: string
- description: |
- Request re-sizing of your cluster to a Linode Type with more disk space. For example, you could request a Linode Type that uses a higher plan.
-
- * Needs to be a Linode Type with more disk space than your current Linode.
-
- * Resizing to a larger Linode Type can accrue additional cost. Review the `price` output in the [Types List](/docs/api/linode-types/#types-list) operation for more information.
-
- * You can't update the `allow_list` and set a new `type` in the same request.
-
- * Any active updates to your cluster need to complete before you can request a resize. The reverse is also true: An active resizing needs to complete before you can perform any other update.
- example: g6-standard-1
- responses:
- '200':
- description: Managed Database updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseMySQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "example-db",
- "allow_list": [
- "203.0.113.1",
- "192.0.1.0/24"
- ],
- "type": "g6-standard-1",
- "updates": {
- "frequency": "monthly",
- "duration": 3,
- "hour_of_day": 12,
- "day_of_week": 4,
- "week_of_month": 3
- }
- }' \
- https://api.linode.com/v4/databases/mysql/instances/123
- - lang: CLI
- source: >
- linode-cli databases mysql-update 123 \
- --label example-db \
- --allow_list 203.0.113.1 \
- --allow_list 192.0.1.0/24 \
- --type g6-standard-1 \
- --updates.frequency monthly \
- --updates.duration 3 \
- --updates.hour_of_day 12 \
- --updates.day_of_week 4 \
- --updates.week_of_month 3
- /databases/mysql/instances/{instanceId}/backups:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed MySQL Database Backups List
- operationId: getDatabasesMySQLInstanceBackups
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-backups-list
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all backups for an accessible Managed MySQL Database.
-
- The Database must not be provisioning to perform this command.
-
- Database `auto` type backups are created every 24 hours at 0:00 UTC. Each `auto` backup is retained for 7 days.
-
- Database `snapshot` type backups are created by accessing the **Managed MySQL Database Backup Snapshot Create** ([POST /databases/mysql/instances/{instanceId}/backups](/docs/api/databases/#managed-mysql-database-backup-snapshot-create)) command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Returns a paginated list of backups for the Managed MySQL Database.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DatabaseBackup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/mysql/instances/123/backups
- - lang: CLI
- source: >
- linode-cli databases mysql-backups-list 123
- post:
- tags:
- - Databases
- summary: Managed MySQL Database Backup Snapshot Create
- operationId: postDatabasesMySQLInstanceBackup
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-backup-snapshot
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Creates a snapshot backup of a Managed MySQL Database.
-
- Requires `read_write` access to the Database.
-
- Up to 3 snapshot backups for each Database can be stored at a time. If 3 snapshots have been created for a Database, one must be deleted before another can be made.
-
- Backups generated by this command have the type `snapshot`. Snapshot backups may take several minutes to complete, after which they will be accessible to view or restore.
-
- The Database must have an `active` status to perform this command. If another backup is in progress, it must complete before a new backup can be initiated.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- requestBody:
- description: Information about the snapshot backup to create.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseBackupSnapshot'
- responses:
- '200':
- description: Database snapshot backup request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "label": "snapshot1",
- "target": "primary"
- }' \
- https://api.linode.com/v4/databases/mysql/instances/123/backups/
- - lang: CLI
- source: >
- linode-cli databases mysql-backup-snapshot 123 \
- --label snapshot1 \
- --target primary
- /databases/mysql/instances/{instanceId}/backups/{backupId}:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- - name: backupId
- in: path
- description: The ID of the Managed MySQL Database backup.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed MySQL Database Backup View
- operationId: getDatabasesMySQLInstanceBackup
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-backup-view
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display information for a single backup for an accessible Managed MySQL Database.
-
- The Database must not be provisioning to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Returns a single backup for the Managed MySQL Database.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseBackup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/mysql/instances/123/backups/456
- - lang: CLI
- source: >
- linode-cli databases mysql-backup-view 123 456
- delete:
- tags:
- - Databases
- summary: Managed MySQL Database Backup Delete
- operationId: deleteDatabaseMySQLInstanceBackup
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-backup-delete
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Delete a single backup for an accessible Managed MySQL Database.
-
- Requires `read_write` access to the Database.
-
- The Database must not be provisioning to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Request to delete Database backup successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/databases/mysql/instances/123/backups/456
- - lang: CLI
- source: >
- linode-cli databases mysql-backup-delete 123 456
- /databases/mysql/instances/{instanceId}/backups/{backupId}/restore:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- - name: backupId
- in: path
- description: The ID of the Managed MySQL Database backup.
- required: true
- schema:
- type: integer
- post:
- tags:
- - Databases
- summary: Managed MySQL Database Backup Restore
- operationId: postDatabasesMySQLInstanceBackupRestore
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-backup-restore
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Restore a backup to a Managed MySQL Database on your Account.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active`, `degraded`, or `failed` status to perform this command.
-
- **Note**: Restoring from a backup will erase all existing data on the database instance and replace it with backup data.
-
- **Note**: Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Request to restore backup successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST https://api.linode.com/v4/databases/mysql/instances/123/backups/456/restore
- - lang: CLI
- source: >
- linode-cli databases mysql-backup-restore 123 456
- /databases/mysql/instances/{instanceId}/credentials:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed MySQL Database Credentials View
- operationId: getDatabasesMySQLInstanceCredentials
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-creds-view
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display the root username and password for an accessible Managed MySQL Database.
-
- The Database must have an `active` status to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Managed Database root username and password.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseCredentials'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/mysql/instances/123/credentials/
- - lang: CLI
- source: >
- linode-cli databases mysql-creds-view 123
- /databases/mysql/instances/{instanceId}/credentials/reset:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- post:
- tags:
- - Databases
- summary: Managed MySQL Database Credentials Reset
- operationId: postDatabasesMySQLInstanceCredentialsReset
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-creds-reset
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Reset the root password for a Managed MySQL Database.
-
- Requires `read_write` access to the Database.
-
- A new root password is randomly generated and accessible with the **Managed MySQL Database Credentials View** ([GET /databases/mysql/instances/{instanceId}/credentials](/docs/api/databases/#managed-mysql-database-credentials-view)) command.
-
- Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
-
- **Note**: Note that it may take several seconds for credentials to reset.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Managed Database instance credentials successfully reset.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST https://api.linode.com/v4/databases/mysql/instances/123/credentials/reset
- - lang: CLI
- source: >
- linode-cli databases mysql-creds-reset 123
- /databases/mysql/instances/{instanceId}/ssl:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed MySQL Database SSL Certificate View
- operationId: getDatabasesMySQLInstanceSSL
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-ssl-cert
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display the SSL CA certificate for an accessible Managed MySQL Database.
-
- The Database must have an `active` status to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns the SSL CA certificate of a single Managed MySQL Database.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseSSL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/mysql/instances/123/ssl
- - lang: CLI
- source: >
- linode-cli databases mysql-ssl-cert 123
- /databases/mysql/instances/{instanceId}/patch:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed MySQL Database.
- required: true
- schema:
- type: integer
- post:
- tags:
- - Databases
- summary: Managed MySQL Database Patch
- operationId: postDatabasesMySQLInstancePatch
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: mysql-patch
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Apply security patches and updates to the underlying operating system of the Managed MySQL Database. This function runs during regular maintenance windows, which are configurable with the **Managed MySQL Database Update** ([PUT /databases/mysql/instances/{instanceId}](/docs/api/databases/#managed-mysql-database-update)) command.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active` status to perform this command.
-
- **Note**
-
- * If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
- * **The database software is not updated automatically.** To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then [migrate your databases](/docs/products/databases/managed-databases/guides/migrate-mysql/) from the original Managed Database cluster to the new one.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Managed Database instance patch request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST https://api.linode.com/v4/databases/mysql/instances/123/patch
- - lang: CLI
- source: >
- linode-cli databases mysql-patch 123
- /databases/postgresql/instances:
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed PostgreSQL Databases List
- operationId: getDatabasesPostgreSQLInstances
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-list
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all accessible Managed PostgreSQL Databases.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns a paginated list of all accessible Managed PostgreSQL Databases on your Account.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DatabasePostgreSQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/postgresql/instances/
- - lang: CLI
- source: >
- linode-cli databases postgresql-list
- post:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Create
- operationId: postDatabasesPostgreSQLInstances
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-create
- x-linode-grant: add_databases
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Provision a Managed PostgreSQL Database.
-
- Restricted Users must have the `add_databases` grant to use this command.
-
- New instances can take approximately 15 to 30 minutes to provision.
-
- The `allow_list` is used to control access to the Managed Database.
-
- * IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
- * If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.
-
- * Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.
-
- All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.
-
- All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed PostgreSQL Database during configurable maintenance windows.
-
- * If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
- * **The database software is not updated automatically.** To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
-
- * To modify update the maintenance window for a Database, use the **Managed PostgreSQL Database Update** ([PUT /databases/postgresql/instances/{instanceId}](/docs/api/databases/#managed-postgresql-database-update)) command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- requestBody:
- description: Information about the Managed PostgreSQL Database you are creating.
- x-linode-cli-allowed-defaults:
- - engine
- - region
- - type
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabasePostgreSQLRequest'
- responses:
- '200':
- description: A new Managed PostgreSQL Database is provisioning.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabasePostgreSQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "example-db",
- "region": "us-east",
- "type": "g6-dedicated-2",
- "cluster_size": 3,
- "engine": "postgresql/13.2",
- "encrypted": false,
- "ssl_connection": false,
- "replication_type": "asynch",
- "replication_commit_type": "local",
- "allow_list": [
- "203.0.113.1",
- "192.0.1.0/24"
- ]
- }' \
- https://api.linode.com/v4/databases/postgresql/instances
- - lang: CLI
- source: >
- linode-cli databases postgresql-create \
- --label example-db \
- --region us-east \
- --type g6-dedicated-2 \
- --cluster_size 3 \
- --engine postgresql/13.2 \
- --encrypted false \
- --ssl_connection false \
- --replication_type asynch \
- --replication_commit_type local \
- --allow_list 203.0.113.1 \
- --allow_list 192.0.1.0/24
- /databases/postgresql/instances/{instanceId}:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed PostgreSQL Database View
- operationId: getDatabasesPostgreSQLInstance
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-view
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display information for a single, accessible Managed PostgreSQL Database.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns information for a single Managed PostgreSQL Database.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabasePostgreSQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/postgresql/instances/123
- - lang: CLI
- source: >
- linode-cli databases postgresql-view 123
- delete:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Delete
- operationId: deleteDatabasesPostgreSQLInstance
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-delete
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Remove a Managed PostgreSQL Database from your Account.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active`, `failed`, or `degraded` status to perform this command.
-
- Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Managed PostgreSQL Database successfully deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/databases/postgresql/instances/123
- - lang: CLI
- source: >
- linode-cli databases postgresql-delete 123
- put:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Update
- operationId: putDatabasesPostgreSQLInstance
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-update
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Update a Managed PostgreSQL Database.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active` status to perform this command.
-
- Updating addresses in the `allow_list` overwrites any existing addresses.
-
- * IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.
-
- * If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.
-
- * Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.
-
- * **Note**: Updates to the `allow_list` may take a short period of time to complete, making this command inappropriate for rapid successive updates to this property.
-
- All Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed PostgreSQL Database. The maintenance window for these updates is configured with the Managed Database's `updates` property.
-
- * If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
- * **The database software is not updated automatically.** To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- requestBody:
- description: Updated information for the Managed PostgreSQL Database.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: Updated information for the Managed PostgreSQL Database.
- properties:
- label:
- $ref: '#/components/schemas/DatabasePostgreSQLRequest/properties/label'
- allow_list:
- $ref: '#/components/schemas/DatabasePostgreSQLRequest/properties/allow_list'
- updates:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/updates'
- type:
- type: string
- description: |
- Request re-sizing of your cluster to a Linode Type with more disk space. For example, you could request a Linode Type that uses a higher plan.
-
- * Needs to be a Linode Type with more disk space than your current Linode.
-
- * Resizing to a larger Linode Type can accrue additional cost. Review the `price` output in the [Types List](/docs/api/linode-types/#types-list) operation for more information.
-
- * You can't update the `allow_list` and set a new `type` in the same request.
-
- * Any active updates to your cluster need to complete before you can request a resize. The reverse is also true: An active resizing needs to complete before you can perform any other update.
- example: g6-standard-1
- responses:
- '200':
- description: Managed Database updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabasePostgreSQL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "example-db",
- "allow_list": [
- "203.0.113.1",
- "192.0.1.0/24"
- ],
- "type": "g6-standard-1",
- "updates": {
- "frequency": "monthly",
- "duration": 3,
- "hour_of_day": 12,
- "day_of_week": 4,
- "week_of_month": 3
- }
- }' \
- https://api.linode.com/v4/databases/postgresql/instances/123
- - lang: CLI
- source: >
- linode-cli databases postgresql-update 123 \
- --label example-db \
- --allow_list 203.0.113.1 \
- --allow_list 192.0.1.0/24 \
- --type g6-standard-1 \
- --updates.frequency monthly \
- --updates.duration 3 \
- --updates.hour_of_day 12 \
- --updates.day_of_week 4 \
- --updates.week_of_month 3
- /databases/postgresql/instances/{instanceId}/backups:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Backups List
- operationId: getDatabasesPostgreSQLInstanceBackups
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-backups-list
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all backups for an accessible Managed PostgreSQL Database.
-
- The Database must not be provisioning to perform this command.
-
- Database `auto` type backups are created every 24 hours at 0:00 UTC. Each `auto` backup is retained for 7 days.
-
- Database `snapshot` type backups are created by accessing the **Managed PostgreSQL Database Backup Snapshot Create** ([POST /databases/postgresql/instances/{instanceId}/backups](/docs/api/databases/#managed-postgresql-database-backup-snapshot-create)) command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Returns a paginated list of backups for the Managed PostgreSQL Database.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DatabaseBackup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/postgresql/instances/123/backups
- - lang: CLI
- source: >
- linode-cli databases postgresql-backups-list 123
- post:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Backup Snapshot Create
- operationId: postDatabasesPostgreSQLInstanceBackup
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-backup-snapshot
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Creates a snapshot backup of a Managed PostgreSQL Database.
-
- Requires `read_write` access to the Database.
-
- Up to 3 snapshot backups for each Database can be stored at a time. If 3 snapshots have been created for a Database, one must be deleted before another can be made.
-
- Backups generated by this command have the type `snapshot`. Snapshot backups may take several minutes to complete, after which they will be accessible to view or restore.
-
- The Database must have an `active` status to perform this command. If another backup is in progress, it must complete before a new backup can be initiated.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- requestBody:
- description: Information about the snapshot backup to create.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseBackupSnapshot'
- responses:
- '200':
- description: Database snapshot backup request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "label": "snapshot1",
- "target": "primary"
- }' \
- https://api.linode.com/v4/databases/postgresql/instances/123/backups/
- - lang: CLI
- source: >
- linode-cli databases postgresql-backup-snapshot 123 \
- --label snapshot1 \
- --target primary
- /databases/postgresql/instances/{instanceId}/backups/{backupId}:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- - name: backupId
- in: path
- description: The ID of the Managed PostgreSQL Database backup.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Backup View
- operationId: getDatabasesPostgreSQLInstanceBackup
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-backup-view
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display information for a single backup for an accessible Managed PostgreSQL Database.
-
- The Database must not be provisioning to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Returns a single backup for the Managed PostgreSQL Database.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseBackup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/postgresql/instances/123/backups/456
- - lang: CLI
- source: >
- linode-cli databases postgresql-backup-view 123 456
- delete:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Backup Delete
- operationId: deleteDatabasePostgreSQLInstanceBackup
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-backup-delete
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Delete a single backup for an accessible Managed PostgreSQL Database.
-
- Requires `read_write` access to the Database.
-
- The Database must not be provisioning to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Request to delete Database backup successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/databases/postgresql/instances/123/backups/456
- - lang: CLI
- source: >
- linode-cli databases postgresql-backup-delete 123 456
- /databases/postgresql/instances/{instanceId}/backups/{backupId}/restore:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- - name: backupId
- in: path
- description: The ID of the Managed PostgreSQL Database backup.
- required: true
- schema:
- type: integer
- post:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Backup Restore
- operationId: postDatabasesPostgreSQLInstanceBackupRestore
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-backup-restore
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Restore a backup to a Managed PostgreSQL Database on your Account.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active`, `degraded`, or `failed` status to perform this command.
-
- **Note**: Restoring from a backup will erase all existing data on the database instance and replace it with backup data.
-
- **Note**: Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Request to restore backup successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST https://api.linode.com/v4/databases/postgresql/instances/123/backups/456/restore
- - lang: CLI
- source: >
- linode-cli databases postgresql-backup-restore 123 456
- /databases/postgresql/instances/{instanceId}/credentials:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Credentials View
- operationId: getDatabasesPostgreSQLInstanceCredentials
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-creds-view
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display the root username and password for an accessible Managed PostgreSQL Database.
-
- The Database must have an `active` status to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Managed Database root username and password.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseCredentials'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/postgresql/instances/123/credentials/
- - lang: CLI
- source: >
- linode-cli databases postgresql-creds-view 123
- /databases/postgresql/instances/{instanceId}/credentials/reset:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- post:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Credentials Reset
- operationId: postDatabasesPostgreSQLInstanceCredentialsReset
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-creds-reset
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Reset the root password for a Managed PostgreSQL Database.
-
- Requires `read_write` access to the Database.
-
- A new root password is randomly generated and accessible with the **Managed PostgreSQL Database Credentials View** ([GET /databases/postgresql/instances/{instanceId}/credentials](/docs/api/databases/#managed-postgresql-database-credentials-view)) command.
-
- Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
-
- **Note**: Note that it may take several seconds for credentials to reset.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Managed Database instance credentials successfully reset.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST https://api.linode.com/v4/databases/postgresql/instances/123/credentials/reset
- - lang: CLI
- source: >
- linode-cli databases postgresql-creds-reset 123
- /databases/postgresql/instances/{instanceId}/ssl:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- get:
- tags:
- - Databases
- summary: Managed PostgreSQL Database SSL Certificate View
- operationId: getDatabasesPostgreSQLInstanceSSL
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-ssl-cert
- x-linode-grant: read_only
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display the SSL CA certificate for an accessible Managed PostgreSQL Database.
-
- The Database must have an `active` status to perform this command.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_only
- responses:
- '200':
- description: Returns the SSL CA certificate of a single Managed PostgreSQL Database.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatabaseSSL'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/databases/postgresql/instances/123/ssl
- - lang: CLI
- source: >
- linode-cli databases postgresql-ssl-cert 123
- /databases/postgresql/instances/{instanceId}/patch:
- x-linode-cli-command: databases
- parameters:
- - name: instanceId
- in: path
- description: The ID of the Managed PostgreSQL Database.
- required: true
- schema:
- type: integer
- post:
- tags:
- - Databases
- summary: Managed PostgreSQL Database Patch
- operationId: postDatabasesPostgreSQLInstancePatch
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: postgresql-patch
- x-linode-grant: read_write
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Apply security patches and updates to the underlying operating system of the Managed PostgreSQL Database. This function runs during regular maintenance windows, which are configurable with the **Managed PostgreSQL Database Update** ([PUT /databases/postgresql/instances/{instanceId}](/docs/api/databases/#managed-postgresql-database-update)) command.
-
- Requires `read_write` access to the Database.
-
- The Database must have an `active` status to perform this command.
-
- **Note**
-
- * If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.
-
- * **The database software is not updated automatically.** To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.
- security:
- - personalAccessToken: []
- - oauth:
- - databases:read_write
- responses:
- '200':
- description: Managed Database instance patch request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST https://api.linode.com/v4/databases/postgresql/instances/123/patch
- - lang: CLI
- source: >
- linode-cli databases postgresql-patch 123
- /databases/types:
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed Database Types List
- operationId: getDatabasesTypes
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: types
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display all Managed Database node types. The type and number of nodes determine the resources and price of a Managed Database instance.
-
- Each Managed Database can have one node type. In the case of a high availability Database, all nodes are provisioned according to the chosen type.
- responses:
- '200':
- description: Returns a paginated list of all Managed Database types.
- content:
- application/json:
- x-linode-cli-nested-list: engines.mysql, engines.postgresql
- x-linode-cli-use-schema:
- type: object
- properties:
- id:
- x-linode-cli-display: 1
- label:
- x-linode-cli-display: 2
- _split:
- x-linode-cli-display: 2.5
- engines:
- type: object
- properties:
- quantity:
- x-linode-cli-display: 3
- price:
- type: object
- properties:
- hourly:
- x-linode-cli-display: 4
- monthly:
- x-linode-cli-display: 5
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DatabaseType'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/databases/types
- - lang: CLI
- source: >
- linode-cli databases types
- /databases/types/{typeId}:
- parameters:
- - name: typeId
- in: path
- description: The ID of the Managed Database type.
- required: true
- schema:
- type: string
- x-linode-cli-command: databases
- get:
- tags:
- - Databases
- summary: Managed Database Type View
- operationId: getDatabasesType
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- x-linode-cli-action: type-view
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- **This command is currently only available for customers who already have an active Managed Database.**
-
- Display the details of a single Managed Database type. The type and number of nodes determine the resources and price of a Managed Database instance.
- responses:
- '200':
- description: Returns a single Managed Database type.
- content:
- application/json:
- x-linode-cli-nested-list: engines.mysql, engines.postgresql
- x-linode-cli-use-schema:
- type: object
- properties:
- id:
- x-linode-cli-display: 1
- label:
- x-linode-cli-display: 2
- _split:
- x-linode-cli-display: 2.5
- engines:
- type: object
- properties:
- quantity:
- x-linode-cli-display: 3
- price:
- type: object
- properties:
- hourly:
- x-linode-cli-display: 4
- monthly:
- x-linode-cli-display: 5
- schema:
- $ref: '#/components/schemas/DatabaseType'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/databases/types/g6-nanode-1
- - lang: CLI
- source: >
- linode-cli databases type-view g6-nanode-1
- /domains:
- x-linode-cli-command: domains
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Domains
- summary: Domains List
- description: >
- This is a collection of Domains that you have registered in Linode's DNS
- Manager. Linode is not a registrar, and in order for these to work you
- must own the domains and point your registrar at Linode's nameservers.
- operationId: getDomains
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_only
- responses:
- '200':
- description: A paginated list of Domains you have registered.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Domain'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/domains
- - lang: CLI
- source: >
- linode-cli domains list
- post:
- x-linode-grant: add_domains
- tags:
- - Domains
- summary: Domain Create
- description: >
- Adds a new Domain to Linode's DNS Manager. Linode is not a registrar, and
- you must own the domain before adding it here. Be sure to point your
- registrar to Linode's nameservers so that the records hosted here are
- used.
- operationId: createDomain
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- requestBody:
- description: Information about the domain you are registering.
- required: true
- content:
- application/json:
- schema:
- required:
- - domain
- - type
- allOf:
- - $ref: '#/components/schemas/Domain'
- responses:
- '200':
- description: |
- Domain added successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Domain'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "domain": "example.com",
- "type": "master",
- "soa_email": "admin@example.com",
- "description": "Example Description",
- "refresh_sec": 14400,
- "retry_sec": 3600,
- "expire_sec": 604800,
- "ttl_sec": 3600,
- "status": "active",
- "master_ips": ["127.0.0.1","255.255.255.1","123.123.123.7"],
- "axfr_ips": ["44.55.66.77"],
- "group": "Example Display Group",
- "tags": ["tag1","tag2"]
- }' \
- https://api.linode.com/v4/domains
- - lang: CLI
- source: >
- linode-cli domains create \
- --type master \
- --domain example.org \
- --soa_email admin@example.org
- /domains/{domainId}:
- x-linode-cli-command: domains
- parameters:
- - name: domainId
- in: path
- description: The ID of the Domain to access.
- required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - Domains
- summary: Domain View
- description: >
- This is a single Domain that you have registered in Linode's DNS Manager.
- Linode is not a registrar, and in order for this Domain record to work you
- must own the domain and point your registrar at Linode's nameservers.
- operationId: getDomain
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_only
- responses:
- '200':
- description: |
- A single Domain in Linode's DNS Manager.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Domain'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/domains/123
- - lang: CLI
- source: >
- linode-cli domains view 123
- put:
- x-linode-grant: read_write
- tags:
- - Domains
- summary: Domain Update
- description: |
- Update information about a Domain in Linode's DNS Manager.
- operationId: updateDomain
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- requestBody:
- description: The Domain information to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Domain'
- responses:
- '200':
- description: Domain update successful.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Domain'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "domain": "example.com",
- "type": "master",
- "soa_email": "admin@example.com",
- "description": "Example Description",
- "refresh_sec": 14400,
- "retry_sec": 3600,
- "expire_sec": 604800,
- "ttl_sec": 3600,
- "status": "active",
- "master_ips": ["127.0.0.1","255.255.255.1","123.123.123.7"],
- "axfr_ips": ["44.55.66.77"],
- "group": "Example Display Group",
- "tags": ["tag1","tag2"]
- }' \
- https://api.linode.com/v4/domains/123
- - lang: CLI
- source: >
- linode-cli domains update 1234 \
- --retry_sec 7200 \
- --ttl_sec 300
- delete:
- x-linode-grant: read_write
- tags:
- - Domains
- summary: Domain Delete
- description: >
- Deletes a Domain from Linode's DNS Manager. The Domain will be removed
- from Linode's nameservers shortly after this operation completes. This
- also deletes all associated Domain Records.
- operationId: deleteDomain
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- responses:
- '200':
- description: Domain deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/domains/1234
- - lang: CLI
- source: >
- linode-cli domains delete 1234
- /domains/{domainId}/zone-file:
- x-linode-cli-command: domains
- parameters:
- - name: domainId
- in: path
- description: ID of the Domain.
- required: true
- schema:
- type: string
- get:
- x-linode-grant: read_only
- tags:
- - Domains
- summary: Domain Zone File View
- description: >
- Returns the zone file for the last rendered zone for the specified domain.
- operationId: getDomainZone
- x-linode-cli-action: zone-file
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_only
- responses:
- '200':
- description: |
- An array containing the lines of the domain zone file.
- content:
- application/json:
- schema:
- properties:
- zone_file:
- type: array
- items:
- type: string
- example:
- - "; example.com [123]"
- - "$TTL 864000"
- - "@ IN SOA ns1.linode.com. user.example.com. 2021000066 14400 14400 1209600 86400"
- - "@ NS ns1.linode.com."
- - "@ NS ns2.linode.com."
- - "@ NS ns3.linode.com."
- - "@ NS ns4.linode.com."
- - "@ NS ns5.linode.com."
- description: |
- The lines of the zone file for the last rendered zone for this domain.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/domains/123/zone-file
- - lang: CLI
- source: >
- linode-cli domains zone-file 123
- /domains/import:
- x-linode-cli-command: domains
- post:
- x-linode-grant: read_write
- x-linode-cli-command: domains
- tags:
- - Domains
- summary: Domain Import
- description: >
- Imports a domain zone from a remote nameserver.
-
- Your nameserver must allow zone transfers (AXFR) from the following IPs:
-
- - 96.126.114.97
- - 96.126.114.98
- - 2600:3c00::5e
- - 2600:3c00::5f
- operationId: importDomain
- x-linode-cli-action: import
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- requestBody:
- description: Information about the Domain to import.
- content:
- application/json:
- schema:
- required:
- - domain
- - remote_nameserver
- properties:
- domain:
- type: string
- description: >
- The domain to import.
- example: example.com
- remote_nameserver:
- type: string
- description: >
- The remote nameserver that allows zone transfers (AXFR).
- example: examplenameserver.com
- responses:
- '200':
- description: |
- A single Domain in Linode's DNS Manager.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Domain'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "domain": "example.com",
- "remote_nameserver": "examplenameserver.com"
- }' \
- https://api.linode.com/v4/domains/import
- - lang: CLI
- source: >
- linode-cli domains import --domain example.com --remote_nameserver examplenameserver.com
- /domains/{domainId}/clone:
- x-linode-cli-command: domains
- parameters:
- - name: domainId
- in: path
- description: ID of the Domain to clone.
- required: true
- schema:
- type: string
- post:
- x-linode-grant: read_write
- tags:
- - Domains
- summary: Domain Clone
- description: >
- Clones a Domain and all associated DNS records from a Domain that is
- registered in Linode's DNS manager.
- operationId: cloneDomain
- x-linode-cli-action: clone
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- requestBody:
- description: Information about the Domain to clone.
- required: true
- content:
- application/json:
- schema:
- required:
- - domain
- type: object
- properties:
- domain:
- type: string
- pattern: ^(\*\.)?([a-zA-Z0-9-_]{1,63}\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$
- minLength: 1
- maxLength: 253
- description: >
- The new domain for the clone. Domain labels cannot be longer than
- 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035).
- Domains must be unique on Linode's platform, including across different Linode
- accounts; there cannot be two Domains representing the same domain.
- example: example.org
- x-linode-filterable: true
- responses:
- '200':
- description: |
- A new Domain in Linode's DNS Manager, based on a cloned Domain.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Domain'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "domain": "example.com"
- }' \
- https://api.linode.com/v4/domains/123/clone
- - lang: CLI
- source: >
- linode-cli domains clone 123 --domain example.com
- /domains/{domainId}/records:
- x-linode-cli-command: domains
- parameters:
- - name: domainId
- in: path
- description: The ID of the Domain we are accessing Records for.
- required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - Domains
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_only
- summary: Domain Records List
- description: |
- Returns a paginated list of Records configured on a Domain in Linode's
- DNS Manager.
- operationId: getDomainRecords
- x-linode-cli-action: records-list
- responses:
- '200':
- description: A list of Domain Records.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/DomainRecord'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/domains/1234/records
- - lang: CLI
- source: >
- linode-cli domains records-list 1234
- post:
- x-linode-grant: read_write
- tags:
- - Domains
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- summary: Domain Record Create
- description: |
- Adds a new Domain Record to the zonefile this Domain represents.
-
- Each domain can have up to 12,000 active records.
- operationId: createDomainRecord
- x-linode-cli-action: records-create
- requestBody:
- description: >
- Information about the new Record to add.
- required: true
- content:
- application/json:
- schema:
- required:
- - type
- allOf:
- - $ref: '#/components/schemas/DomainRecord'
- responses:
- '200':
- description: Domain Record created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DomainRecord'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "A",
- "name": "test",
- "target": "203.0.113.1",
- "priority": 50,
- "weight": 50,
- "port": 80,
- "service": null,
- "protocol": null,
- "ttl_sec": 604800
- }' \
- https://api.linode.com/v4/domains/123/records
- - lang: CLI
- source: >
- linode-cli domains records-create 123 \
- --type A \
- --name test \
- --target 203.0.113.1 \
- --priority 50 \
- --weight 50 \
- --port 80 \
- --ttl_sec 604800
- /domains/{domainId}/records/{recordId}:
- x-linode-cli-command: domains
- parameters:
- - name: domainId
- in: path
- description: The ID of the Domain whose Record you are accessing.
+ schema:
+ type: "string"
+ username-path:
+ schema:
+ type: "string"
required: true
- schema:
- type: integer
- - name: recordId
- in: path
- description: The ID of the Record you are accessing.
+ x-akamai:
+ file-path: "parameters/username-path.yaml"
+ in: "path"
+ description: "The username to look up."
+ name: "username"
+ event-id-path-39255fcf:
+ schema:
+ type: "integer"
+ description: "The ID of the Event."
+ name: "eventId"
required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - Domains
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_only
- summary: Domain Record View
- description: >
- View a single Record on this Domain.
- operationId: getDomainRecord
- x-linode-cli-action: records-view
- responses:
- '200':
- description: A Domain Record object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DomainRecord'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/domains/123/records/234
- - lang: CLI
- source: >
- linode-cli domains records-view 123 234
- put:
- x-linode-grant: read_write
- tags:
- - Domains
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- summary: Domain Record Update
- description: >
- Updates a single Record on this Domain.
- operationId: updateDomainRecord
- x-linode-cli-action: records-update
- requestBody:
- description: The values to change.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: A Domain Record Update request object.
- properties:
- name:
- $ref: '#/components/schemas/DomainRecord/properties/name'
- target:
- $ref: '#/components/schemas/DomainRecord/properties/target'
- priority:
- $ref: '#/components/schemas/DomainRecord/properties/priority'
- weight:
- $ref: '#/components/schemas/DomainRecord/properties/weight'
- port:
- $ref: '#/components/schemas/DomainRecord/properties/port'
- service:
- $ref: '#/components/schemas/DomainRecord/properties/service'
- protocol:
- $ref: '#/components/schemas/DomainRecord/properties/protocol'
- ttl_sec:
- $ref: '#/components/schemas/DomainRecord/properties/ttl_sec'
- tag:
- $ref: '#/components/schemas/DomainRecord/properties/tag'
- responses:
- '200':
- description: Domain Record updated.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DomainRecord'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "name": "test",
- "target": "203.0.113.1",
- "priority": 50,
- "weight": 50,
- "port": 80,
- "service": null,
- "protocol": null,
- "ttl_sec": 604800,
- "tag": null
- }' \
- https://api.linode.com/v4/domains/123/records/234
- - lang: CLI
- source: >
- linode-cli domains records-update 123 234 \
- --name test \
- --target 203.0.113.1 \
- --priority 50 \
- --weight 50 \
- --port 80 \
- --ttl_sec 604800
- delete:
- x-linode-grant: read_write
- tags:
- - Domains
- security:
- - personalAccessToken: []
- - oauth:
- - domains:read_write
- summary: Domain Record Delete
- description: >
- Deletes a Record on this Domain.
- operationId: deleteDomainRecord
- x-linode-cli-action: records-delete
- responses:
- '200':
- description: Record deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/domains/123/records/234
- - lang: CLI
- source: >
- linode-cli domains records-delete 123 234
- /images:
- x-linode-cli-command: images
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Images
- summary: Images List
- description: |
- Returns a paginated list of Images.
-
- * **Public** Images have IDs that begin with "linode/". These distribution images are generally available to
- all users.
-
- * **Private** Images have IDs that begin with "private/". These Images are Account-specific and only
- accessible to Users with appropriate [Grants](/docs/api/account/#users-grants-view).
-
- * To view only public Images, call this endpoint with or without authentication. To view private Images as well, call this endpoint with authentication.
- x-linode-redoc-load-ids: true
- operationId: getImages
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - images:read_only
- responses:
- '200':
- description: A paginated list of Images.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Image'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: |
- # Returns public Images only
- curl https://api.linode.com/v4/images
-
- # Returns private and public Images
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/images
- - lang: CLI
- source: >
- linode-cli images list
- post:
- x-linode-grant: add_images
- tags:
- - Images
- summary: Image Create
- description: |
- Captures a private gold-master Image from a Linode Disk.
- operationId: createImage
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - images:read_write
- - linodes:read_only
- requestBody:
- description: Information about the Image to create.
- content:
- application/json:
- schema:
- required:
- - disk_id
- properties:
- disk_id:
- type: integer
- description: >
- The ID of the Linode Disk that this Image will be
- created from.
- example: 42
- label:
- type: string
- description: >
- A short title of this Image. Defaults to the label of the
- Disk it is being created from if not provided.
- description:
- type: string
- description: >
- A detailed description of this Image.
- cloud_init:
- type: boolean
- description: Whether this Image supports cloud-init.
- example: true
- responses:
- '200':
- description: New private Image created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Image'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "disk_id": 123,
- "label": "this_is_a_label",
- "description": "A longer description of the image"
- }' \
- https://api.linode.com/v4/images
- - lang: CLI
- source: >
- linode-cli images create \
- --label this_is_a_label \
- --description "A longer description \
- of the image" \
- --disk_id 123
- /images/upload:
- x-linode-cli-command: images
- post:
- x-linode-grant: add_images
- servers:
- - url: https://api.linode.com/v4
- - url: https://api.linode.com/v4beta
- tags:
- - Images
- summary: Image Upload
- description: |
- Initiates an Image upload.
-
- This endpoint creates a new private Image object and returns it along
- with the URL to which image data can be uploaded.
-
- - Image data must be uploaded within 24 hours of creation or the
- upload will be canceled and the image deleted.
-
- - Image uploads should be made as an HTTP PUT request to the URL returned in the `upload_to`
- response parameter, with a `Content-type: application/octet-stream` header included in the
- request. For example:
-
- curl -v \
- -H "Content-Type: application/octet-stream" \
- --upload-file example.img.gz \
- $UPLOAD_URL \
- --progress-bar \
- --output /dev/null
-
- - Uploaded image data should be compressed in gzip (`.gz`) format. The uncompressed disk should be in raw
- disk image (`.img`) format. A maximum compressed file size of 5GB is supported for upload at this time.
-
- **Note:** To initiate and complete an Image upload in a single step, see our guide on how to [Upload an Image](/docs/products/tools/images/guides/upload-an-image/) using Cloud Manager or the Linode CLI `image-upload` plugin.
- x-linode-cli-action: upload
- security:
- - personalAccessToken: []
- - oauth:
- - images:read_write
- requestBody:
- description: The uploaded Image details.
- x-linode-cli-allowed-defaults:
- - region
- content:
- application/json:
- schema:
- type: object
- required:
- - label
- - region
- properties:
- region:
- type: string
- description: >
- The region to upload to. Once uploaded, the Image can be used in any region.
- example: eu-central
- label:
- type: string
- description: Label for the uploaded Image.
- example: my-image-label
- description:
- type: string
- description: Description for the uploaded Image.
- example: This is an example image in the docs.
- cloud_init:
- type: boolean
- description: Whether the uploaded Image supports cloud-init.
- example: true
- responses:
- '200':
- description: Image Upload object including the upload URL and Image object.
- content:
- application/json:
- schema:
- type: object
- properties:
- upload_to:
- type: string
- description: The URL to upload the Image to.
- x-linode-cli-display: 1
- image:
- $ref: '#/components/schemas/Image'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "description": "Optional details about the Image",
- "label": "Example Image",
- "region": "us-east"
- }' \
- https://api.linode.com/v4/images/upload
- - lang: CLI
- source: |
- # Upload the Image file in a single step
- linode-cli image-upload \
- --description "Optional details about the Image" \
- --label "Example Image" \
- --region us-east \
- /path/to/image-file.img.gz
-
- # Returns the upload_to URL
- linode-cli images upload \
- --description "Optional details about the Image" \
- --label "Example Image" \
- --region us-east
- /images/{imageId}:
- x-linode-cli-command: images
- parameters:
- - name: imageId
- in: path
- description: ID of the Image to look up.
+ x-akamai:
+ file-path: "parameters/event-id-path-39255fcf.yaml"
+ in: "path"
+ page-size:
+ schema:
+ default: 100
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ token-path-faf66b58:
+ in: "path"
+ x-akamai:
+ file-path: "parameters/token-path-faf66b58.yaml"
+ name: "token"
+ description: "The UUID of the Entity Transfer."
+ schema:
+ format: "uuid"
+ type: "string"
required: true
- schema:
- type: string
- get:
- tags:
- - Images
- summary: Image View
- description: |
- Get information about a single Image.
-
- * **Public** Images have IDs that begin with "linode/". These distribution images are generally available to
- all users.
-
- * **Private** Images have IDs that begin with "private/". These Images are Account-specific and only
- accessible to Users with appropriate [Grants](/docs/api/account/#users-grants-view).
-
- * To view a public Image, call this endpoint with or without authentication. To view a private Image, call this endpoint with authentication.
- operationId: getImage
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - images:read_only
- responses:
- '200':
- description: A single Image object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Image'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: |
- # Public Image
- curl https://api.linode.com/v4/images/linode/debian11
-
- # Private Image
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/images/private/12345
- - lang: CLI
- source: >
- linode-cli images view linode/debian9
- put:
- x-linode-grant: read_write
- tags:
- - Images
- summary: Image Update
- description: >
- Updates a private Image that you have permission to
- `read_write`.
- operationId: updateImage
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - images:read_write
- requestBody:
- description: >
- The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Image'
- responses:
- '200':
- description: The updated image.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Image'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "My gold-master image",
- "description": "The detailed description of my Image."
- }' \
- https://api.linode.com/v4/images/private/12345
- - lang: CLI
- source: >
- linode-cli images update private/12345 \
- --label "My gold-master image" \
- --description "The detailed description \
- of my Image."
- delete:
- x-linode-grant: read_write
- tags:
- - Images
- summary: Image Delete
- description: |
- Deletes a private Image you have permission to `read_write`.
-
-
- **Deleting an Image is a destructive action and cannot be undone.**
- operationId: deleteImage
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - images:read_write
- responses:
- '200':
- description: Delete successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/images/private/12345
- - lang: CLI
- source: >
- linode-cli images delete 12345
- /linode/instances:
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: Linodes List
- description: >
- Returns a paginated list of Linodes you have permission to view.
- tags:
- - Linode Instances
- operationId: getLinodeInstances
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Returns an array of all Linodes on your Account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Linode'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances
- - lang: CLI
- source: >
- linode-cli linodes list
- post:
- x-linode-charge: true
- x-linode-grant: add_linodes
- summary: Linode Create
- description: |
- Creates a Linode Instance on your Account. In order for this
- request to complete successfully, your User must have the `add_linodes` grant. Creating a
- new Linode will incur a charge on your Account.
-
- Linodes can be created using one of the available Types. See
- Types List ([GET /linode/types](/docs/api/linode-types/#types-list)) to get more
- information about each Type's specs and cost.
-
- Linodes can be created in any one of our available Regions, which are accessible from the
- Regions List ([GET /regions](/docs/api/regions/#regions-list)) endpoint.
-
- In an effort to fight spam, Linode restricts outbound connections on ports 25, 465, and 587
- on all Linodes for new accounts created after November 5th, 2019. For more information,
- see our guide on [Running a Mail Server](/docs/guides/running-a-mail-server/).
-
- **Important**: You must be an unrestricted User in order to add or modify tags on Linodes.
-
- Linodes can be created in a number of ways:
-
- * Using a Linode Public Image distribution or a Private Image you created based on another Linode.
- * Access the Images List ([GET /images](/docs/api/images/#images-list)) endpoint with authentication to view
- all available Images.
- * The Linode will be `running` after it completes `provisioning`.
- * A default config with two Disks, one being a 512 swap disk, is created.
- * `swap_size` can be used to customize the swap disk size.
- * Requires a `root_pass` be supplied to use for the root User's Account.
- * It is recommended to supply SSH keys for the root User using the `authorized_keys` field.
- * You may also supply a list of usernames via the `authorized_users` field.
- * These users must have an SSH Key associated with your Profile first. See SSH Key Add ([POST /profile/sshkeys](/docs/api/profile/#ssh-key-add)) for more information.
-
- * Using cloud-init with [Metadata](/docs/products/compute/compute-instances/guides/metadata/).
- * Automate system configuration and software installation by providing a base-64 encoded [cloud-config](/docs/products/compute/compute-instances/guides/metadata-cloud-config/) file.
- * Requires a compatible Image. You can determine compatible Images by checking for `cloud-init` under `capabilities` when using Images List ([GET /images](/docs/api/images/#images-list)).
- * Requires a compatible Region. You can determine compatible Regions by checking for `Metadata` under `capabilities` when using Regions List ([GET /regions](/docs/api/regions/#regions-list)).
-
- * Using a StackScript.
- * See StackScripts List ([GET /linode/stackscripts](/docs/api/stackscripts/#stackscripts-list)) for
- a list of available StackScripts.
- * The Linode will be `running` after it completes `provisioning`.
- * Requires a compatible Image to be supplied.
- * See StackScript View ([GET /linode/stackscript/{stackscriptId}](/docs/api/stackscripts/#stackscript-view)) for compatible Images.
- * Requires a `root_pass` be supplied to use for the root User's Account.
- * It is recommended to supply SSH keys for the root User using the `authorized_keys` field.
- * You may also supply a list of usernames via the `authorized_users` field.
- * These users must have an SSH Key associated with your Profile first. See SSH Key Add ([POST /profile/sshkeys](/docs/api/profile/#ssh-key-add)) for more information.
-
- * Using one of your other Linode's backups.
- * You must create a Linode large enough to accommodate the Backup's size.
- * The Disks and Config will match that of the Linode that was backed up.
- * The `root_pass` will match that of the Linode that was backed up.
-
- * Attached to a private VLAN.
- * Review the `interfaces` property of the [Request Body Schema](/docs/api/linode-instances/#linode-create__request-body-schema) for details.
- * For more information, see our guide on [Getting Started with VLANs](/docs/products/networking/vlans/get-started/).
-
- * Create an empty Linode.
- * The Linode will remain `offline` and must be manually started.
- * See Linode Boot ([POST /linode/instances/{linodeId}/boot](/docs/api/linode-instances/#linode-boot)).
- * Disks and Configs must be created manually.
- * This is only recommended for advanced use cases.
- tags:
- - Linode Instances
- operationId: createLinodeInstance
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The requested initial state of a new Linode.
- required: true
- x-linode-cli-allowed-defaults:
- - authorized_users
- - region
- - image
- - type
- content:
- application/json:
- schema:
- required:
- - type
- - region
- type: object
- allOf:
- - $ref: '#/components/schemas/LinodeRequest'
- - properties:
- backup_id:
- type: integer
- example: 1234
- description: |
- A Backup ID from another Linode's available backups. Your User must have
- `read_write` access to that Linode, the Backup must have a `status` of
- `successful`, and the Linode must be deployed to the same `region` as the Backup.
- See [GET /linode/instances/{linodeId}/backups](/docs/api/linode-instances/#backups-list)
- for a Linode's available backups.
-
- This field and the `image` field are mutually exclusive.
- backups_enabled:
- type: boolean
- description: |
- If this field is set to `true`, the created Linode will automatically be
- enrolled in the Linode Backup service. This will incur an additional charge.
- The cost for the Backup service is dependent on the Type of Linode deployed.
-
- This option is always treated as `true` if the account-wide `backups_enabled`
- setting is `true`. See [account settings](/docs/api/account/#account-settings-view)
- for more information.
-
- Backup pricing is included in the response from [/linodes/types](/docs/api/linode-types/#types-list)
- swap_size:
- type: integer
- example: 512
- description: >
- When deploying from an Image, this field is optional, otherwise it is ignored.
- This is used to set the swap disk size for the newly-created Linode.
- default: 512
- type:
- type: string
- description: >
- The [Linode Type](/docs/api/linode-types/#types-list) of the Linode
- you are creating.
- example: g6-standard-2
- region:
- type: string
- description: >
- The [Region](/docs/api/regions/#regions-list) where the Linode
- will be located.
- example: us-east
- label:
- $ref: '#/components/schemas/Linode/properties/label'
- tags:
- $ref: '#/components/schemas/Linode/properties/tags'
- group:
- $ref: '#/components/schemas/Linode/properties/group'
- private_ip:
- type: boolean
- description: >
- If true, the created Linode will have private networking enabled and assigned a private IPv4 address.
- example: true
- interfaces:
- $ref: '#/components/schemas/LinodeConfigInterfaces'
- firewall_id:
- type: integer
- description: The `id` of the Firewall to attach this Linode to upon creation.
- responses:
- '200':
- description: >
- A new Linode is being created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Linode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "backup_id": 1234,
- "backups_enabled": true,
- "swap_size": 512,
- "image": "linode/ubuntu22.04",
- "root_pass": "aComplexP@ssword",
- "stackscript_id": 10079,
- "stackscript_data": {
- "gh_username": "linode"
- },
- "interfaces": [
- {
- "purpose": "public",
- "label": "",
- "ipam_address": ""
- },
- {
- "purpose": "vlan",
- "label": "vlan-1",
- "ipam_address": "10.0.0.1/24"
- },
- {
- "purpose": "vpc",
- "primary": false,
- "label": "",
- "ipam_address": "",
- "subnet_id": 101,
- "ipv4": {
- "vpc": "10.0.1.2",
- "nat_1_1": "any"
- }
- }
- ],
- "authorized_keys": [
- "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
- ],
- "authorized_users": [
- "myUser",
- "secondaryUser"
- ],
- "booted": true,
- "label": "linode123",
- "type": "g6-standard-2",
- "region": "us-east",
- "group": "Linode-Group",
- "metadata": {
- "user_data": "I2Nsb3VkLWNvbmZpZw=="
- },
- "firewall_id": 9000
- }' \
- https://api.linode.com/v4/linode/instances
- - lang: CLI
- source: >
- linode-cli linodes create \
- --label linode123 \
- --root_pass aComplex@Password \
- --booted true \
- --stackscript_id 10079 \
- --stackscript_data '{"gh_username": "linode"}' \
- --region us-east \
- --type g6-standard-2 \
- --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \
- --authorized_users "myUser" \
- --authorized_users "secondaryUser" \
- --metadata.user_data "I2Nsb3VkLWNvbmZpZw==" \
- --firewall_id 9000
- /linode/instances/{linodeId}:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up
+ event-id-path-214cd042:
+ x-akamai:
+ file-path: "parameters/event-id-path-214cd042.yaml"
+ in: "path"
+ description: "The ID of the Event to designate as seen."
+ name: "eventId"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: Linode View
- description: Get a specific Linode by ID.
- operationId: getLinodeInstance
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Returns a single Linode object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Linode'
- links:
- boot:
- $ref: '#/components/links/bootLinode'
- reboot:
- $ref: '#/components/links/rebootLinode'
- shutdown:
- $ref: '#/components/links/shutdownLinode'
- update:
- $ref: '#/components/links/updateLinode'
- delete:
- $ref: '#/components/links/deleteLinode'
- rebuild:
- $ref: '#/components/links/rebuildLinode'
- mutate:
- $ref: '#/components/links/mutateLinode'
- resize:
- $ref: '#/components/links/resizeLinode'
- rescue:
- $ref: '#/components/links/rescueLinode'
- clone:
- $ref: '#/components/links/cloneLinode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123
- - lang: CLI
- source: >
- linode-cli linodes view 123
- put:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Linode Update
- description: >
- Updates a Linode that you have permission to `read_write`.
-
-
- **Important**: You must be an unrestricted User in order to add or modify
- tags on Linodes.
- operationId: updateLinodeInstance
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: >
- Any field that is not marked as `readOnly` may be updated. Fields that are marked
- `readOnly` will be ignored. If any updated field fails to pass validation, the Linode will
- not be updated.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Linode'
- responses:
- '200':
- description: The updated Linode.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Linode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "linode123",
- "group": "Linode-Group",
- "alerts": {
- "cpu": 180,
- "network_in": 10,
- "network_out": 10,
- "transfer_quota": 80,
- "io": 10000
- },
- "backups": {
- "schedule": {
- "day": "Saturday",
- "window": "W22"
- }
- }
- }' \
- https://api.linode.com/v4/linode/instances/123
- - lang: CLI
- source: >
- linode-cli linodes update 7833080 \
- --label linode123 \
- --backups.schedule.day "Saturday" \
- --backups.schedule.window "W22" \
- --alerts.cpu 180 \
- --alerts.network_in 10 \
- --alerts.network_out 10 \
- --alerts.transfer_quota 80 \
- --alerts.io 10000
- delete:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Linode Delete
- description: |
- Deletes a Linode you have permission to `read_write`.
-
- **Deleting a Linode is a destructive action and cannot be undone.**
-
- Additionally, deleting a Linode:
-
- * Gives up any IP addresses the Linode was assigned.
- * Deletes all Disks, Backups, Configs, etc.
- * Detaches any Volumes associated with the Linode.
- * Stops billing for the Linode and its associated services. You will be billed for time used
- within the billing period the Linode was active.
-
- Linodes that are in the process of [cloning](/docs/api/linode-instances/#linode-clone) or [backup restoration](/docs/api/linode-instances/#backup-restore) cannot be deleted.
- operationId: deleteLinodeInstance
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Delete successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/linode/instances/123
- - lang: CLI
- source: >
- linode-cli linodes delete 123
- /linode/instances/{linodeId}/backups:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode the backups belong to.
+ schema:
+ type: "integer"
+ client-id-path-ecf807fb:
+ x-akamai:
+ file-path: "parameters/client-id-path-ecf807fb.yaml"
+ in: "path"
+ description: "The OAuth Client ID to look up."
+ name: "clientId"
+ schema:
+ type: "string"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- summary: Backups List
- description: >
- Returns information about this Linode's available backups.
- tags:
- - Linode Instances
- operationId: getBackups
- x-linode-cli-action: backups-list
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: A collection of the specified Linode's available backups.
- content:
- application/json:
- x-linode-cli-rows:
- - automatic
- - snapshot.current
- - snapshot.in_progress
- x-linode-cli-use-schema:
- $ref: '#/components/schemas/Backup'
- schema:
- type: object
- properties:
- automatic:
- type: array
- items:
- allOf:
- - $ref: '#/components/schemas/Backup'
- - properties:
- type:
- type: string
- example: automatic
- snapshot:
- type: object
- properties:
- in_progress:
- $ref: '#/components/schemas/Backup'
- current:
- $ref: '#/components/schemas/Backup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/backups
- - lang: CLI
- source: >
- linode-cli linodes backups-list 123
- post:
- x-linode-grant: read_write
- summary: Snapshot Create
- description: |
- Creates a snapshot Backup of a Linode.
-
- **Important:** If you already have a snapshot of this Linode, this is a destructive
- action. The previous snapshot will be deleted.
- tags:
- - Linode Instances
- operationId: createSnapshot
- x-linode-cli-action: snapshot
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- required: true
- content:
- application/json:
- schema:
- required:
- - label
- type: object
- properties:
- label:
- type: string
- minLength: 1
- maxLength: 255
- description: The label for the new snapshot.
- example: SnapshotLabel
- responses:
- '200':
- description: Snapshot request successful.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Backup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "MyNewSnapshot"
- }' \
- https://api.linode.com/v4/linode/instances/123/backups
- - lang: CLI
- source: >
- linode-cli linodes snapshot 123
- /linode/instances/{linodeId}/backups/cancel:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode to cancel backup service for.
+ invoice-id-path:
+ schema:
+ type: "integer"
+ in: "path"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Backups Cancel
- description: >
- Cancels the Backup service on the given Linode. Deletes all of this Linode's
- existing backups forever.
- tags:
- - Linode Instances
- operationId: cancelBackups
- x-linode-cli-action: backups-cancel
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Backup service was canceled for the specified Linode.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/linode/instances/123/backups/cancel
- - lang: CLI
- source: >
- linode-cli linodes backups-cancel 123
- /linode/instances/{linodeId}/backups/enable:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode to enable backup service for.
+ x-akamai:
+ file-path: "parameters/invoice-id-path.yaml"
+ name: "invoiceId"
+ description: "The ID of the Invoice."
+ api-version-path:
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Backups Enable
- description: >
- Enables backups for the specified Linode.
- tags:
- - Linode Instances
- operationId: enableBackups
- x-linode-cli-action: backups-enable
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Backup service was enabled.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/linode/instances/123/backups/enable
- - lang: CLI
- source: >
- linode-cli linodes backups-enable 123
- /linode/instances/{linodeId}/backups/{backupId}:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode the Backup belongs to.
+ name: "apiVersion"
+ description: "Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ payment-method-id-path-fb39a844:
+ schema:
+ type: "integer"
+ name: "paymentMethodId"
+ description: "The ID of the Payment Method to make default."
+ in: "path"
required: true
- schema:
- type: integer
- - name: backupId
- in: path
- description: The ID of the Backup to look up.
+ x-akamai:
+ file-path: "parameters/payment-method-id-path-fb39a844.yaml"
+ event-id-path-625aa248:
+ schema:
+ type: "integer"
+ in: "path"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- summary: Backup View
- description: >
- Returns information about a Backup.
- tags:
- - Linode Instances
- operationId: getBackup
- x-linode-cli-action: backup-view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: A single Backup.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Backup'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/backups/123456
- - lang: CLI
- source: >
- linode-cli linodes backup-view 123 123456
- /linode/instances/{linodeId}/backups/{backupId}/restore:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode that the Backup belongs to.
+ x-akamai:
+ file-path: "parameters/event-id-path-625aa248.yaml"
+ name: "eventId"
+ description: "The ID of the Event to designate as read."
+ beta-id:
+ schema:
+ type: "string"
+ x-akamai:
+ file-path: "parameters/beta-id.yaml"
required: true
- schema:
- type: integer
- - name: backupId
- in: path
- description: The ID of the Backup to restore.
+ in: "path"
+ description: "The ID of the Beta Program."
+ name: "betaId"
+ page-offset:
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ token-path-f857f5a2:
+ schema:
+ format: "uuid"
+ type: "string"
+ name: "token"
+ description: "The UUID of the Service Transfer."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/token-path-f857f5a2.yaml"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Backup Restore
- description: |
- Restores a Linode's Backup to the specified Linode.
-
- The following conditions apply:
- * Backups may not be restored across Regions.
- * Only successfully completed Backups that are not undergoing maintenance can be restored.
- * The Linode that the Backup is being restored to must not itself be in the process of creating a Backup.
-
- {{< note type="warning" title="Warning: UUID Collisions">}}
- When you restore a backup, the restored disk is assigned the same [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) as the original disk. In most cases, this is acceptable and does not cause issues. However, if you attempt to mount both the original disk and the corresponding restore disk at the same time (by assigning them both to devices in your Configuration Profile's **Block Device Assignment**), you will encounter a UUID "collision".
-
- When this happens, the system selects, and mounts, only one of the disks at random. This is due to both disks sharing the same UUID, and your instance *may fail to boot* since it will not be clear which disk is root. If your system does boot, you will not see any immediate indication if you are booted into the restored disk or the original disk, and you will be unable to access both disks at the same time.
-
- To avoid this, we recommend only restoring a backup to the same Compute Instance if you do not intend on mounting them at the same time or are comfortable modifying UUIDs. If you need access to files on both the original disk and the restored disk simultaneously (such as needing to copy files between them), we suggest either restoring the backup to a separate Compute Instance or [creating](/docs/api/linode-instances/#linode-create) a new Compute Instance with the desired `backup_id`.
-
- To learn more about block device assignments and viewing your disks' UUIDs, see our guide on [Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#block-device-assignment).
- {{< /note >}}
- tags:
- - Linode Instances
- operationId: restoreBackup
- x-linode-cli-action: backup-restore
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: Parameters to provide when restoring the Backup.
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - linode_id
- properties:
- linode_id:
- type: integer
- description: >
- The ID of the Linode to restore a Backup to.
- example: 234
- overwrite:
- type: boolean
- description: |
- If True, deletes all Disks and Configs on the target Linode
- before restoring.
-
- If False, and the Disk image size is larger than the available
- space on the Linode, an error message indicating insufficient
- space is returned.
- example: true
- responses:
- '200':
- description: Restore from Backup was initiated.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "linode_id": 234,
- "overwrite": true
- }' \
- https://api.linode.com/v4/linode/instances/123/backups/123456/restore
- - lang: CLI
- source: >
- linode-cli linodes backup-restore 123 123456 \
- --linode_id 234 \
- --overwrite true
- /linode/instances/{linodeId}/boot:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode to boot.
+ login-id-path:
+ in: "path"
+ x-akamai:
+ file-path: "parameters/login-id-path.yaml"
+ name: "loginId"
+ description: "The ID of the login object to access."
+ schema:
+ type: "integer"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Boot
- description: |
- Boots a Linode you have permission to modify. If no parameters are given, a Config profile
- will be chosen for this boot based on the following criteria:
-
- * If there is only one Config profile for this Linode, it will be used.
- * If there is more than one Config profile, the last booted config will be used.
- * If there is more than one Config profile and none were the last to be booted (because the
- Linode was never booted or the last booted config was deleted) an error will be returned.
- tags:
- - Linode Instances
- operationId: bootLinodeInstance
- x-linode-cli-action: boot
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: Optional configuration to boot into (see above).
- required: false
- content:
- application/json:
- schema:
- type: object
- properties:
- config_id:
- type: integer
- description: >
- The Linode Config ID to boot into.
- example: null
- responses:
- '200':
- description: Boot started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/linode/instances/123/boot
- - lang: CLI
- source: >
- linode-cli linodes boot 123
- /linode/instances/{linodeId}/clone:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to clone.
+ eeuid:
+ description: "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`."
+ name: "euuid"
required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-charge: true
- x-linode-grant: add_linodes
- summary: Linode Clone
- description: |
- You can clone your Linode's existing Disks or Configuration profiles to
- another Linode on your Account. In order for this request to complete
- successfully, your User must have the `add_linodes` grant. Cloning to a
- new Linode will incur a charge on your Account.
-
- If cloning to an existing Linode, any actions currently running or
- queued must be completed first before you can clone to it.
-
- Up to five clone operations from any given source Linode can be run concurrently.
- If more concurrent clones are attempted, an HTTP 400 error will be
- returned by this endpoint.
-
- Any [tags](/docs/api/tags/#tags-list) existing on the source Linode will be cloned to the target Linode.
-
- Linodes utilizing Metadata (`"has_user_data": true`) must be cloned to a new Linode with `metadata.user_data` included with the clone request.
-
- `vpc` details
-
- - If the Linode you are cloning has a `vpc` purpose Interface on its active Configuration Profile that includes a 1:1 NAT, the resulting clone is configured with an `any` 1:1 NAT.
- - See the [VPC documentation](/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.
-
- `vlan` details
-
- - Only Next Generation Network (NGN) data centers support VLANs. If a VLAN is attached to your Linode and you attempt clone it to a non-NGN data center, the cloning will not initiate. If a Linode cannot be cloned because of an incompatibility, you will be prompted to select a different data center or contact support.
- - See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations.
- tags:
- - Linode Instances
- operationId: cloneLinodeInstance
- x-linode-cli-action: clone
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The requested state your Linode will be cloned into.
- required: true
- x-linode-cli-allowed-defaults:
- - region
- - type
- content:
- application/json:
- schema:
- type: object
- properties:
- region:
- type: string
- description: >
- This is the Region where the Linode will be deployed.
-
- To view all available Regions you can deploy to see
- [GET /regions](/docs/api/regions/#regions-list).
-
- * Region can only be provided and is required when cloning to a new Linode.
- example: us-east
- type:
- type: string
- description: |
- A Linode's Type determines what resources are available to
- it, including disk space, memory, and virtual cpus. The
- amounts available to a specific Linode are returned as
- `specs` on the Linode object.
-
- To view all available Linode Types you can deploy with
- see [/linode/types](/docs/api/linode-types/#types-list).
-
- * Type can only be provided and is required when cloning to a new Linode.
- example: g6-standard-2
- linode_id:
- type: integer
- description: >
- If an existing Linode is the target for the clone,
- the ID of that Linode. The existing Linode must have enough
- resources to accept the clone.
- example: 124
- label:
- type: string
- minLength: 3
- maxLength: 64
- description: >
- The label to assign this Linode when cloning to a new Linode.
-
- * Can only be provided when cloning to a new Linode.
-
- * Defaults to "linode".
- example: cloned-linode
- group:
- deprecated: true
- type: string
- description: >
- A label used to group Linodes for display. Linodes are not
- required to have a group.
- example: Linode-Group
- backups_enabled:
- type: boolean
- description: |
- If this field is set to `true`, the created Linode will
- automatically be enrolled in the Linode Backup service. This
- will incur an additional charge. Pricing is included in the
- response from
- [/linodes/types](/docs/api/linode-types/#types-list).
-
- * Can only be included when cloning to a new Linode.
- example: true
- disks:
- type: array
- description: >
- An array of disk IDs.
-
- * If the `disks` parameter **is not provided**, then **no extra disks
- will be cloned** from the source Linode. All disks associated
- with the configuration profiles specified by the `configs`
- parameter will still be cloned.
-
- * **If an empty array is provided** for the `disks` parameter, then **no extra disks
- will be cloned** from the source Linode. All disks associated
- with the configuration profiles specified by the `configs`
- parameter will still be cloned.
-
- * **If a non-empty array is provided** for the `disks` parameter, then **the disks
- specified in the array will be cloned** from the source Linode, in addition to
- any disks associated with the configuration profiles specified by the `configs`
- parameter.
- items:
- type: integer
- example: 25674
- configs:
- type: array
- description: >
- An array of configuration profile IDs.
-
- * If the `configs` parameter **is not provided**, then **all configuration profiles and their associated disks
- will be cloned** from the source Linode. Any disks specified by the `disks`
- parameter will also be cloned.
-
- * **If an empty array is provided** for the `configs` parameter, then **no
- configuration profiles (nor their associated disks) will be cloned** from
- the source Linode. Any disks specified by the `disks`
- parameter will still be cloned.
-
- * **If a non-empty array is provided** for the `configs` parameter, then **the configuration profiles
- specified in the array (and their associated disks) will be cloned** from the source Linode.
- Any disks specified by the `disks` parameter will also be cloned.
- items:
- type: integer
- example: 23456
- private_ip:
- type: boolean
- description: >
- If true, the created Linode will have private networking enabled and assigned a private IPv4 address.
-
- * Can only be provided when cloning to a new Linode.
- example: true
- metadata:
- $ref: '#/components/schemas/LinodeRequest/properties/metadata'
- responses:
- '200':
- description: Clone started.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Linode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "region": "us-east",
- "type": "g6-standard-2",
- "linode_id": 124,
- "label": "cloned-linode",
- "group": "Linode-Group",
- "backups_enabled": true,
- "disks": [25674],
- "configs": [23456],
- "private_ip": true,
- "metadata": {
- "user_data": "I2Nsb3VkLWNvbmZpZw=="
- }
- }' \
- https://api.linode.com/v4/linode/instances/123/clone
- - lang: CLI
- source: >
- linode-cli linodes clone 123 \
- --linode_id 124 \
- --region us-east \
- --type g6-standard-2 \
- --label cloned-linode \
- --backups_enabled true \
- --disks 25674 \
- --configs 23456 \
- --private_ip true \
- --metadata.user_data I2Nsb3VkLWNvbmZpZw==
- /linode/instances/{linodeId}/configs:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up Configuration profiles for.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Linode Instances
- summary: Configuration Profiles List
- description: |
- Lists Configuration profiles associated with a Linode.
- operationId: getLinodeConfigs
- x-linode-cli-action: configs-list
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: >
- Returns an array of Configuration profiles associated with this Linode.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LinodeConfig'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/configs
- - lang: CLI
- source: >
- linode-cli linodes configs-list 123
- post:
- tags:
- - Linode Instances
- summary: Configuration Profile Create
- description: >
- Adds a new Configuration profile to a Linode.
- operationId: addLinodeConfig
- x-linode-cli-action: config-create
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: >
- The parameters to set when creating the Configuration profile.
-
- This determines which kernel, devices, how much memory, etc. a Linode boots with.
- required: true
- content:
- application/json:
- schema:
- required:
- - label
- - devices
- allOf:
- - $ref: '#/components/schemas/LinodeConfig'
- responses:
- '200':
- description: |
- A Configuration profile was created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "kernel": "linode/latest-64bit",
- "comments": "This is my main Config",
- "memory_limit": 2048,
- "run_level": "default",
- "virt_mode": "paravirt",
- "interfaces": [
- {
- "purpose": "public",
- "label": "",
- "ipam_address": ""
- },
- {
- "purpose": "vlan",
- "label": "vlan-1",
- "ipam_address": "10.0.0.1/24"
- }
- ],
- "helpers": {
- "updatedb_disabled": true,
- "distro": true,
- "modules_dep": true,
- "network": true,
- "devtmpfs_automount": false
- },
- "label": "My Config",
- "devices": {
- "sda": {
- "disk_id": 123456,
- "volume_id": null
- },
- "sdb": {
- "disk_id": 123457,
- "volume_id": null
- }
- }
- }' \
- https://api.linode.com/v4/linode/instances/123/configs
- - lang: CLI
- source: >
- linode-cli linodes config-create 7590910 \
- --label "My Config" \
- --devices.sda.disk_id 123456 \
- --devices.sdb.disk_id 123457
- /linode/instances/{linodeId}/configs/{configId}:
- parameters:
- - $ref: '#/components/parameters/linodeId'
- - $ref: '#/components/parameters/configId'
- x-linode-cli-command: linodes
- get:
- tags:
- - Linode Instances
- x-linode-grant: read_only
- summary: Configuration Profile View
- description: >
- Returns information about a specific Configuration profile.
- operationId: getLinodeConfig
- x-linode-cli-action: config-view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: A Configuration profile object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/configs/23456
- - lang: CLI
- source: >
- linode-cli linodes config-view 123 23456
- put:
- x-linode-grant: read_write
- summary: Configuration Profile Update
- description: >
- Updates a Configuration profile.
- tags:
- - Linode Instances
- operationId: updateLinodeConfig
- x-linode-cli-action: config-update
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The Configuration profile parameters to modify.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfig'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "kernel": "linode/latest-64bit",
- "comments": "This is my main Config",
- "memory_limit": 2048,
- "run_level": "default",
- "virt_mode": "paravirt",
- "interfaces": [
- {
- "purpose": "public",
- "label": "",
- "ipam_address": ""
- },
- {
- "purpose": "vlan",
- "label": "vlan-1",
- "ipam_address": "10.0.0.1/24"
- }
- ],
- "helpers": {
- "updatedb_disabled": true,
- "distro": true,
- "modules_dep": true,
- "network": true,
- "devtmpfs_automount": false
- },
- "label": "My Config",
- "devices": {
- "sda": {
- "disk_id": 123456,
- "volume_id": null
- },
- "sdb": {
- "disk_id": 123457,
- "volume_id": null
- }
- }
- }' \
- https://api.linode.com/v4/linode/instances/123/configs/23456
- - lang: CLI
- source: >
- linode-cli linodes config-update 123 23456 \
- --kernel "linode/latest-64bit" \
- --comments "This is my main Config" \
- --memory_limit 2048 \
- --run_level default \
- --virt_mode paravirt \
- --helpers.updatedb_disabled true \
- --helpers.distro true \
- --helpers.modules_dep true \
- --helpers.network true \
- --helpers.devtmpfs_automount false \
- --label "My Config" \
- --devices.sda.disk_id 123456 \
- --devices.sdb.disk_id 123457
- responses:
- '200':
- description: Configuration profile successfully updated.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- delete:
- summary: Configuration Profile Delete
- description: >
- Deletes the specified Configuration profile from the specified Linode.
- x-linode-grant: read_write
- tags:
- - Linode Instances
- operationId: deleteLinodeConfig
- x-linode-cli-action: config-delete
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: >
- Configuration profile successfully deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/linode/instances/123/configs/23456
- - lang: CLI
- source: >
- linode-cli linodes config-delete 123 23456
- /linode/instances/{linodeId}/configs/{configId}/interfaces:
- x-linode-cli-command: linodes
- parameters:
- - $ref: '#/components/parameters/linodeId'
- - $ref: '#/components/parameters/configId'
- get:
- tags:
- - Linode Instances
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- summary: Configuration Profile Interfaces List
- description: |
- Returns an ordered array of all Interfaces associated with this Configuration Profile.
- * The User accessing this command must have at least `read_only` grants to the Linode.
- operationId: getLinodeConfigInterfaces
- x-linode-cli-action:
- - config-interfaces-list
- - config-interfaces-ls
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: An ordered array of Interface objects.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfigInterfaces'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli linodes config-interfaces-list $linodeId $configId
- post:
- x-linode-grant: read_write
- summary: Configuration Profile Interface Add
- servers:
- - url: https://api.linode.com/v4
- description: |
- Creates and appends a single Interface to the end of the `interfaces` array for an existing Configuration Profile.
- * The User accessing this command must have `read_write` grants to the Linode.
- * A successful request triggers a `linode_config_update` event.
- * If the new Interface is added with `"primary": true`, then any existing primary Interface is changed to `"primary": false`.
-
- Reboot the Linode with this Configuration Profile to activate an Interface that was added with this command.
- tags:
- - Linode Instances
- operationId: addLinodeConfigInterface
- x-linode-cli-action: config-interface-add
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The Interface to add to the Configuration Profile.
- required: true
- content:
- application/json:
- schema:
- allOf:
- - required:
- - purpose
- - $ref: '#/components/schemas/LinodeConfigInterface'
- responses:
- '200':
- description: Interface successfully added.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfigInterface'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "purpose": "vpc",
- "primary": false,
- "label": "",
- "ipam_address": "",
- "subnet_id": 101,
- "ipv4": {
- "vpc": "10.0.1.2",
- "nat_1_1": "203.0.113.2"
- }
- }'
- - lang: CLI
- source: >
- linode-cli linodes config-interface-add $linodeId $configId \
- --purpose vpc \
- --primary false \
- --subnet_id 101 \
- --ipv4.vpc "10.0.1.2" \
- --ipv4.nat_1_1 "203.0.113.2"
- /linode/instances/{linodeId}/configs/{configId}/interfaces/{interfaceId}:
- x-linode-cli-command: linodes
- parameters:
- - $ref: '#/components/parameters/linodeId'
- - $ref: '#/components/parameters/configId'
- - name: interfaceId
- in: path
- description: The `id` of the Linode Configuration Profile Interface.
- required: true
- schema:
- type: integer
- delete:
- summary: Configuration Profile Interface Delete
- servers:
- - url: https://api.linode.com/v4
- description: |
- Deletes an Interface from the Configuration Profile.
-
- * The User accessing this command must have `read_write` grants to the Linode.
- * A successful request triggers a `linode_config_update` event.
- * Active Interfaces cannot be deleted. The associated Linode must first be shut down (or restarted using another Configuration Profile) before such Interfaces can be deleted from a Configuration Profile.
- x-linode-grant: read_write
- tags:
- - Linode Instances
- operationId: deleteLinodeConfigInterface
- x-linode-cli-action: config-interface-delete
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Interface successfully deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/$interfaceId
- - lang: CLI
- source: >
- linode-cli linodes config-delete $linodeId $configId $interfaceId
- get:
- tags:
- - Linode Instances
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- summary: Configuration Profile Interface View
- description: |
- Returns a single Configuration Profile Interface.
- * The User accessing this command must have at least `read_only` grants to the Linode.
- operationId: getLinodeConfigInterface
- x-linode-cli-action:
- - config-interface-view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: An Interface object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfigInterface'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/$interfaceId \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli linodes config-interface-view $linodeId $configId $interfaceId
- put:
- x-linode-grant: read_write
- summary: Configuration Profile Interface Update
- servers:
- - url: https://api.linode.com/v4
- description: |
- Updates a `vpc` or `public` purpose Interface for this Configuration Profile.
- * The User accessing this command must have `read_write` grants to the Linode.
- * A successful request triggers a `linode_config_update` event.
- * The Interface `purpose` cannot be updated with this command.
- * VPC Subnets cannot be updated on an Interface. A new `vpc` purpose Interface must be created to assign a different Subnet to a Configuration Profile.
- * Only `primary` can be updated for `public` purpose Interfaces.
- * This command not currently allowed for `vlan` purpose Interfaces.
- tags:
- - Linode Instances
- operationId: updateLinodeConfigInterface
- x-linode-cli-action: config-interface-update
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The updated Interface.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: Linode Configuration Interface Update request object.
- properties:
- primary:
- $ref: '#/components/schemas/LinodeConfigInterface/properties/primary'
- ipv4:
- $ref: '#/components/schemas/LinodeConfigInterface/properties/ipv4'
- ip_ranges:
- $ref: '#/components/schemas/LinodeConfigInterface/properties/ip_ranges'
- # ipv6:
- # $ref: '#/components/schemas/LinodeConfigInterface/properties/ipv6'
- responses:
- '200':
- description: Interface successfully updated.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeConfigInterface'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/$interfaceId \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X PUT -d '{
- "primary": true,
- "ipv4": {
- "vpc": "10.0.1.2",
- "nat_1_1": "203.0.113.2"
- }
- }'
- - lang: CLI
- source: >
- linode-cli linodes config-interface-update $linodeId $configId $interfaceId \
- --primary true \
- --ipv4.vpc "10.0.1.2" \
- --ipv4.nat_1_1 "203.0.113.2"
- /linode/instances/{linodeId}/configs/{configId}/interfaces/order:
- x-linode-cli-command: linodes
- parameters:
- - $ref: '#/components/parameters/linodeId'
- - $ref: '#/components/parameters/configId'
- post:
- x-linode-grant: read_write
- summary: Configuration Profile Interfaces Order
- servers:
- - url: https://api.linode.com/v4
- description: |
- Reorders the existing Interfaces of a Configuration Profile.
- * The User accessing this command must have `read_write` grants to the Linode.
- tags:
- - Linode Instances
- operationId: orderLinodeConfigInterfaces
- x-linode-cli-action: config-interfaces-order
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The desired Interface order for the Configuration Profile.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: Linode Configuration Interfaces Order request object.
- required:
- - ids
- properties:
- ids:
- type: array
- description: |
- An ordered array of existing Configuration Profile Interface `id`s.
-
- * All current Interface `id`s must be present in the array.
- * If the Configuration Profile contains Interfaces and is active on the Linode, the Linode must first be shut down prior to running this command.
- * Reordering takes effect after rebooting the Linode with this Configuration Profile.
-
- The position in the array determines which of the Linode's network Interfaces is configured:
-
- * First [0]: eth0
- * Second [1]: eth1
- * Third [2]: eth2
- items:
- $ref: '#/components/schemas/LinodeConfigInterface/properties/id'
- responses:
- '200':
- description: Interfaces successfully reordered.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/order \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "ids": [
- 101,
- 102,
- 103
- ]
- }'
- - lang: CLI
- source: >
- linode-cli linodes config-interfaces-order $linodeId $configId \
- --ids 101 --ids 102 --ids 103
- /linode/instances/{linodeId}/disks:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Linode Instances
- summary: Disks List
- description: >
- View Disk information for Disks associated with this Linode.
- operationId: getLinodeDisks
- x-linode-cli-action: disks-list
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Returns a paginated list of disks associated with this Linode.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Disk'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/disks
- - lang: CLI
- source: >
- linode-cli linodes disks-list 123
- post:
- tags:
- - Linode Instances
- summary: Disk Create
- description: |
- Adds a new Disk to a Linode.
-
- * You can optionally create a Disk from an Image or an Empty Disk if no Image is provided with a request.
-
- * When creating an Empty Disk, providing a `label` is required.
-
- * If no `label` is provided, an `image` is required instead.
-
- * When creating a Disk from an Image, `root_pass` is required.
-
- * The default filesystem for new Disks is `ext4`. If creating a Disk from an Image, the filesystem
- of the Image is used unless otherwise specified.
-
- * When deploying a StackScript on a Disk:
- * See StackScripts List ([GET /linode/stackscripts](/docs/api/stackscripts/#stackscripts-list)) for
- a list of available StackScripts.
- * Requires a compatible Image to be supplied.
- * See StackScript View ([GET /linode/stackscript/{stackscriptId}](/docs/api/stackscripts/#stackscript-view)) for compatible Images.
- * It is recommended to supply SSH keys for the root User using the `authorized_keys` field.
- * You may also supply a list of usernames via the `authorized_users` field.
- * These users must have an SSH Key associated with their Profiles first. See SSH Key Add ([POST /profile/sshkeys](/docs/api/profile/#ssh-key-add)) for more information.
- operationId: addLinodeDisk
- x-linode-cli-action: disk-create
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: >
- The parameters to set when creating the Disk.
- required: true
- content:
- application/json:
- schema:
- required:
- - size
- allOf:
- - $ref: '#/components/schemas/DiskRequest'
- responses:
- '200':
- description: Disk created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Disk'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "Debian 9 Disk",
- "image": "linode/debian9",
- "size": 1300,
- "authorized_keys": [
- "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
- ],
- "authorized_users": [
- "myUser",
- "secondaryUser"
- ],
- "root_pass": "aComplexP@ssword",
- "stackscript_id": 10079,
- "stackscript_data": {
- "gh_username": "linode"
- }
- }' \
- https://api.linode.com/v4/linode/instances/123/disks
- - lang: CLI
- source: >
- linode-cli linodes disk-create 123 \
- --size 1300 \
- --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \
- --authorized_users "myUser" \
- --authorized_users "secondaryUser" \
- --root_pass aComplex@Password \
- --image "linode/debian9" \
- --stackscript_id 10079 \
- --stackscript_data '{"gh_username": "linode"}'
- /linode/instances/{linodeId}/disks/{diskId}:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- - name: diskId
- in: path
- description: ID of the Disk to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: Disk View
- description: >
- View Disk information for a Disk associated with this Linode.
- operationId: getLinodeDisk
- x-linode-cli-action: disk-view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Returns a single Disk object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Disk'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/disks/25674
- - lang: CLI
- source: >
- linode-cli linodes disk-view 123 25674
- put:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Disk Update
- description: >
- Updates a Disk that you have permission to `read_write`.
- operationId: updateDisk
- x-linode-cli-action: disk-update
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: >
- Updates the parameters of a single Disk.
- required: true
- content:
- application/json:
- schema:
- properties:
- label:
- $ref: '#/components/schemas/Disk/properties/label'
- responses:
- '200':
- description: The updated Disk.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Disk'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "Debian 9 Disk"
- }' \
- https://api.linode.com/v4/linode/instances/123/disks/25674
- - lang: CLI
- source: >
- linode-cli linodes disk-update 123 25674 \
- --label "Debian 9 Disk"
- delete:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Disk Delete
- description: |
- Deletes a Disk you have permission to `read_write`.
-
- **Deleting a Disk is a destructive action and cannot be undone.**
- operationId: deleteDisk
- x-linode-cli-action: disk-delete
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Delete successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/linode/instances/123/disks/25674
- - lang: CLI
- source: >
- linode-cli linodes disk-delete 123 24674
- /linode/instances/{linodeId}/disks/{diskId}/clone:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- - name: diskId
- in: path
- description: ID of the Disk to clone.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Disk Clone
- description: >
- Copies a disk, byte-for-byte, into a new Disk belonging to the same Linode.
- The Linode must have enough storage space available to accept a new Disk
- of the same size as this one or this operation will fail.
- operationId: cloneLinodeDisk
- x-linode-cli-action: disk-clone
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Disk clone initiated.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Disk'
- default:
- $ref: '#/components/responses/ErrorResponse'
- /linode/instances/{linodeId}/disks/{diskId}/password:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- - name: diskId
- in: path
- description: ID of the Disk to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Disk Root Password Reset
- description: >
- Resets the password of a Disk you have permission to `read_write`.
- operationId: resetDiskPassword
- x-linode-cli-action: disk-reset-password
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The new password.
- required: true
- content:
- application/json:
- schema:
- required:
- - password
- properties:
- password:
- type: string
- description: >
- The new root password for the OS installed on this Disk.
-
- The password must meet the complexity strength validation requirements for a strong password.
- example: another@complex^Password123
- responses:
- '200':
- description: Returns a single Disk object.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "password": "another@complex^Password123"
- }' \
- https://api.linode.com/v4/linode/instances/123/disks/25674/password
- - lang: CLI
- source: >
- linode-cli linodes disk-reset-password \
- 123 25674 \
- --password aComplex@Password
- /linode/instances/{linodeId}/disks/{diskId}/resize:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- - name: diskId
- in: path
- description: ID of the Disk to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: Disk Resize
- description: |
- Resizes a Disk you have permission to `read_write`.
-
- The Disk must not be in use. If the Disk is in use, the request will
- succeed but the resize will ultimately fail. For a request to succeed,
- the Linode must be shut down prior to resizing the Disk, or the Disk
- must not be assigned to the Linode's active Configuration Profile.
-
- If you are resizing the Disk to a smaller size, it cannot be made smaller
- than what is required by the total size of the files current on the Disk.
- operationId: resizeDisk
- x-linode-cli-action: disk-resize
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The new size of the Disk.
- required: true
- content:
- application/json:
- schema:
- required:
- - size
- properties:
- size:
- type: integer
- description: >
- The desired size, in MB, of the disk.
- minimum: 1
- example: 2048
- responses:
- '200':
- description: Resize started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "size": 2048
- }' \
- https://api.linode.com/v4/linode/instances/123/disks/25674/resize
- - lang: CLI
- source: >
- linode-cli linodes disk-resize 123 25674 \
- --size 2048
- /linode/instances/{linodeId}/firewalls:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Linode Instances
- summary: Firewalls List
- description: >
- View Firewall information for Firewalls assigned to this Linode.
- operationId: getLinodeFirewalls
- x-linode-cli-action: firewalls-list
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Returns a paginated list of Firewalls assigned to this Linode.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Firewall'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/firewalls
- - lang: CLI
- source: >
- linode-cli linodes firewalls-list 123
- /linode/instances/{linodeId}/ips:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: Networking Information List
- description: |
- Returns networking information for a single Linode.
-
- **Note:** If the target Linode has several configuration profiles that include a Virtual Private Cloud (VPC) interface, address information for all of VPCs will be listed in the response.
- operationId: getLinodeIPs
- x-linode-cli-action: ips-list
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Requested Linode's networking configuration.
- content:
- application/json:
- x-linode-cli-subtables:
- - ipv4.public
- - ipv4.private
- - ipv4.shared
- - ipv4.reserved
- - ipv4.vpc
- - ipv6.link_local
- - ipv6.slaac
- - ipv6.global
- schema:
- properties:
- ipv4:
- type: object
- description: >
- Information about this Linode's IPv4 addresses.
- readOnly: true
- properties:
- public:
- type: array
- items:
- $ref: '#/components/schemas/IPAddress'
- description: >
- A list of public IP Address objects belonging to this Linode.
- readOnly: true
- private:
- type: array
- items:
- $ref: '#/components/schemas/IPAddressPrivate'
- description: >
- A list of private IP Address objects belonging to this Linode.
- readOnly: true
- vpc:
- type: array
- readOnly: true
- items:
- $ref: '#/components/schemas/IPAddressesVPC'
- description: >
- A list of Virtual Private Cloud (VPC)-specific addresses or ranges for the Linode.
- reserved:
- type: array
- readOnly: true
- items:
- $ref: '#/components/schemas/IPAddress'
- description: >
- A list of reserved IP Address objects belonging to this Linode.
- shared:
- type: array
- readOnly: true
- items:
- $ref: '#/components/schemas/IPAddress'
- description: >
- A list of shared IP Address objects assigned to this Linode.
- ipv6:
- type: object
- description: >
- Information about this Linode's IPv6 addresses.
- readOnly: true
- properties:
- link_local:
- $ref: '#/components/schemas/IPAddressV6LinkLocal'
- slaac:
- $ref: '#/components/schemas/IPAddressV6Slaac'
- global:
- type: array
- items:
- $ref: '#/components/schemas/IPv6Range'
- description: |
- A list of IPv6 range objects assigned to this Linode.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/ips
- - lang: CLI
- source: >
- linode-cli linodes ips-list 123
- post:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: IPv4 Address Allocate
- description: >
- Allocates a public or private IPv4 address to a Linode.
- Public IP Addresses, after the one included with each Linode,
- incur an additional monthly charge. If you need an additional public
- IP Address you must request one - please
- [open a support ticket](/docs/api/support/#support-ticket-open).
- You may not add more than one private IPv4 address to a single Linode.
- operationId: addLinodeIP
- x-linode-cli-action: ip-add
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: Information about the address you are creating.
- required: true
- content:
- application/json:
- schema:
- required:
- - type
- - public
- properties:
- type:
- type: string
- enum:
- - ipv4
- description: >
- The type of address you are allocating. Only IPv4 addresses
- may be allocated through this endpoint.
- example: ipv4
- public:
- type: boolean
- description: >
- Whether to create a public or private IPv4 address.
- example: true
- responses:
- '200':
- description: IP address was successfully allocated.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddress'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "ipv4",
- "public": true
- }' \
- https://api.linode.com/v4/linode/instances/123/ips
- - lang: CLI
- source: >
- linode-cli linodes ip-add 123 \
- --type ipv4 \
- --public true
- /linode/instances/{linodeId}/ips/{address}:
- parameters:
- - name: linodeId
- in: path
- description: The ID of the Linode.
- required: true
- schema:
- type: integer
- - name: address
- in: path
- description: The IP address.
- required: true
- schema:
- type: string
- format: ip
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: IP Address View
- description: >
- View information about the specified IP address associated
- with the specified Linode.
- operationId: getLinodeIP
- x-linode-cli-action: ip-view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: A single IP address.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddress'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141
- - lang: CLI
- source: >
- linode-cli linodes ip-view 123 97.107.143.141
- put:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: IP Address RDNS Update
- description: |
- Updates the reverse DNS (RDNS) for a Linode's IP Address. This may be done for both IPv4 and IPv6 addresses.
-
- Setting the RDNS to `null` for a public IPv4 address, resets it to the default "ip.linodeusercontent.com" RDNS value.
- operationId: updateLinodeIP
- x-linode-cli-action: ip-update
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The information to update for the IP address.
- content:
- application/json:
- schema:
- required:
- - rdns
- type: object
- properties:
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address. For public IPv4 addresses,
- this will be set to a default value provided by Linode if not
- explicitly set.
- nullable: true
- example: test.example.org
- responses:
- '200':
- description: The updated IP address record.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddress'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "rdns": "test.example.org"
- }' \
- https://api.linode.com/v4/linode/instances/123/ips/203.0.113.1
- - lang: CLI
- source: >
- linode-cli linodes ip-update 123 \
- 203.0.113.1 \
- --rdns test.example.org
- delete:
- x-linode-grant: read_write
- tags:
- - Linode Instances
- summary: IPv4 Address Delete
- description: >
- Deletes a public or private IPv4 address associated with this Linode. This will fail if it is the Linode's last remaining public IPv4 address, or if the address has a 1:1 NAT with an active VPC Subnet address.
- operationId: removeLinodeIP
- x-linode-cli-action: ip-delete
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: IP address successfully removed.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141
- - lang: CLI
- source: >
- linode-cli linodes ip-delete 97.107.143.141
- /linode/kernels:
- x-linode-cli-command: kernels
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Linode Instances
- summary: Kernels List
- description: |
- Lists available Kernels.
-
- Due to the extensive list of available kernels, please keep [pagination](/docs/api/#pagination) controls in mind when managing responses to this command.
- operationId: getKernels
- x-linode-cli-action:
- - list
- - ls
- responses:
- '200':
- description: Returns an array of Kernels.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Kernel'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/kernels
- - lang: CLI
- source: >
- linode-cli kernels list
- /linode/kernels/{kernelId}:
- parameters:
- - name: kernelId
- in: path
- description: ID of the Kernel to look up.
- required: true
- schema:
- type: string
- x-linode-cli-command: kernels
- get:
- tags:
- - Linode Instances
- summary: Kernel View
- description: >
- Returns information about a single Kernel.
- operationId: getKernel
- x-linode-cli-action: view
- responses:
- '200':
- description: A single Kernel object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Kernel'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/kernels/linode/latest-64bit
- - lang: CLI
- source: >
- linode-cli kernels view latest-64bit
- /linode/instances/{linodeId}/migrate:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to migrate.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: DC Migration/Pending Host Migration Initiate
- description: |
- Initiate a pending host migration that has been scheduled by Linode or
- initiate a cross data center (DC) migration. A list of pending migrations,
- if any, can be accessed from [GET /account/notifications](/docs/api/account/#notifications-list).
- When the migration begins, your Linode will be shutdown if not already off.
- If the migration initiated the shutdown, it will reboot the Linode when completed.
-
- To initiate a cross DC migration, you must pass a `region` parameter to the request body specifying the target data center region. You can view a list of all available regions and their feature capabilities
- from [GET /regions](/docs/api/regions/#regions-list). See our [Pricing Page](https://www.linode.com/pricing/) for Region-specific pricing, which applies after migration is complete. If your Linode has a DC migration already queued or you have initiated a previously scheduled migration, you will not be able to initiate
- a DC migration until it has completed.
-
- `vpc` details
-
- - Cross DC migrations are not allowed for Linodes that have a `vpc` purpose Configuration Profile Interface. Host migrations within the same DC are permitted.
- - See the [VPC documentation](/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.
-
- `vlan` details
-
- - Only Next Generation Network (NGN) data centers support VLANs. Use the Regions ([/regions](/docs/api/regions/)) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated or cloned because of an incompatibility, you will be prompted to select a different data center or contact support.
- - Next Generation Network (NGN) data centers do not support IPv6 `/116` pools or IP Failover.
- If you have these features enabled on your Linode and attempt to migrate to an NGN data center,
- the migration will not initiate. If a Linode cannot be migrated because of an incompatibility,
- you will be prompted to select a different data center or contact support.
- - See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations.
- tags:
- - Linode Instances
- operationId: migrateLinodeInstance
- x-linode-cli-action: migrate
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- content:
- 'application/json':
- schema:
- properties:
- region:
- type: string
- description: >
- The region to which the Linode will be migrated.
- Must be a valid region slug. A list of regions can be viewed
- by using the [GET /regions](/docs/api/regions/#regions-list) endpoint.
- A cross data center migration will cancel a pending migration
- that has not yet been initiated.
-
- A cross data center migration will initiate a `linode_migrate_datacenter_create` event.
- example: us-east
- upgrade:
- type: boolean
- description: >
- When initiating a cross DC migration, setting this value to
- true will also ensure that the Linode is upgraded to the latest
- generation of hardware that corresponds to your Linode's Type, if
- any free upgrades are available for it.
-
- If no free upgrades are available, and this value is set to true,
- then the endpoint will return a 400 error code and the migration
- will not be performed.
-
- If the data center set in the `region` field does not allow upgrades,
- then the endpoint will return a 400 error code and the migration
- will not be performed.
- example: false
- default: false
- type:
- type: string
- enum:
- - warm
- - cold
- description: |
- Type of migration used in moving to a new host or Linode type.
-
- `warm`: the Linode will not power down until the migration is complete.
- Warm migrations are not available for DC migrations.
-
- `cold`: the Linode will be powered down and migrated. When the migration
- is complete, the Linode will be powered on.
- example: warm
- default: cold
- responses:
- '200':
- description: Scheduled migration started
- content:
- 'application/json':
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "region": "us-central"
- }' \
- https://api.linode.com/v4/linode/instances/123/migrate
- - lang: CLI
- source: >
- linode-cli linodes migrate 123 --region us-central
- /linode/instances/{linodeId}/mutate:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to mutate.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Upgrade
- description: >
- Linodes created with now-deprecated Types are entitled to a free
- upgrade to the next generation. A mutating Linode will be allocated any new
- resources the upgraded Type provides, and will be subsequently restarted
- if it was currently running.
-
- If any actions are currently running or queued, those actions must be
- completed first before you can initiate a mutate.
- tags:
- - Linode Instances
- operationId: mutateLinodeInstance
- x-linode-cli-action: upgrade
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: Whether to automatically resize disks or not.
- required: false
- content:
- application/json:
- schema:
- type: object
- properties:
- allow_auto_disk_resize:
- type: boolean
- description: >
- Automatically resize disks when resizing a Linode.
- When resizing down to a smaller plan your Linode's
- data must fit within the smaller disk size.
- example: true
- default: true
- responses:
- '200':
- description: Mutate started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/linode/instances/123/mutate
- - lang: CLI
- source: >
- linode-cli linodes upgrade 123
- /linode/instances/{linodeId}/nodebalancers:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: Linode NodeBalancers View
- description: |
- Returns a list of NodeBalancers that are assigned to this Linode and readable by the requesting User.
-
- Read permission to a NodeBalancer can be given to a User by accessing the User's Grants Update
- ([PUT /account/users/{username}/grants](/docs/api/account/#users-grants-update)) endpoint.
- operationId: getLinodeNodeBalancers
- x-linode-cli-action: nodebalancers
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: Returns a paginated list of NodeBalancers.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/NodeBalancer'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/nodebalancers
- - lang: CLI
- source: >
- linode-cli linodes nodebalancers 123
- /linode/instances/{linodeId}/password:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode for which to reset its root password.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Root Password Reset
- description: >
- Resets the root password for this Linode.
-
- * Your Linode must be [shut down](/docs/api/linode-instances/#linode-shut-down) for a password reset to complete.
-
- * If your Linode has more than one disk (not counting its swap disk), use the
- [Reset Disk Root Password](/docs/api/linode-instances/#disk-root-password-reset) endpoint to update a specific disk's root password.
-
- * A `password_reset` event is generated when a root password reset is successful.
- tags:
- - Linode Instances
- operationId: resetLinodePassword
- x-linode-cli-action: linode-reset-password
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: This Linode's new root password.
- content:
- 'application/json':
- schema:
- required:
- - root_pass
- properties:
- root_pass:
- type: string
- description: >
- The root user's password on this Linode. Linode passwords
- must meet a password strength score requirement that is calculated internally
- by the API. If the strength requirement is not met, you will receive a
- Password does not meet strength requirement error.
- example: a$eCure4assw0rd!43v51
- responses:
- '200':
- description: Password Reset.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "root_pass": "a$eCure4assw0rd!43v51"
- }' \
- https://api.linode.com/v4/linode/instances/123/password
- - lang: CLI
- source: >
- linode-cli linodes linode-reset-password 123 a$eCure4assw0rd!43v51
- /linode/instances/{linodeId}/reboot:
- parameters:
- - name: linodeId
- in: path
- description: ID of the linode to reboot.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Reboot
- description: >
- Reboots a Linode you have permission to modify. If any actions are currently running or
- queued, those actions must be completed first before you can initiate a reboot.
- tags:
- - Linode Instances
- operationId: rebootLinodeInstance
- x-linode-cli-action: reboot
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: Optional reboot parameters.
- content:
- 'application/json':
- schema:
- properties:
- config_id:
- type: integer
- description: >
- The Linode Config ID to reboot into. If null or omitted,
- the last booted config will be used. If there was no last
- booted config and this Linode only has one config, it will
- be used. If a config cannot be determined, an error will
- be returned.
- example: null
- responses:
- '200':
- description: Reboot started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/linode/instances/123/reboot
- - lang: CLI
- source: >
- linode-cli linodes reboot 123
- /linode/instances/{linodeId}/rebuild:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to rebuild.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Rebuild
- description: |
- Rebuilds a Linode you have the `read_write` permission to modify.
-
- A rebuild will first shut down the Linode, delete all disks and configs
- on the Linode, and then deploy a new `image` to the Linode with the given
- attributes. Additionally:
-
- * Requires an `image` be supplied.
- * Requires a `root_pass` be supplied to use for the root User's Account.
- * It is recommended to supply SSH keys for the root User using the
- `authorized_keys` field.
- * Linodes utilizing Metadata (`"has_user_data": true`) should include `metadata.user_data` in the rebuild request to continue using the service.
-
- You also have the option to resize the Linode to a different plan by including the `type` parameter with your request. Note that resizing involves migrating the Linode to a new hardware host, while rebuilding without resizing maintains the same hardware host. Resizing also requires significantly more time for completion of this command. The following additional conditions apply:
-
- * The Linode must not have a pending migration.
- * Your Account cannot have an outstanding balance.
- * The Linode must not have more disk allocation than the new Type allows.
- * In that situation, you must first delete or resize the disk to be smaller.
- tags:
- - Linode Instances
- operationId: rebuildLinodeInstance
- x-linode-cli-action: rebuild
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: The requested state your Linode will be rebuilt into.
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - image
- - root_pass
- allOf:
- - $ref: '#/components/schemas/LinodeRequest'
- - type: object
- properties:
- type:
- type: string
- description: >
- The ID of the [Linode Type](/docs/api/linode-types/#types-list) to resize to with this request.
- example: g6-standard-2
- responses:
- '200':
- description: Rebuild started.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Linode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "image": "linode/debian9",
- "root_pass": "aComplexP@ssword",
- "authorized_keys": [
- "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
- ],
- "authorized_users": [
- "myUsername",
- "secondaryUsername"
- ],
- "booted": true,
- "stackscript_id": 10079,
- "stackscript_data": {
- "gh_username": "linode"
- },
- "type": "g6-standard-2",
- "metadata": {
- "user_data": "I2Nsb3VkLWNvbmZpZw=="
- }
- }' \
- https://api.linode.com/v4/linode/instances/123/rebuild
- - lang: CLI
- source: >
- linode-cli linodes rebuild 123 \
- --image "linode/debian9" \
- --root_pass aComplex@Password \
- --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \
- --authorized_users "myUsername" \
- --authorized_users "secondaryUsername" \
- --booted true \
- --stackscript_id 10079 \
- --stackscript_data '{"gh_username": "linode"}' \
- --type "g6-standard-2" \
- --metadata.userdata "I2Nsb3VkLWNvbmZpZw=="
- /linode/instances/{linodeId}/rescue:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to rescue.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Boot into Rescue Mode
- description: >
- Rescue Mode is a safe environment for performing many system recovery
- and disk management tasks. Rescue Mode is based on the Finnix recovery
- distribution, a self-contained and bootable Linux distribution. You can
- also use Rescue Mode for tasks other than disaster recovery, such as
- formatting disks to use different filesystems, copying data between
- disks, and downloading files from a disk via SSH and SFTP.
-
- * Note that "sdh" is reserved and unavailable during rescue.
- tags:
- - Linode Instances
- operationId: rescueLinodeInstance
- x-linode-cli-action: rescue
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: Optional object of devices to be mounted.
- required: false
- content:
- application/json:
- schema:
- type: object
- properties:
- devices:
- $ref: '#/components/schemas/RescueDevices'
- responses:
- '200':
- description: Rescue started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "devices": {
- "sda": {
- "disk_id": 124458,
- "volume_id": null
- },
- "sdb": {
- "disk_id": null,
- "volume_id": null
- }
- }
- }' \
- https://api.linode.com/v4/linode/instances/123/rescue
- - lang: CLI
- source: >
- linode-cli linodes rescue 123 \
- --devices.sda.disk_id 124458
- /linode/instances/{linodeId}/resize:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to resize.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Resize
- description: >
- Resizes a Linode you have the `read_write` permission to a different
- Type. If any actions are currently running or queued, those actions must
- be completed first before you can initiate a resize. Additionally, the
- following criteria must be met in order to resize a Linode:
-
- * The Linode must not have a pending migration.
- * Your Account cannot have an outstanding balance.
- * The Linode must not have more disk allocation than the new Type allows.
- * In that situation, you must first delete or resize the disk to be smaller.
-
- You can also resize a Linode when using the [Linode Rebuild](/docs/api/linode-instances/#linode-rebuild) command.
- tags:
- - Linode Instances
- operationId: resizeLinodeInstance
- x-linode-cli-action: resize
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- requestBody:
- description: >
- The Type your current Linode will resize to, and whether to attempt
- to automatically resize the Linode's disks.
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - type
- properties:
- type:
- type: string
- description: The ID representing the Linode Type.
- example: g6-standard-2
- x-linode-cli-display: 1
- allow_auto_disk_resize:
- type: boolean
- description: >
- Automatically resize disks when resizing a Linode.
- When resizing down to a smaller plan your Linode's
- data must fit within the smaller disk size.
- example: true
- default: true
- migration_type:
- type: string
- enum:
- - warm
- - cold
- description: |
- Type of migration used in moving to a new host or Linode type.
-
- `warm`: the Linode will not power down until the migration is complete.
- Warm migrations are not available for DC migrations.
-
- `cold`: the Linode will be powered down and migrated. When the migration
- is complete, the Linode will be powered on.
- example: warm
- default: cold
- responses:
- '200':
- description: Resize started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "g6-standard-2"
- }' \
- https://api.linode.com/v4/linode/instances/123/resize
- - lang: CLI
- source: >
- linode-cli linodes resize 123 \
- --type g6-standard-2
- /linode/instances/{linodeId}/shutdown:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to shutdown.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- post:
- x-linode-grant: read_write
- summary: Linode Shut Down
- description: >
- Shuts down a Linode you have permission to modify. If any actions are currently running or
- queued, those actions must be completed first before you can initiate a shutdown.
- tags:
- - Linode Instances
- operationId: shutdownLinodeInstance
- x-linode-cli-action: shutdown
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_write
- responses:
- '200':
- description: Shutdown started.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/linode/instances/123/shutdown
- - lang: CLI
- source: >
- linode-cli linodes shutdown 123
- /linode/instances/{linodeId}/transfer:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: Network Transfer View
- description: >
- Returns a Linode's network transfer pool statistics for the current month.
- operationId: getLinodeTransfer
- x-linode-cli-action: transfer-view
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: A collection of the specified Linode's network transfer statistics.
- content:
- application/json:
- schema:
- properties:
- used:
- type: integer
- description: >
- The amount of network transfer used by this Linode, in bytes, for the current month's billing cycle.
- example: 22956600198
- readOnly: true
- quota:
- type: integer
- description: >
- The amount of network transfer this Linode adds to your transfer pool, in GB, for the current month's billing cycle.
- example: 2000
+ x-akamai:
+ file-path: "parameters/eeuid.yaml"
+ in: "path"
+ schema:
+ type: "string"
+ schemas:
+ started:
+ format: "date-time"
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The start date-time of the Beta Program."
+ readOnly: true
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ promotion:
+ additionalProperties: false
+ properties:
+ service_type:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The service to which this promotion applies."
+ example: "all"
+ enum:
+ - "all"
+ - "backup"
+ - "blockstorage"
+ - "db_mysql"
+ - "ip_v4"
+ - "linode"
+ - "linode_disk"
+ - "linode_memory"
+ - "loadbalancer"
+ - "longview"
+ - "managed"
+ - "nodebalancer"
+ - "objectstorage"
+ - "placement_group"
+ - "transfer_tx"
+ this_month_credit_remaining:
+ example: "10.00"
+ description: "The amount of credit left for this month for this promotion."
+ type: "string"
+ x-linode-cli-display: 4
+ expire_dt:
+ description: "When this promotion's credits expire."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "2018-01-31T23:59:59"
+ summary:
+ example: "$10 off your Linode a month!"
+ type: "string"
+ description: "Short details of this promotion."
+ x-linode-cli-display: 10
+ description:
+ description: "A detailed description of this promotion."
+ type: "string"
+ example: "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends."
+ credit_monthly_cap:
+ description: "The amount available to spend per month."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "10.00"
+ credit_remaining:
+ type: "string"
+ description: "The total amount of credit left for this promotion."
+ x-linode-cli-display: 3
+ example: "50.00"
+ image_url:
+ example: "https://linode.com/10_a_month_promotion.svg"
+ description: "The location of an image for this promotion."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/promotion.yaml"
+ description: "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first."
+ type: "object"
+ readOnly: true
+ added-get-users-200:
+ type: "object"
+ properties:
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ allOf:
+ -
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ properties:
+ ssh_keys:
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
readOnly: true
- billable:
- type: integer
- description: >
- The amount of network transfer this Linode has used, in GB, past your monthly quota.
- example: 0
+ example:
+ - "home-pc"
+ - "laptop"
+ email:
+ example: "example_user@linode.com"
+ x-linode-cli-display: 2
+ format: "email"
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ restricted:
+ x-linode-cli-display: 3
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ type: "boolean"
+ example: true
+ password_created:
readOnly: true
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/transfer
- - lang: CLI
- source: >
- linode-cli linodes transfer-view 123
- /linode/instances/{linodeId}/transfer/{year}/{month}:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- - name: year
- in: path
- description: Numeric value representing the year to look up.
- required: true
- schema:
- type: integer
- minimum: 2000
- maximum: 2037
- - name: month
- in: path
- description: Numeric value representing the month to look up.
- required: true
- schema:
- type: integer
- minimum: 1
- maximum: 12
- x-linode-cli-command: linodes
- get:
- x-linode-grant: read_only
- tags:
- - Linode Instances
- summary: Network Transfer View (year/month)
- description: >
- Returns a Linode's network transfer statistics for a specific month. The year/month
- values must be either a date in the past, or the current month.
- operationId: getLinodeTransferByYearMonth
- x-linode-cli-skip: true
- x-linode-cli-action: transfer-month
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: >
- A collection of the specified Linode's network transfer statistics for the requested
- month.
- content:
- application/json:
- schema:
- properties:
- bytes_in:
- type: integer
- description: >
- The amount of inbound public network traffic received by this Linode, in
- bytes, for a specific year/month.
- example: 30471077120
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ nullable: true
+ tfa_enabled:
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
readOnly: true
- bytes_out:
- type: integer
- description: >
- The amount of outbound public network traffic sent by this Linode, in bytes,
- for a specific year/month.
- example: 22956600198
+ example: true
+ username:
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 3
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ maxLength: 32
+ example: "example_user"
+ x-linode-filterable: true
+ last_login:
readOnly: true
- bytes_total:
- type: integer
- description: >
- The total amount of public network traffic sent and received by this Linode,
- in bytes, for a specific year/month.
- example: 53427677318
+ additionalProperties: false
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ nullable: true
+ properties:
+ status:
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ type: "string"
+ login_datetime:
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ format: "date-time"
+ verified_phone_number:
readOnly: true
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/transfer/2018/01
- /linode/instances/{linodeId}/stats:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- tags:
- - Linode Instances
- summary: Linode Statistics View
- description: >
- Returns CPU, IO, IPv4, and IPv6 statistics for your Linode
- for the past 24 hours.
- operationId: getLinodeStats
- x-linode-cli-skip: true
- x-linode-cli-action: stats
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: The Linode's stats for the past 24 hours.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeStats'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/stats
- /linode/instances/{linodeId}/stats/{year}/{month}:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- - name: year
- in: path
- description: Numeric value representing the year to look up.
- required: true
- schema:
- type: integer
- - name: month
- in: path
- description: Numeric value representing the month to look up.
- required: true
- schema:
- type: integer
- minimum: 1
- maximum: 12
- x-linode-cli-command: linodes
- get:
- tags:
- - Linode Instances
- summary: Statistics View (year/month)
- description: >
- Returns statistics for a specific month. The year/month
- values must be either a date in the past, or the current month. If the
- current month, statistics will be retrieved for the past 30 days.
- operationId: getLinodeStatsByYearMonth
- x-linode-cli-skip: true
- x-linode-cli-action: stats-month
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: The Linode's statistics for the requested period.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LinodeStats'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/stats/2018/01
- /linode/instances/{linodeId}/volumes:
- parameters:
- - name: linodeId
- in: path
- description: ID of the Linode to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: linodes
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Linode Instances
- summary: Linode's Volumes List
- description: >
- View Block Storage Volumes attached to this Linode.
- operationId: getLinodeVolumes
- x-linode-cli-action: volumes
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: >
- Returns an array of Block Storage Volumes attached to this Linode.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Volume'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/linode/instances/123/volumes
- - lang: CLI
- source: >
- linode-cli linode volumes 123
- /linode/stackscripts:
- x-linode-cli-command: stackscripts
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - StackScripts
- summary: StackScripts List
- description: >
- If the request is not authenticated, only public StackScripts are returned.
-
-
- For more information on StackScripts, please read our [StackScripts documentation](/docs/products/tools/stackscripts/).
- operationId: getStackScripts
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - stackscripts:read_only
- responses:
- '200':
- description: >
- A list of StackScripts available to the User, including private
- StackScripts owned by the User if the request is authenticated.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/StackScript'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/stackscripts
- - lang: CLI
- source: >
- linode-cli stackscripts list
- post:
- x-linode-grant: add_stackscripts
- tags:
- - StackScripts
- summary: StackScript Create
- description: >
- Creates a StackScript in your Account.
- operationId: addStackScript
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - stackscripts:read_write
- requestBody:
- description: The properties to set for the new StackScript.
- required: true
- content:
- application/json:
- schema:
- required:
- - script
- - label
- - images
- allOf:
- - $ref: '#/components/schemas/StackScript'
- responses:
- '200':
- description: StackScript successfully created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/StackScript'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "a-stackscript",
- "description": "This StackScript installs and configures MySQL",
- "images": [
- "linode/debian9",
- "linode/debian8"
- ],
- "is_public": true,
- "rev_note": "Set up MySQL",
- "script": "#!/bin/bash"
- }' \
- https://api.linode.com/v4/linode/stackscripts
- - lang: CLI
- source: >
- linode-cli stackscripts create \
- --label a-stackscript \
- --description "This StackScript install and configures MySQL" \
- --images "linode/debian9" \
- --images "linode/debian8" \
- --is_public true \
- --rev_note "Set up MySQL" \
- --script '#!/bin/bash'
- /linode/stackscripts/{stackscriptId}:
- parameters:
- - name: stackscriptId
- in: path
- description: The ID of the StackScript to look up.
- required: true
- schema:
- type: string
- x-linode-cli-command: stackscripts
- get:
- x-linode-grant: read_only
- tags:
- - StackScripts
- summary: StackScript View
- description: >
- Returns all of the information about a specified
- StackScript, including the contents of the script.
- operationId: getStackScript
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - stackscripts:read_only
- responses:
- '200':
- description: A single StackScript.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/StackScript'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/stackscripts/10079
- - lang: CLI
- source: >
- linode-cli stackscripts view 10079
- put:
- x-linode-grant: read_write
- tags:
- - StackScripts
- summary: StackScript Update
- description: >
- Updates a StackScript.
-
-
- **Once a StackScript is made public, it cannot be made private.**
- operationId: updateStackScript
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - stackscripts:read_write
- requestBody:
- description: The fields to update.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/StackScript'
- responses:
- '200':
- description: StackScript was successfully modified.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/StackScript'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "a-stackscript",
- "description": "This StackScript installs and configures MySQL",
- "images": [
- "linode/debian9",
- "linode/debian8"
- ],
- "is_public": true,
- "rev_note": "Set up MySQL",
- "script": "#!/bin/bash"
- }' \
- https://api.linode.com/v4/linode/stackscripts/10079
- - lang: CLI
- source: >
- linode-cli stackscripts update 10079 \
- --label a-stackscript \
- --description "This StackScript installs \
- and configures MySQL" \
- --images "linode/debian9" \
- --images "linode/debian8" \
- --is_public true \
- --rev_note "Set up MySQL" \
- --script '#!/bin/bash'
- delete:
- x-linode-grant: read_write
- tags:
- - StackScripts
- summary: StackScript Delete
- description: >
- Deletes a private StackScript you have permission to `read_write`. You cannot delete a public StackScript.
- operationId: deleteStackScript
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - stackscripts:read_write
- responses:
- '200':
- description: StackScript was deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/linode/stackscripts/10079
- - lang: CLI
- source: >
- linode-cli stackscripts delete 10079
- /linode/types:
- x-linode-cli-command: linodes
- get:
- tags:
- - Linode Types
- summary: Types List
- description: >
- Returns collection of Linode Types, including pricing and
- specifications for each Type. These are used when
- [creating](/docs/api/linode-instances/#linode-create)
- or [resizing](/docs/api/linode-instances/#linode-resize)
- Linodes.
- x-linode-redoc-load-ids: true
- operationId: getLinodeTypes
- x-linode-cli-action: types
- responses:
- '200':
- description: A collection of Linode Types.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LinodeType'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/types
- - lang: CLI
- source: >
- linode-cli linodes types
- /linode/types/{typeId}:
- parameters:
- - name: typeId
- in: path
- description: The ID of the Linode Type to look up.
- required: true
- schema:
- type: string
- x-linode-cli-command: linodes
- get:
- tags:
- - Linode Types
- summary: Type View
- description: >
- Returns information about a specific Linode Type, including pricing and
- specifications. This is used when
- [creating](/docs/api/linode-instances/#linode-create)
- or [resizing](/docs/api/linode-instances/#linode-resize)
- Linodes.
- operationId: getLinodeType
- x-linode-cli-action: type-view
- responses:
- '200':
- description: A single Linode Type.
- content:
- application/json:
- x-linode-cli-subtables:
- - region_prices
- schema:
- $ref: '#/components/schemas/LinodeType'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/linode/types/g6-standard-2
- - lang: CLI
- source: >
- linode-cli linodes type-view g6-standard-2
- /lke/clusters:
- x-linode-cli-command: lke
- get:
- operationId: getLKEClusters
- x-linode-cli-action: clusters-list
- x-linode-grant: read_only
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Clusters List
- description: >
- Lists current Kubernetes clusters available on your account.
- responses:
- '200':
- description: Returns an array of all Kubernetes clusters on your Account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LKECluster'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters
- - lang: CLI
- source: >
- linode-cli lke clusters-list
- post:
- operationId: createLKECluster
- x-linode-cli-action: cluster-create
- x-linode-charge: true
- x-linode-grant: add_clusters
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Cluster Create
- description: |
- Creates a Kubernetes cluster. The Kubernetes cluster will be created
- asynchronously. You can use the events system to determine when the
- Kubernetes cluster is ready to use. Please note that it often takes 2-5 minutes before the
- [Kubernetes API server endpoint](/docs/api/linode-kubernetes-engine-lke/#kubernetes-api-endpoints-list) and
- the [Kubeconfig file](/docs/api/linode-kubernetes-engine-lke/#kubeconfig-view) for the new cluster
- are ready.
- requestBody:
- description: Configuration for the Kubernetes cluster
- x-linode-cli-allowed-defaults:
- - region
- content:
- application/json:
- schema:
- type: object
- required:
- - label
- - region
- - k8s_version
- - node_pools
- properties:
- label:
- $ref: '#/components/schemas/LKECluster/properties/label'
- region:
- $ref: '#/components/schemas/LKECluster/properties/region'
- k8s_version:
- $ref: '#/components/schemas/LKECluster/properties/k8s_version'
- tags:
- $ref: '#/components/schemas/LKECluster/properties/tags'
- node_pools:
- type: array
- required:
- - type
- - count
- items:
- $ref: '#/components/schemas/LKENodePoolRequestBody'
- control_plane:
- type: object
- description: >
- Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components. Enabling High Availability for LKE is an **irreversible** change.
- properties:
- high_availability:
- type: boolean
- description: >
- Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`.
- example: true
- responses:
- '200':
- description: Kubernetes cluster creation has started.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LKECluster'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "cluster12345",
- "region": "us-central",
- "k8s_version": "1.27",
- "tags": ["ecomm", "blogs"],
- "control_plane": {
- "high_availability": true
- },
- "node_pools": [
- {
- "type": "g6-standard-4",
- "count": 6,
- "autoscaler": {
- "enabled": true,
- "max": 12,
- "min": 3
- }
- },
- {
- "type": "g6-standard-8",
- "count": 3
- }
- ]
- }' \
- https://api.linode.com/v4/lke/clusters
- - lang: CLI
- source: >
- linode-cli lke cluster-create \
- --label cluster12345 \
- --region us-central \
- --k8s_version 1.27 \
- --control_plane.high_availability true \
- --node_pools.type g6-standard-4 --node_pools.count 6 \
- --node_pools.type g6-standard-8 --node_pools.count 3 \
- --node_pools.autoscaler.enabled true \
- --node_pools.autoscaler.max 12 \
- --node_pools.autoscaler.min 3 \
- --tags ecomm
- /lke/clusters/{clusterId}:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- get:
- operationId: getLKECluster
- x-linode-cli-action: cluster-view
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Cluster View
- description: >
- Get a specific Cluster by ID.
- responses:
- '200':
- description: Returns a single Kubernetes cluster.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LKECluster'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345
- - lang: CLI
- source:
- linode-cli lke cluster-view 12345
- put:
- operationId: putLKECluster
- x-linode-cli-action: cluster-update
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Cluster Update
- description: >
- Updates a Kubernetes cluster.
- requestBody:
- description: The fields to update the Kubernetes cluster.
- content:
- application/json:
- schema:
- properties:
- label:
- $ref: '#/components/schemas/LKECluster/properties/label'
- tags:
- type: array
- items:
- type: string
- example:
- - prod
- - monitoring
- - ecomm
- - blog
- description: >
- An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
- To delete a tag, exclude it from your `tags` array.
- k8s_version:
- type: string
- description: >
- The desired Kubernetes version for this Kubernetes cluster in the format of
- <major>.<minor>. New and recycled Nodes in this cluster will be installed with the
- latest available patch for the Cluster's Kubernetes version.
-
-
- When upgrading the Kubernetes version, only the next latest minor version following the current
- version can be deployed. For example, a cluster with Kubernetes version 1.19 can be upgraded to
- version 1.20, but not directly to 1.21.
-
-
- The Kubernetes version of a cluster can not be downgraded.
- control_plane:
- type: object
- description: |
- Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components.
-
- Enabling High Availability for LKE is an **irreversible** change.
-
- When upgrading pre-existing LKE clusters to use the HA Control Plane, the following changes will additionally occur:
-
- - All nodes will be deleted and new nodes will be created to replace them.
-
- - Any local storage (such as `hostPath` volumes) will be erased.
-
- - The upgrade process may take several minutes to complete, as nodes will be replaced on a rolling basis.
- properties:
- high_availability:
- type: boolean
- description: >
- Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`.
- example: true
- responses:
- '200':
- description: Returns a single Kubernetes cluster.
- content:
- application/json:
- schema:
- properties:
- label:
- $ref: '#/components/schemas/LKECluster/properties/label'
- tags:
- type: array
- items:
- type: string
- example:
- - prod
- - monitoring
- - ecomm
- - blog
- description: >
- An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
- To delete a tag, exclude it from your `tags` array.
- created:
- $ref: '#/components/schemas/LKECluster/properties/created'
- updated:
- $ref: '#/components/schemas/LKECluster/properties/updated'
- region:
- $ref: '#/components/schemas/LKECluster/properties/region'
- k8s_version:
- $ref: '#/components/schemas/LKECluster/properties/k8s_version'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "lkecluster54321",
- "tags" : ["ecomm", "blog", "prod", "monitoring"],
- "control_plane": {
- "high_availability": true
- },
- "k8s_version": "1.27"
- }' \
- https://api.linode.com/v4/lke/clusters/12345
- - lang: CLI
- source: >
- linode-cli lke cluster-update 12345 \
- --label lkecluster54321 \
- --control_plane.high_availability true \
- --k8s_version 1.27 \
- --tags ecomm \
- --tags blog \
- --tags prod \
- --tags monitoring
- delete:
- operationId: deleteLKECluster
- x-linode-cli-action: cluster-delete
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Cluster Delete
- description: |
- Deletes a Cluster you have permission to `read_write`.
-
- **Deleting a Cluster is a destructive action and cannot be undone.**
-
- Deleting a Cluster:
- - Deletes all Linodes in all pools within this Kubernetes cluster
- - Deletes all supporting Kubernetes services for this Kubernetes
- cluster (API server, etcd, etc)
- - Deletes all NodeBalancers created by this Kubernetes cluster
- - Does not delete any of the volumes created by this Kubernetes
- cluster
- responses:
- '200':
- description: Delete successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/lke/clusters/12345
- - lang: CLI
- source: >
- linode-cli lke cluster-delete 12345
- /lke/clusters/{clusterId}/pools:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- get:
- operationId: getLKEClusterPools
- x-linode-cli-action: pools-list
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Pools List
- description: >
- Returns all active Node Pools on a Kubernetes cluster.
- responses:
- '200':
- description: Returns an array of all Pools in this Kubernetes cluster.
- content:
- application/json:
- x-linode-cli-nested-list: nodes
- x-linode-cli-use-schema:
- type: object
- properties:
- id:
- x-linode-cli-display: 1
- type:
- x-linode-cli-display: 2
- nodes.id:
- x-linode-cli-display: 3
- nodes.instance_id:
- x-linode-cli-display: 4
- nodes.status:
- x-linode-cli-display: 5
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LKENodePool'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345/pools
- - lang: CLI
- source: >
- linode-cli lke pools-list 12345
- post:
- operationId: postLKEClusterPools
- x-linode-cli-action: pool-create
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Pool Create
- description: >
- Creates a new Node Pool for the designated Kubernetes cluster.
- requestBody:
- description: Configuration for the Node Pool
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - type
- - count
- allOf:
- - $ref: '#/components/schemas/LKENodePoolRequestBody'
- responses:
- '200':
- description: Node Pool has been created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LKENodePool'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "g6-standard-4",
- "count": 6,
- "tags": ["example-tag"],
- "autoscaler": {
- "enabled": true,
- "max": 12,
- "min": 3
- }
- }' \
- https://api.linode.com/v4/lke/clusters/12345/pools
- - lang: CLI
- source: >
- linode-cli lke pool-create 12345 \
- --type g6-standard-4 \
- --count 6 \
- --tags example-tag \
- --autoscaler.enabled true \
- --autoscaler.max 12 \
- --autoscaler.min 3
- /lke/clusters/{clusterId}/recycle:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster which contains nodes to be recycled.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- post:
- operationId: postLKEClusterRecycle
- x-linode-cli-action: cluster-nodes-recycle
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Cluster Nodes Recycle
- description: |
- Recycles all nodes in all pools of a designated Kubernetes Cluster. All Linodes within the Cluster will be deleted
- and replaced with new Linodes on a rolling basis, which may take several minutes. Replacement Nodes are
- installed with the latest available [patch version](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md#kubernetes-release-versioning) for the Cluster's current Kubernetes minor release.
-
- **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.**
- responses:
- '200':
- description: Recycle request succeeded and is in progress.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/lke/clusters/12345/recycle
- - lang: CLI
- source: >
- linode-cli lke cluster-nodes-recycle 12345
- /lke/clusters/{clusterId}/pools/{poolId}:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster to look up.
- required: true
- schema:
- type: integer
- - name: poolId
- in: path
- description: ID of the Pool to look up
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- get:
- operationId: getLKENodePool
- x-linode-cli-action: pool-view
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Pool View
- description: >
- Get a specific Node Pool by ID.
- responses:
- '200':
- description: Returns the requested Node Pool.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LKENodePool'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345/pools/456
- - lang: CLI
- source: >
- linode-cli lke pool-view 12345 456
- put:
- operationId: putLKENodePool
- x-linode-cli-action: pool-update
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Pool Update
- description: |
- Updates a Node Pool's count and autoscaler configuration.
-
- Linodes will be created or deleted to match changes to the Node Pool's count.
-
- **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.**
- requestBody:
- description: The fields to update
- content:
- application/json:
- schema:
- properties:
- count:
- $ref: '#/components/schemas/LKENodePoolRequestBody/properties/count'
- autoscaler:
- $ref: '#/components/schemas/LKENodePoolRequestBody/properties/autoscaler'
- responses:
- '200':
- description: Node Pool was successfully modified.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LKENodePool'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "count": 6,
- "autoscaler": {
- "enabled": true,
- "max": 12,
- "min": 3
- }' \
- https://api.linode.com/v4/lke/clusters/12345/pools/456
- - lang: CLI
- source: >
- linode-cli lke pool-update 12345 456 \
- --count 6 \
- --autoscaler.enabled true \
- --autoscaler.max 12 \
- --autoscaler.min 3
- delete:
- operationId: deleteLKENodePool
- x-linode-cli-action: pool-delete
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Pool Delete
- description: |
- Delete a specific Node Pool from a Kubernetes cluster.
-
- **Deleting a Node Pool is a destructive action and cannot be undone.**
-
- Deleting a Node Pool will delete all Linodes within that Pool.
- responses:
- '200':
- description: Delete successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/lke/clusters/12345/pools/456
- - lang: CLI
- source: >
- linode-cli lke pool-delete 12345 456
- /lke/clusters/{clusterId}/pools/{poolId}/recycle:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster this Node Pool is attached to.
- required: true
- schema:
- type: integer
- - name: poolId
- in: path
- description: ID of the Node Pool to be recycled.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- post:
- operationId: postLKEClusterPoolRecycle
- x-linode-cli-action: pool-recycle
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Pool Recycle
- description: |
- Recycles a Node Pool for the designated Kubernetes Cluster. All Linodes within the Node Pool will be deleted
- and replaced with new Linodes on a rolling basis, which may take several minutes. Replacement Nodes are
- installed with the latest available patch for the Cluster's Kubernetes Version.
-
- **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.**
- responses:
- '200':
- description: Recycle request succeeded and is in progress.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/lke/clusters/12345/pools/456/recycle
- - lang: CLI
- source: >
- linode-cli lke pool-recycle 12345 456
- /lke/clusters/{clusterId}/nodes/{nodeId}:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster containing the Node.
- required: true
- schema:
- type: integer
- - name: nodeId
- in: path
- description: ID of the Node to look up.
- required: true
- schema:
- type: string
- x-linode-cli-command: lke
- get:
- operationId: getLKEClusterNode
- x-linode-cli-action: node-view
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node View
- description: >
- Returns the values for a specified node object.
- responses:
- '200':
- description: Returns the values of a node object in the form that it appears currently in the node pool array.
- content:
- application/json:
- schema:
- type: object
- properties:
- id:
- type: string
- readOnly: true
- description: >
- The Node's ID.
- example: "12345-6aa78910bc"
- instance_id:
- type: integer
- description: >
- The Linode's ID. If no Linode is currently provisioned for this Node, this is `null`.
- example: 123456
- status:
- type: string
- description: >
- The creation status of this Node. This status is distinct from this Node's readiness as a
- Kubernetes Node Object as determined by the command `kubectl get nodes`.
-
-
- `not_ready` indicates that the Linode is still being created.
-
-
- `ready` indicates that the Linode has successfully been created and is running Kubernetes software.
- enum:
- - ready
- - not_ready
- example: ready
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc
- - lang: CLI
- source: >
- linode-cli lke node-view 123456 12345-6aa78910bc
- delete:
- operationId: deleteLKEClusterNode
- x-linode-cli-action: node-delete
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Delete
- description: |
- Deletes a specific Node from a Node Pool.
-
- **Deleting a Node is a destructive action and cannot be undone.**
-
- Deleting a Node will reduce the size of the Node Pool it belongs to.
- responses:
- '200':
- description: Delete successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc
- - lang: CLI
- source: >
- linode-cli lke node-delete 12345 12345-6aa78910bc
- /lke/clusters/{clusterId}/nodes/{nodeId}/recycle:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster containing the Node.
- required: true
- schema:
- type: integer
- - name: nodeId
- in: path
- description: ID of the Node to be recycled.
- required: true
- schema:
- type: string
- x-linode-cli-command: lke
- post:
- operationId: postLKEClusterNodeRecycle
- x-linode-cli-action: node-recycle
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Node Recycle
- description: |
- Recycles an individual Node in the designated Kubernetes Cluster. The Node will be deleted
- and replaced with a new Linode, which may take a few minutes. Replacement Nodes are
- installed with the latest available patch for the Cluster's Kubernetes Version.
-
- **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.**
- responses:
- '200':
- description: Recycle request succeeded and is in progress.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc/recycle
- - lang: CLI
- source: >
- linode-cli lke node-recycle 12345 12345-6aa78910bc
- /lke/clusters/{clusterId}/api-endpoints:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- get:
- operationId: getLKEClusterAPIEndpoints
- x-linode-cli-action: api-endpoints-list
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes API Endpoints List
- description: >
- List the Kubernetes API server endpoints for this cluster. Please note that it often takes
- 2-5 minutes before the endpoint is ready after first [creating a new cluster](/docs/api/linode-kubernetes-engine-lke/#kubernetes-cluster-create).
- responses:
- '200':
- description: Returns the Kubernetes API server endpoints for this cluster.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- description: >
- The Kubernetes API server endpoints for this cluster.
- properties:
- endpoint:
- type: string
- readOnly: true
- description: >
- A Kubernetes API server endpoint for this cluster.
- example: "https://192.0.2.1:6443"
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345/api-endpoints
- - lang: CLI
- source: >
- linode-cli lke api-endpoints-list 12345
- /lke/clusters/{clusterId}/dashboard:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- get:
- operationId: getLKEClusterDashboard
- x-linode-cli-action: cluster-dashboard-url
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Cluster Dashboard URL View
- description: |
- Get a [Kubernetes Dashboard](https://github.com/kubernetes/dashboard) access URL for this Cluster, which enables performance of administrative tasks through a web interface.
-
- Dashboards are installed for Clusters by default.
-
- To access the Cluster Dashboard login prompt, enter the URL in a web browser. Select either **Token** or **Kubeconfig** authentication, then select **Sign in**.
-
- For additional guidance on using the Cluster Dashboard, see the [Navigating the Cluster Dashboard](/docs/guides/using-the-kubernetes-dashboard-on-lke/#navigating-the-cluster-dashboard) section of our guide on [Using the Kubernetes Dashboard on LKE](/docs/guides/using-the-kubernetes-dashboard-on-lke/).
- responses:
- '200':
- description: Returns a Kubernetes Cluster Dashboard URL.
- content:
- application/json:
- schema:
- type: object
- properties:
- url:
- type: string
- example: https://example.dashboard.linodelke.net
- description: The Cluster Dashboard access URL.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345/dashboard
- - lang: CLI
- source:
- linode-cli lke cluster-dashboard-url 12345
- /lke/clusters/{clusterId}/kubeconfig:
- parameters:
- - name: clusterId
- in: path
- description: ID of the Kubernetes cluster to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- get:
- operationId: getLKEClusterKubeconfig
- x-linode-cli-action: kubeconfig-view
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubeconfig View
- description: |
- Get the Kubeconfig file for a Cluster. Please note that it often takes 2-5 minutes before
- the Kubeconfig file is ready after first [creating a new cluster](/docs/api/linode-kubernetes-engine-lke/#kubernetes-cluster-create).
- responses:
- '200':
- description: Returns the Base64-encoded Kubeconfig file for this Kubernetes cluster.
- content:
- application/json:
- schema:
- type: object
- properties:
- kubeconfig:
- type: string
- readOnly: true
- description: >
- The Base64-encoded Kubeconfig file for this Cluster.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/clusters/12345/kubeconfig
- - lang: CLI
- source: >
- linode-cli lke kubeconfig-view 12345
- delete:
- operationId: deleteLKEClusterKubeconfig
- x-linode-cli-action: kubeconfig-delete
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubeconfig Delete
- description: |
- Delete and regenerate the Kubeconfig file for a Cluster.
- responses:
- '200':
- description: Kubeconfig file deleted and regenerated successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/lke/clusters/12345/kubeconfig
- - lang: CLI
- source: >
- linode-cli lke kubeconfig-delete 12345
- /lke/clusters/{clusterId}/regenerate:
- parameters:
- - name: clusterId
- in: path
- description: ID of the target Kubernetes cluster.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- post:
- operationId: postLKEClusterRegenerate
- x-linode-cli-action: regenerate
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Cluster Regenerate
- description: |
- Regenerate the Kubeconfig file and/or the service account token for a Cluster.
-
- This is a helper command that allows performing both the [Kubeconfig Delete](#kubeconfig-delete) and the [Service Token Delete](#service-token-delete) actions with a single request.
-
- When using this command, at least one of `kubeconfig` or `servicetoken` is required.
-
- **Note**: When regenerating a service account token, the Cluster's control plane components and Linode CSI drivers are also restarted and configured with the new token. High Availability Clusters should not experience any disruption, while standard Clusters may experience brief control plane downtime while components are restarted.
- requestBody:
- description: The Kubernetes Cluster Regenerate request object.
- content:
- application/json:
- schema:
- properties:
- kubeconfig:
- type: boolean
- default: false
- example: true
- description: |
- Whether to delete and regenerate the Kubeconfig file for this Cluster.
- servicetoken:
- type: boolean
- default: false
- example: true
- description: |
- Whether to delete and regenerate the service access token for this Cluster.
- responses:
- '200':
- description: Regenerate request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "kubeconfig": true,
- "servicetoken": true
- }' \
- https://api.linode.com/v4/lke/clusters/12345/regenerate
- - lang: CLI
- source: >
- linode-cli lke regenerate 12345 \
- --kubeconfig true \
- --servicetoken true
- /lke/clusters/{clusterId}/servicetoken:
- parameters:
- - name: clusterId
- in: path
- description: ID of the target Kubernetes cluster.
- required: true
- schema:
- type: integer
- x-linode-cli-command: lke
- delete:
- operationId: postLKECServiceTokenDelete
- x-linode-cli-action: service-token-delete
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_write
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Service Token Delete
- description: |
- Delete and regenerate the service account token for a Cluster.
-
- **Note**: When regenerating a service account token, the Cluster's control plane components and Linode CSI drivers are also restarted and configured with the new token. High Availability Clusters should not experience any disruption, while standard Clusters may experience brief control plane downtime while components are restarted.
- responses:
- '200':
- description: Service token deleted and regenerated successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/lke/clusters/12345/servicetoken
- - lang: CLI
- source: >
- linode-cli lke service-token-delete 12345
- /lke/versions:
- x-linode-cli-command: lke
- get:
- operationId: getLKEVersions
- x-linode-cli-action: versions-list
- x-linode-grant: read_only
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Versions List
- description: >
- List the Kubernetes versions available for deployment
- to a Kubernetes cluster.
- responses:
- '200':
- description: >
- Returns a list of Kubernetes versions available for deployment
- to a Kubernetes cluster.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LKEVersion'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/versions
- - lang: CLI
- source: >
- linode-cli lke versions-list
- /lke/versions/{version}:
- parameters:
- - name: version
- in: path
- required: true
- description: The LKE version to view.
- schema:
- type: string
- x-linode-cli-command: lke
- get:
- operationId: getLKEVersion
- x-linode-cli-action: version-view
- x-linode-grant: read_only
- security:
- - personalAccessToken: []
- - oauth:
- - lke:read_only
- tags:
- - Linode Kubernetes Engine (LKE)
- summary: Kubernetes Version View
- description: >
- View a Kubernetes version available for deployment
- to a Kubernetes cluster.
- responses:
- '200':
- description: >
- Returns a Kubernetes version object that is available for deployment
- to a Kubernetes cluster.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LKEVersion'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/lke/versions/1.27
- - lang: CLI
- source: >
- linode-cli lke version-view 1.27
- /longview/clients:
- x-linode-cli-command: longview
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Longview
- summary: Longview Clients List
- description: >
- Returns a paginated list of Longview Clients you have access
- to. Longview Client is used to monitor stats on your Linode
- with the help of the Longview Client application.
- operationId: getLongviewClients
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_only
- responses:
- '200':
- description: A paginated list of Longview Clients.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LongviewClient'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/longview/clients
- - lang: CLI
- source: >
- linode-cli longview list
- post:
- x-linode-grant: add_longview
- tags:
- - Longview
- summary: Longview Client Create
- description: >
- Creates a Longview Client. This Client will not begin monitoring
- the status of your server until you configure the Longview
- Client application on your Linode using the returning `install_code`
- and `api_key`.
- operationId: createLongviewClient
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_write
- requestBody:
- description: Information about the LongviewClient to create.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewClient'
- responses:
- '200':
- description: Longview Client created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "client789"
- }' \
- https://api.linode.com/v4/longview/clients
- - lang: CLI
- source: >
- linode-cli longview create \
- --label client789
- /longview/clients/{clientId}:
- parameters:
- - name: clientId
- in: path
- required: true
- description: The Longview Client ID to access.
- schema:
- type: integer
- x-linode-cli-command: longview
- get:
- x-linode-grant: read_only
- tags:
- - Longview
- summary: Longview Client View
- description: >
- Returns a single Longview Client you can access.
- operationId: getLongviewClient
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_only
- responses:
- '200':
- description: The requested Longview Client.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/longview/clients/789
- - lang: CLI
- source: >
- linode-cli longview view 789
- put:
- x-linode-grant: read_write
- tags:
- - Longview
- summary: Longview Client Update
- description: >
- Updates a Longview Client. This cannot update how it monitors your
- server; use the Longview Client application on your Linode for
- monitoring configuration.
- operationId: updateLongviewClient
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewClient'
- responses:
- '200':
- description: Longview Client updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewClient'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "client789"
- }' \
- https://api.linode.com/v4/longview/clients/789
- - lang: CLI
- source: >
- linode-cli longview update 789 \
- --label client789
- delete:
- x-linode-grant: read_write
- tags:
- - Longview
- summary: Longview Client Delete
- description: >
- Deletes a Longview Client from your Account.
-
-
- **All information stored for this client will be lost.**
-
-
- This _does not_ uninstall the Longview Client application for your
- Linode - you must do that manually.
- operationId: deleteLongviewClient
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_write
- responses:
- '200':
- description: Longview Client deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/longview/clients/789
- - lang: CLI
- source: >
- linode-cli longview delete 789
- /longview/plan:
- x-linode-cli-command: longview
- get:
- tags:
- - Longview
- summary: Longview Plan View
- description: >
- Get the details of your current Longview plan. This returns a `LongviewSubscription` object
- for your current Longview Pro plan, or an empty set `{}` if your current plan is Longview Free.
-
-
- You must have at least one of the following `global` [User Grants](/docs/api/account/#users-grants-view)
- in order to access this endpoint:
-
- - `"account_access": read_write`
- - `"account_access": read_only`
- - `"longview_subscription": true`
- - `"add_longview": true`
-
-
- To update your subscription plan, send a request to [Update Longview Plan](/docs/api/longview/#longview-plan-update).
- operationId: getLongviewPlan
- x-linode-cli-action: plan-view
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_only
- responses:
- '200':
- description: The Longview plan details for this account.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewSubscription'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/longview/plan
- - lang: CLI
- source: >
- linode-cli longview plan-view
- put:
- tags:
- - Longview
- summary: Longview Plan Update
- description: >
- Update your Longview plan to that of the given subcription ID. This returns a `LongviewSubscription` object for
- the updated Longview Pro plan, or an empty set `{}` if the updated plan is Longview Free.
-
-
- You must have `"longview_subscription": true` configured as a `global`
- [User Grant](/docs/api/account/#users-grants-view) in order to access this endpoint.
-
-
- You can send a request to the [List Longview Subscriptions](/docs/api/longview/#longview-subscriptions-list)
- endpoint to receive the details, including `id`'s, of each plan.
- operationId: updateLongviewPlan
- x-linode-cli-action: plan-update
- security:
- - personalAccessToken: []
- - oauth:
- - longview:read_write
- requestBody:
- description: Update your Longview subscription plan.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewPlan'
- responses:
- '200':
- description: The updated Longview plan details for this account.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewSubscription'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "longview_subscription": "longview-10"
- }' \
- https://api.linode.com/v4/longview/plan
- - lang: CLI
- source: >
- linode-cli longview plan-update --longview_subscription longview-10
- /longview/subscriptions:
- x-linode-cli-command: longview
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Longview
- summary: Longview Subscriptions List
- description: >
- Returns a paginated list of available Longview Subscriptions. This is
- a public endpoint and requires no authentication.
- operationId: getLongviewSubscriptions
- x-linode-cli-action: subscriptions-list
- responses:
- '200':
- description: A paginated list of Longview Subscriptions.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/LongviewSubscription'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/longview/subscriptions
- - lang: CLI
- source: >
- linode-cli longview subscriptions-list
- /longview/subscriptions/{subscriptionId}:
- parameters:
- - name: subscriptionId
- in: path
- required: true
- description: The Longview Subscription to look up.
- schema:
- type: string
- x-linode-cli-command: longview
- get:
- tags:
- - Longview
- summary: Longview Subscription View
- description: >
- Get the Longview plan details as a single `LongviewSubscription` object for the provided subscription ID. This is a public endpoint
- and requires no authentication.
- operationId: getLongviewSubscription
- x-linode-cli-action: subscription-view
- responses:
- '200':
- description: The requested Longview Subscription details.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/LongviewSubscription'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/longview/subscriptions/longview-10
- - lang: CLI
- source: >
- linode-cli longview subscription-view \
- longview-10
- /managed/contacts:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Managed
- summary: Managed Contacts List
- description: |
- Returns a paginated list of Managed Contacts on your Account.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedContacts
- x-linode-cli-action: contacts-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of ManagedContacts
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ManagedContact'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/contacts
- - lang: CLI
- source: >
- linode-cli managed contacts-list
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Contact Create
- description: |
- Creates a Managed Contact. A Managed Contact is someone Linode
- special forces can contact in the course of attempting to resolve an issue
- with a Managed Service.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: createManagedContact
- x-linode-cli-action: contact-create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the contact to create.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedContact'
- responses:
- '200':
- description: Contact created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedContact'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "name": "John Doe",
- "email": "john.doe@example.org",
- "phone": {
- "primary": "123-456-7890",
- "secondary": null
- },
- "group": "on-call"
- }' \
- https://api.linode.com/v4/managed/contacts
- - lang: CLI
- source: >
- linode-cli managed contact-create \
- --name "John Doe" \
- --email "john.doe@example.org" \
- --phone.primary "123-456-7890"
- /managed/contacts/{contactId}:
- parameters:
- - name: contactId
- in: path
- required: true
- description: The ID of the contact to access.
- schema:
- type: integer
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Contact View
- description: |
- Returns a single Managed Contact.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedContact
- x-linode-cli-action: contact-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: The requested Managed Contact.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedContact'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/contacts/567
- - lang: CLI
- source: >
- linode-cli managed contact-view 567
- put:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Contact Update
- description: >
- Updates information about a Managed Contact.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: updateManagedContact
- x-linode-cli-action: contact-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedContact'
- responses:
- '200':
- description: Contact updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedContact'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "name": "John Doe",
- "email": "john.doe@example.org",
- "phone": {
- "primary": "123-456-7890",
- "secondary": null
- },
- "group": "on-call"
- }' \
- https://api.linode.com/v4/managed/contacts/567
- - lang: CLI
- source: >
- linode-cli managed contact-update 567 \
- --name "John Doe" \
- --email "john.doe@example.org" \
- --phone.primary "123-456-7890"
- delete:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Contact Delete
- description: |
- Deletes a Managed Contact.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: deleteManagedContact
- x-linode-cli-action: contact-delete
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Contact deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/managed/contacts/567
- - lang: CLI
- source: >
- linode-cli managed contact-delete 567
- /managed/credentials:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Managed
- summary: Managed Credentials List
- description: |
- Returns a paginated list of Managed Credentials on your Account.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedCredentials
- x-linode-cli-action: credentials-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of ManagedCredentials
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ManagedCredential'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/credentials
- - lang: CLI
- source: >
- linode-cli managed credentials-list
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Credential Create
- description: |
- Creates a Managed Credential. A Managed Credential is stored securely
- to allow Linode special forces to access your Managed Services and resolve
- issues.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: createManagedCredential
- x-linode-cli-action: credential-create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the Credential to create.
- content:
- application/json:
- schema:
- required:
- - label
- - password
- allOf:
- - $ref: '#/components/schemas/ManagedCredential'
- - type: object
- properties:
- username:
- type: string
- minLength: 0
- maxLength: 5000
- description: >
- The username to use when accessing the Managed Service.
- example: johndoe
- password:
- type: string
- description: >
- The password to use when accessing the Managed Service.
- example: s3cur3P@ssw0rd
- responses:
- '200':
- description: Credential created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedCredential'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "prod-password-1",
- "username": "johndoe",
- "password": "s3cur3P@ssw0rd"
- }' \
- https://api.linode.com/v4/managed/credentials
- - lang: CLI
- source: >
- linode-cli managed credential-create \
- --label prod-password-1 \
- --username johndoe \
- --password s3cur3P@ssw0rd
- /managed/credentials/{credentialId}:
- parameters:
- - name: credentialId
- in: path
- required: true
- description: The ID of the Credential to access.
- schema:
- type: integer
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Credential View
- description: |
- Returns a single Managed Credential.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedCredential
- x-linode-cli-action: credential-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: The requested Managed Credential.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedCredential'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/credentials/9991
- - lang: CLI
- source: >
- linode-cli managed credential-view 9991
- put:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Credential Update
- description: >
- Updates the label of a Managed Credential. This endpoint
- does not update the username and password for a Managed Credential.
- To do this, use the Managed Credential Username and Password Update
- ([POST /managed/credentials/{credentialId}/update](/docs/api/managed/#managed-credential-username-and-password-update))
- endpoint instead.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: updateManagedCredential
- x-linode-cli-action: credential-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedCredential'
- responses:
- '200':
- description: Credential updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedCredential'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "prod-password-1"
- }' \
- https://api.linode.com/v4/managed/credentials/9991
- - lang: CLI
- source: >
- linode-cli managed credential-update 9991 \
- --label prod-password-1
- /managed/credentials/{credentialId}/update:
- parameters:
- - name: credentialId
- in: path
- required: true
- description: The ID of the Credential to update.
- schema:
- type: integer
- x-linode-cli-command: managed
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Credential Username and Password Update
- description: |
- Updates the username and password for a Managed Credential.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: updateManagedCredentialUsernamePassword
- x-linode-cli-action: credential-update-username-password
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- The new username and password to assign to the
- Managed Credential.
- content:
- application/json:
- schema:
- required:
- - password
- properties:
- username:
- type: string
- minLength: 0
- maxLength: 5000
- description: >
- The username to use when accessing the Managed Service.
- example: johndoe
- password:
- type: string
- description: >
- The password to use when accessing the Managed Service.
- example: s3cur3P@ssw0rd
- responses:
- '200':
- description: Credential username and password updated.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "username": "johndoe",
- "password": "s3cur3P@ssw0rd"
- }' \
- https://api.linode.com/v4/managed/credentials/9991/update
- - lang: CLI
- source: >
- linode-cli managed credential-update-username-password 9991 \
- --username johndoe \
- --password s3cur3P@ssw0rd
- /managed/credentials/{credentialId}/revoke:
- parameters:
- - name: credentialId
- in: path
- required: true
- description: The ID of the Credential to access.
- schema:
- type: integer
- x-linode-cli-command: managed
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Credential Delete
- description: |
- Deletes a Managed Credential. Linode special forces will no longer
- have access to this Credential when attempting to resolve issues.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: deleteManagedCredential
- x-linode-cli-action: credential-revoke
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Credential deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/managed/credentials/9991
- - lang: CLI
- source: >
- linode-cli managed credential-revoke 9991
- /managed/credentials/sshkey:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed SSH Key View
- description: |
- Returns the unique SSH public key assigned to your Linode account's
- Managed service. If you [add this public key](/docs/products/services/managed/get-started/#adding-the-public-key) to a Linode on your account,
- Linode special forces will be able to log in to the Linode with this key
- when attempting to resolve issues.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: viewManagedSSHKey
- x-linode-cli-action: credential-sshkey-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested Managed SSH public key.
- content:
- application/json:
- schema:
- type: object
- description: >
- A unique SSH public key that allows Linode's special forces
- to access a Managed server to respond to Issues.
- properties:
- ssh_key:
- type: string
- description: >
- The unique SSH public key assigned to your Linode account's Managed service.
- example: ssh-rsa AAAAB...oD2ZQ== managedservices@linode
+ example: "+5555555555"
+ format: "phone"
+ type: "string"
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ nullable: true
+ type: "object"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ additionalProperties: false
+ -
+ additionalProperties: false
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ properties:
+ user_type:
readOnly: true
- x-linode-cli-display: 1
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/credentials/sshkey
- - lang: CLI
- source: >
- linode-cli managed credential-sshkey-view
- /managed/issues:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Managed
- summary: Managed Issues List
- description: |
- Returns a paginated list of recent and ongoing issues detected on your
- Managed Services.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedIssues
- x-linode-cli-action: issues-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- A paginated list of open or ongoing Managed Issues.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ManagedIssue'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/issues
- - lang: CLI
- source: >
- linode-cli managed issues-list
- /managed/issues/{issueId}:
- parameters:
- - name: issueId
- in: path
- required: true
- description: The Issue to look up.
- schema:
- type: integer
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Issue View
- description: |
- Returns a single Issue that is impacting or did impact one of your
- Managed Services.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedIssue
- x-linode-cli-action: issue-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested issue.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedIssue'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/issues/823
- - lang: CLI
- source: >
- linode-cli managed issue-view 823
- /managed/linode-settings:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Managed
- summary: Managed Linode Settings List
- description: |
- Returns a paginated list of Managed Settings for your Linodes. There will
- be one entry per Linode on your Account.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedLinodeSettings
- x-linode-cli-action: linode-settings-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- A paginated list of Managed settings for your Linodes.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ManagedLinodeSettings'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/linode-settings
- - lang: CLI
- source: >
- linode-cli managed linode-settings-list
- /managed/linode-settings/{linodeId}:
- parameters:
- - name: linodeId
- in: path
- required: true
- description: The Linode ID whose settings we are accessing.
- schema:
- type: integer
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Linode's Managed Settings View
- description: |
- Returns a single Linode's Managed settings.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedLinodeSetting
- x-linode-cli-action: linode-setting-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested Linode's Managed settings.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedLinodeSettings'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/linode-settings/123
- - lang: CLI
- source: >
- linode-cli managed linode-setting-view 123
- put:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Linode's Managed Settings Update
- description: >
- Updates a single Linode's Managed settings.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: updateManagedLinodeSetting
- x-linode-cli-action: linode-setting-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The settings to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedLinodeSettings'
- responses:
- '200':
- description: Settings updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedLinodeSettings'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "ssh": {
- "access": true,
- "user": "linode",
- "ip": "203.0.113.1",
- "port": 22
- }
- }' \
- https://api.linode.com/v4/managed/linode-settings/123
- - lang: CLI
- source: >
- linode-cli managed linode-setting-update \
- 7833234 \
- --ssh.access true \
- --ssh.user linode \
- --ssh.port 22 \
- --ssh.ip 203.0.113.1
- /managed/services:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Services List
- description: |
- Returns a paginated list of Managed Services on your Account. These
- are the services Linode Managed is monitoring and will report and attempt
- to resolve issues with.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedServices
- x-linode-cli-action: services-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of Managed Services
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ManagedService'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/services
- - lang: CLI
- source: >
- linode-cli managed services-list
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Service Create
- description: |
- Creates a Managed Service. Linode Managed will begin monitoring this
- service and reporting and attempting to resolve any Issues.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: createManagedService
- x-linode-cli-action: service-create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the service to monitor.
- content:
- application/json:
- schema:
- required:
- - label
- - service_type
- - address
- - timeout
- allOf:
- - $ref: '#/components/schemas/ManagedService'
- responses:
- '200':
- description: Service created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedService'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "service_type": "url",
- "label": "prod-1",
- "address": "https://example.org",
- "timeout": 30,
- "body": "it worked",
- "consultation_group": "on-call",
- "notes": "The service name is my-cool-application",
- "credentials": [
- 9991
- ]
- }' \
- https://api.linode.com/v4/managed/services
- - lang: CLI
- source: >
- linode-cli managed service-create \
- --service_type url \
- --label prod-1 \
- --address "https://example.org" \
- --timeout 30 \
- --body "it worked" \
- --consultation_group on-call \
- --notes "The service name is \
- my-cool-application" \
- --credentials 9991
- /managed/services/{serviceId}:
- parameters:
- - name: serviceId
- in: path
- required: true
- description: The ID of the Managed Service to access.
- schema:
- type: integer
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Service View
- description: |
- Returns information about a single Managed Service on your Account.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedService
- x-linode-cli-action: service-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested Managed Service.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedService'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/services/9994
- - lang: CLI
- source: >
- linode-cli managed service-view 9994
- put:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Service Update
- description: |
- Updates information about a Managed Service.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: updateManagedService
- x-linode-cli-action: service-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedService'
- responses:
- '200':
- description: Service updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedService'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "service_type": "url",
- "label": "prod-1",
- "address": "https://example.org",
- "timeout": 30,
- "body": "it worked",
- "consultation_group": "on-call",
- "notes": "The service name is my-cool-application",
- "credentials": [
- 9991
- ]
- }' \
- https://api.linode.com/v4/managed/services/9994
- - lang: CLI
- source: >
- linode-cli managed service-update 9994 \
- --service_type url \
- --label prod-1 \
- --address "https://example.org" \
- --timeout 30 \
- --body "it worked" \
- --consultation_group on-call \
- --notes "The service name is my-cool-application" \
- --credentials 9991
- delete:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Service Delete
- description: |
- Deletes a Managed Service. This service will no longer be monitored by
- Linode Managed.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: deleteManagedService
- x-linode-cli-action: service-delete
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Service deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/managed/services/9994
- - lang: CLI
- source: >
- linode-cli managed service-delete 9994
- /managed/services/{serviceId}/disable:
- parameters:
- - name: serviceId
- in: path
- required: true
- description: The ID of the Managed Service to disable.
- schema:
- type: integer
- x-linode-cli-command: managed
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Service Disable
- description: |
- Temporarily disables monitoring of a Managed Service.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: disableManagedService
- x-linode-cli-action: service-disable
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Service disabled.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedService'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/managed/services/9994/disable
- - lang: CLI
- source: >
- linode-cli managed service-disable 9994
- /managed/services/{serviceId}/enable:
- parameters:
- - name: serviceId
- in: path
- required: true
- description: The ID of the Managed Service to enable.
- schema:
- type: integer
- x-linode-cli-command: managed
- post:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Service Enable
- description: |
- Enables monitoring of a Managed Service.
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: enableManagedService
- x-linode-cli-action: service-enable
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Service enabled.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ManagedService'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/managed/services/9994/enable
- - lang: CLI
- source: >
- linode-cli managed service-enable 9994
- /managed/stats:
- x-linode-cli-command: managed
- get:
- x-linode-grant: unrestricted only
- tags:
- - Managed
- summary: Managed Stats List
- description: |
- Returns a list of Managed Stats on your Account in the form of x and y data points.
- You can use these data points to plot your own graph visualizations. These stats
- reflect the last 24 hours of combined usage across all managed Linodes on your account
- giving you a high-level snapshot of data for the following:
-
-
- * cpu
- * disk
- * swap
- * network in
- * network out
-
- This command can only be accessed by the unrestricted users of an account.
- operationId: getManagedStats
- x-linode-cli-action: stats-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A list of Managed Stats from the last 24 hours.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: object
- oneOf:
- - x-linode-ref-name: "Stats Available"
- $ref: '#/components/schemas/StatsDataAvailable'
- - x-linode-ref-name: "Stats Unavailable"
- $ref: '#/components/schemas/StatsDataUnavailable'
- discriminator:
- propertyName: x-linode-ref-name
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/managed/stats
- - lang: CLI
- source: >
- linode-cli managed stats-list
- /networking/ips:
- x-linode-cli-command: networking
- get:
- x-linode-grant: read_only
- tags:
- - Networking
- summary: IP Addresses List
- description: |
- Returns a paginated list of IP addresses on your account, excluding private addresses.
-
- **Note**: Use the `skip_ipv6_rdns` query string to improve performance if your application frequently accesses this command and doesn't require IPv6 RDNS data.
- operationId: getIPs
- x-linode-cli-action: ips-list
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_only
- parameters:
- - name: skip_ipv6_rdns
- in: query
- description: |
- When `true`, the `rdns` property for any `ipv6` type addresses always returns `null` regardless of whether RDNS data exists for the address.
- schema:
- type: boolean
+ example: "parent"
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
+ type: "string"
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ x-akamai:
+ file-path: "schemas/added-get-users-200.yaml"
+ additionalProperties: false
+ invoice:
+ description: "Account Invoice object."
+ type: "object"
+ properties:
+ date:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this Invoice was generated."
+ id:
+ description: "__Read-only__ The Invoice's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 123
+ readOnly: true
+ tax_summary:
+ description: "__Read-only__ The amount of tax broken down into subtotals by source."
+ type: "array"
+ items:
+ properties:
+ name:
+ description: "The source of this tax subtotal."
+ type: "string"
+ example: "PA STATE TAX"
+ tax:
+ description: "The amount of tax subtotal attributable to this source."
+ type: "number"
+ example: 12.25
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ tax:
+ x-linode-cli-display: 5
+ type: "number"
+ description: "__Read-only__ The amount of tax levied on the Invoice in US Dollars."
+ readOnly: true
+ example: 12.25
+ billing_source:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3.5
+ type: "string"
+ description: "__Filterable__, __Read-only__ `akamai`: This Invoice was generated according to the terms of an agreement between the customer and Akamai.\n\n`linode`: This Invoice was generated according to the default terms, prices, and discounts."
+ readOnly: true
+ x-linode-filterable: true
+ enum:
+ - "akamai"
+ - "linode"
+ example: "linode"
+ total:
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "number"
+ description: "__Filterable__, __Read-only__ The amount of the Invoice after taxes in US Dollars."
+ readOnly: true
+ example: 132.5
+ x-linode-filterable: true
+ label:
+ example: "Invoice"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Invoice's display label."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ subtotal:
+ readOnly: true
+ example: 120.25
+ x-linode-cli-display: 4
+ description: "__Read-only__ The amount of the Invoice before taxes in US Dollars."
+ type: "number"
+ x-akamai:
+ file-path: "schemas/invoice.yaml"
+ additionalProperties: false
+ child-account:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/child-account.yaml"
+ properties:
+ zip:
+ x-linode-filterable: true
+ example: "92111-1234"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Can't contain more than 9 letter or number characters."
+ address_2:
+ type: "string"
+ description: "__Filterable__ Second line of this child account's billing address, if applicable."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "Suite A"
+ maxLength: 64
+ capabilities:
+ readOnly: true
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of the capabilities the child account supports."
+ first_name:
+ example: "John"
+ maxLength: 50
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ active_since:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ The activation date and time for the child account."
+ type: "string"
+ balance:
+ description: "__Read-only__ This child account's balance, in US dollars."
+ type: "number"
+ x-linode-cli-display: 4
+ example: 200
+ readOnly: true
+ city:
+ example: "San Diego"
+ maxLength: 24
+ x-linode-filterable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The city for this child account's billing address."
+ type: "string"
+ state:
+ maxLength: 24
+ example: "CA"
+ x-linode-filterable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.\n\n__Note__. If this is a US military address, use state abbreviations (AA, AE, AP)."
+ type: "string"
+ credit_card:
+ readOnly: true
+ additionalProperties: false
+ description: "__Read-only__ Information for the credit card you've assigned to this child account."
+ type: "object"
+ properties:
+ expiry:
+ type: "string"
+ description: "The expiration month and year of the credit card."
+ example: "11/2024"
+ last_four:
+ description: "The last four digits of the credit card."
+ type: "string"
+ example: 1111
+ euuid:
+ readOnly: true
+ example: "A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ format: "uuid"
+ type: "string"
+ description: "__Read-only__ An external, unique identifier that Akamai assigned to the child account."
+ address_1:
+ description: "__Filterable__ First line of this child account's billing address."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "123 Main Street"
+ maxLength: 64
+ x-linode-filterable: true
+ country:
+ x-linode-filterable: true
+ example: "US"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The two-letter ISO 3166 country code for this child account's billing address."
+ type: "string"
+ last_name:
+ maxLength: 50
+ example: "Smith"
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ balance_uninvoiced:
+ x-linode-cli-display: 4
+ type: "number"
+ description: "__Read-only__ This child account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ readOnly: true
+ example: 145
+ email:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Filterable__ The email address of the owner of this child account."
+ x-linode-filterable: true
+ example: "john.smith@linode.com"
+ maxLength: 128
+ billing_source:
+ description: "__Read-only__ The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment."
+ type: "string"
+ enum:
+ - "external"
+ example: "external"
+ readOnly: true
+ company:
+ x-linode-filterable: true
+ maxLength: 128
+ example: "Acme"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value."
+ phone:
+ type: "string"
+ description: "__Filterable__ The phone number for the owner of this child account."
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 32
+ example: "858-555-1212"
+ x-linode-filterable: true
+ tax_id:
+ maxLength: 25
+ example: "ATU99999999"
+ description: "The tax identification number for this child account. Use this for tax calculations in some countries. If you live in a country that doesn't collect taxes, ensure this is an empty string (`\"\"`)."
+ type: "string"
+ type: "object"
+ description: "Child account object."
+ added-post-client:
+ allOf:
+ -
+ properties:
+ redirect_uri:
+ type: "string"
+ description: "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange."
+ format: "url"
+ x-linode-cli-display: 5
+ example: "https://example.org/oauth/callback"
+ secret:
+ type: "string"
+ description: "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly."
+ readOnly: true
+ example: ""
+ id:
+ readOnly: true
+ example: "2737bf16b39ab5d7b4a1"
+ x-linode-cli-display: 1
+ description: "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret)."
+ type: "string"
+ status:
+ x-linode-cli-color:
+ suspended: "red"
+ default_: "white"
+ enum:
+ - "active"
+ - "disabled"
+ - "suspended"
+ example: "active"
+ readOnly: true
+ description: "__Read-only__ The status of this application. `active` by default."
+ type: "string"
+ x-linode-cli-display: 3
+ thumbnail_url:
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set."
+ format: "url"
+ example: "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
+ readOnly: true
+ public:
+ example: false
+ x-linode-filterable: true
+ type: "boolean"
+ description: "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details."
+ x-linode-cli-display: 4
+ default: false
+ x-akamai:
+ labels:
+ - "Filterable"
+ label:
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account."
+ type: "string"
+ x-linode-filterable: true
+ example: "Test_Client_1"
+ maxLength: 512
+ x-akamai:
+ file-path: "schemas/oauth-client.yaml"
+ description: "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application."
+ type: "object"
+ additionalProperties: false
+ required:
+ - "label"
+ - "redirect_uri"
+ x-akamai:
+ file-path: "schemas/added-post-client.yaml"
+ payment-method:
+ additionalProperties: false
+ properties:
+ data:
+ oneOf:
+ -
+ x-linode-ref-name: "Credit Card"
+ title: "Credit card"
+ properties:
+ card_type:
+ description: "__Read-only__ The type of credit card."
+ type: "string"
+ example: "Discover"
+ readOnly: true
+ last_four:
+ type: "string"
+ description: "__Read-only__ The last four digits of the credit card number."
+ readOnly: true
+ example: "1234"
+ expiry:
+ example: "06/2022"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The expiration month and year of the credit card."
+ format: "MM/YYYY"
+ x-akamai:
+ file-path: "schemas/credit-card-data.yaml"
+ type: "object"
+ description: "Credit card information."
+ additionalProperties: false
+ -
+ type: "object"
+ description: "Google Pay information."
+ properties:
+ last_four:
+ example: "1234"
+ readOnly: true
+ description: "__Read-only__ The last four digits of the credit card number."
+ type: "string"
+ expiry:
+ readOnly: true
+ example: "06/2022"
+ format: "MM/YYYY"
+ type: "string"
+ description: "__Read-only__ The expiration month and year of the credit card."
+ card_type:
+ readOnly: true
+ example: "Discover"
+ type: "string"
+ description: "__Read-only__ The type of credit card."
+ x-akamai:
+ file-path: "schemas/google-pay-data.yaml"
+ x-linode-ref-name: "Google Pay"
+ title: "Google Pay"
+ additionalProperties: false
+ -
+ title: "Paypal"
+ x-linode-ref-name: "Paypal"
+ additionalProperties: false
+ type: "object"
+ description: "PayPal information."
+ x-akamai:
+ file-path: "schemas/paypal-data.yaml"
+ properties:
+ paypal_id:
+ readOnly: true
+ example: "ABC1234567890"
+ type: "string"
+ description: "__Read-only__ PayPal Merchant ID associated with your PayPal account."
+ email:
+ type: "string"
+ description: "__Read-only__ The email address associated with your PayPal account."
+ readOnly: true
+ example: "example@linode.com"
+ x-linode-cli-format: "json"
+ x-linode-cli-display: 4
+ created:
+ example: "2018-01-15T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When the Payment Method was added to the Account."
+ type: "string"
+ format: "date-time"
+ is_default:
+ type: "boolean"
+ description: "Whether this Payment Method is the default method for automatically processing service charges."
+ x-linode-cli-display: 3
+ example: true
+ id:
+ x-linode-cli-display: 1
+ description: "The unique ID of this Payment Method."
+ type: "integer"
+ example: 123
+ type:
+ example: "credit_card"
+ enum:
+ - "credit_card"
+ - "google_pay"
+ - "paypal"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The type of Payment Method."
+ x-akamai:
+ file-path: "schemas/payment-method.yaml"
+ type: "object"
+ description: "Payment Method Response Object."
+ paypal-execute:
+ additionalProperties: false
+ properties:
+ payer_id:
+ description: "The PayerID returned by PayPal during the transaction authorization process."
+ type: "string"
+ example: "ABCDEFGHIJKLM"
+ payment_id:
+ example: "PAY-1234567890ABCDEFGHIJKLMN"
+ description: "The PaymentID returned from [Stage a PayPal payment](https://techdocs.akamai.com/linode-api/reference/post-pay-pal-payment) that has been approved with PayPal."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/paypal-execute.yaml"
+ type: "object"
+ description: "An object representing an execution of Payment to PayPal to capture the funds and credit your Linode Account."
+ required:
+ - "payer_id"
+ - "payment_id"
+ added-post-beta-program:
+ additionalProperties: false
+ properties:
+ id:
+ x-linode-cli-display: 1
+ description: "The unique identifier of the Beta Program."
+ type: "string"
+ example: "example_open"
+ x-akamai:
+ file-path: "schemas/added-post-beta-program.yaml"
+ description: "The Beta Program ID to enroll in for your Account."
+ type: "object"
+ required:
+ - "id"
+ oauth-client:
+ additionalProperties: false
+ properties:
+ secret:
+ readOnly: true
+ example: ""
+ type: "string"
+ description: "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly."
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret)."
+ type: "string"
+ readOnly: true
+ example: "2737bf16b39ab5d7b4a1"
+ redirect_uri:
+ example: "https://example.org/oauth/callback"
+ x-linode-cli-display: 5
+ format: "url"
+ type: "string"
+ description: "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange."
+ public:
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
default: false
- responses:
- '200':
- description: A paginated list of IP Addresses.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddressesListResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/ips?skip_ipv6_rdns=true
- - lang: CLI
- source: >
- linode-cli networking ips-list
- post:
- x-linode-grant: read_write
- tags:
- - Networking
- summary: IP Address Allocate
- description: >
- Allocates a new IPv4 Address on your Account. The Linode must be
- configured to support additional addresses - please
- [open a support ticket](/docs/api/support/#support-ticket-open) requesting additional
- addresses before attempting allocation.
- operationId: allocateIP
- x-linode-cli-action: ip-add
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- - linodes:read_write
- requestBody:
- description: Information about the address you are creating.
- required: true
- content:
- application/json:
- schema:
- required:
- - type
- - public
- - linode_id
- properties:
- type:
- type: string
- enum:
- - ipv4
- description: >
- The type of address you are requesting. Only
- IPv4 addresses may be allocated through this endpoint.
- example: ipv4
- public:
- type: boolean
- description: >
- Whether to create a public or private IPv4 address.
- example: true
- linode_id:
- type: integer
- description: >
- The ID of a Linode you you have access to that this address
- will be allocated to.
- example: 123
- responses:
- '200':
- description: IP Address allocated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddress'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "ipv4",
- "public": true,
- "linode_id": 123
- }' \
- https://api.linode.com/v4/networking/ips
- - lang: CLI
- source: >
- linode-cli networking ip-add \
- --type ipv4 \
- --public true \
- --linode_id 123
- /networking/ips/{address}:
- parameters:
- - name: address
- in: path
- required: true
- description: The address to operate on.
- schema:
- type: string
- format: ip
- x-linode-cli-command: networking
- get:
- x-linode-grant: read_only
- tags:
- - Networking
- summary: IP Address View
- description: >
- Returns information about a single IP Address on your Account.
- operationId: getIP
- x-linode-cli-action: ip-view
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_only
- responses:
- '200':
- description: The requested IP Address.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddress'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/ips/97.107.143.141
- - lang: CLI
- source: >
- linode-cli networking ip-view 97.107.143.141
- put:
- x-linode-grant: read_write
- tags:
- - Networking
- summary: IP Address RDNS Update
- description: >
- Sets RDNS on an IP Address. Forward DNS must already be set up for
- reverse DNS to be applied. If you set the RDNS to `null` for public
- IPv4 addresses, it will be reset to the default _ip.linodeusercontent.com_
- RDNS value.
- operationId: updateIP
- x-linode-cli-action: ip-update
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- requestBody:
- description: The information to update.
- required: true
- content:
- application/json:
- schema:
- required:
- - rdns
- type: object
- properties:
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address. For public IPv4 addresses,
- this will be set to a default value provided by Linode if not
- explicitly set.
- x-linode-cli-display: 4
- nullable: true
- example: test.example.org
- responses:
- '200':
- description: RDNS set successfully
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddress'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "rdns": "test.example.org"
- }' \
- https://api.linode.com/v4/networking/ips/203.0.113.1
- - lang: CLI
- source: >
- linode-cli networking ip-update \
- 203.0.113.1 \
- --rdns "test.example.org"
- /networking/ips/assign:
- x-linode-cli-command: networking
- post:
- x-linode-grant: read_write
- tags:
- - Networking
- summary: IP Addresses Assign
- description: |
- Assign multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region. This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.
-
- The following restrictions apply:
- * All Linodes involved must have at least one public IPv4 address after assignment.
- * Linodes may have no more than one assigned private IPv4 address.
- * Linodes may have no more than one assigned IPv6 range.
- * Shared IP addresses cannot be swapped between Linodes.
-
- [Open a Support Ticket](/docs/api/support/#support-ticket-open) to request additional IPv4 addresses or IPv6 ranges beyond standard account limits.
-
- **Note**: Removing an IP address that has been set as a Managed Linode's `ssh.ip` causes the Managed Linode's SSH access settings to reset to their default values. To view and configure Managed Linode SSH settings, use the following commands:
- * **Linode's Managed Settings View** ([GET /managed/linode-settings/{linodeId}](/docs/api/managed/#linodes-managed-settings-view))
- * **Linode's Managed Settings Update** ([PUT /managed/linode-settings/{linodeId}](/docs/api/managed/#linodes-managed-settings-update))
-
- **Note:** Addresses with an active 1:1 NAT to a VPC Interface address cannot be assigned to other Linodes.
- operationId: assignIPs
- x-linode-cli-action: ip-assign
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- - linodes:read_write
- requestBody:
- description: >
- Information about what IPv4 address or IPv6 range to assign, and to which Linode.
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/IPAddressesAssignRequest"
- responses:
- '200':
- description: All assignments completed successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "region": "us-east",
- "assignments": [
- {
- "address": "192.0.2.1",
- "linode_id": 123
- },
- {
- "address": "2001:db8:3c4d:15::/64",
- "linode_id": 234
- }
- ]
- }' \
- https://api.linode.com/v4/networking/ips/assign
- - lang: CLI
- source: >
- linode-cli networking ip-assign \
- --region us-east \
- --assignments.address 192.0.2.1 \
- --assignments.linode_id 123 \
- --assignments.address 2001:db8:3c4d:15::/64 \
- --assignments.linode_id 234
- /networking/ips/share:
- x-linode-cli-command: networking
- post:
- servers:
- - url: https://api.linode.com/v4
- x-linode-grant: read_write
- tags:
- - Networking
- summary: IP Addresses Share
- description: |
- Configure shared IPs.
-
- IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses.
-
- IP failover requires configuration of a failover service (such as [Keepalived](/docs/guides/ip-failover-keepalived)) within the internal system of the primary Linode.
-
- **Note:** A public IPv4 address cannot be shared if it is configured for a 1:1 NAT on a `vpc` purpose Configuration Profile Interface.
- operationId: shareIPs
- x-linode-cli-action: ip-share
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- - linodes:read_write
- requestBody:
- description: Information about what IPs to share with which Linode.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddressesShareRequest'
- responses:
- '200':
- description: IP Address sharing successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "linode_id": 123,
- "ips": [
- "192.0.2.1",
- "2001:db8:3c4d:15::"
- ]
- }' \
- https://api.linode.com/v4beta/networking/ips/share
- - lang: CLI
- source: >
- linode-cli networking ip-share \
- --linode_id 123 \
- --ips 192.0.2.1 \
- --ips 2001:db8:3c4d:15::
- /networking/ipv4/assign:
- x-linode-cli-command: networking
- post:
- x-linode-grant: read_write
- tags:
- - Networking
- summary: Linodes Assign IPv4s
- description: |
- This command is equivalent to **IP Addresses Assign** ([POST /networking/ips/assign](#ip-addresses-assign)).
-
- Assign multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region. This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.
-
- The following restrictions apply:
- * All Linodes involved must have at least one public IPv4 address after assignment.
- * Linodes may have no more than one assigned private IPv4 address.
- * Linodes may have no more than one assigned IPv6 range.
-
- [Open a Support Ticket](/docs/api/support/#support-ticket-open) to request additional IPv4 addresses or IPv6 ranges beyond standard account limits.
-
- **Note**: Removing an IP address that has been set as a Managed Linode's `ssh.ip` causes the Managed Linode's SSH access settings to reset to their default values. To view and configure Managed Linode SSH settings, use the following commands:
- * **Linode's Managed Settings View** ([GET /managed/linode-settings/{linodeId}](/docs/api/managed/#linodes-managed-settings-view))
- * **Linode's Managed Settings Update** ([PUT /managed/linode-settings/{linodeId}](/docs/api/managed/#linodes-managed-settings-update))
- operationId: assignIPv4s
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- - linodes:read_write
- requestBody:
- description: >
- Information about what IPv4 address to assign, and to which Linode.
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/IPAddressesAssignRequest"
- responses:
- '200':
- description: All assignments completed successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "region": "us-east",
- "assignments": [
- {
- "address": "192.0.2.1",
- "linode_id": 123
- },
- {
- "address": "2001:db8:3c4d:15::/64",
- "linode_id": 234
- }
- ]
- }' \
- https://api.linode.com/v4/networking/ipv4/assign
- - lang: CLI
- source: >
- linode-cli networking ip-assign \
- --region us-east \
- --assignments.address 192.0.2.1 \
- --assignments.linode_id 123 \
- --assignments.address 2001:db8:3c4d:15::/64 \
- --assignments.linode_id 234
- /networking/ipv4/share:
- x-linode-cli-command: networking
- post:
- x-linode-grant: read_write
- tags:
- - Networking
- summary: IPv4 Sharing Configure
- description: |
- This command is equivalent to **IP Addresses Share** ([POST /networking/ips/share](#ip-addresses-share)).
-
- Configure shared IPs.
-
- IP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses.
-
- IP failover requires configuration of a failover service (such as [Keepalived](/docs/guides/ip-failover-keepalived)) within the internal system of the primary Linode.
- operationId: shareIPv4s
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- - linodes:read_write
- requestBody:
- description: Information about what IPs to share with which Linode.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddressesShareRequest'
- responses:
- '200':
- description: Sharing configured successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "linode_id": 123,
- "ips": [
- "192.0.2.1",
- "192.0.2.2"
- ]
- }' \
- https://api.linode.com/v4/networking/ipv4/share
- - lang: CLI
- source: >
- linode-cli networking ip-share \
- --linode_id 123 \
- --ips 192.0.2.1 \
- --ips 192.0.2.2
- /networking/ipv6/pools:
- x-linode-cli-command: networking
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Networking
- summary: IPv6 Pools List
- description: >
- Displays the IPv6 pools on your Account. A pool of IPv6 addresses are routed to all of your
- Linodes in a single [Region](/docs/api/regions/#regions-list). Any Linode on your Account may bring up any address in this
- pool at any time, with no external configuration required.
- operationId: getIPv6Pools
- x-linode-cli-action: v6-pools
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_only
- responses:
- '200':
- description: The IPv6 pools on your Account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/IPv6Pool'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/ipv6/pools
- - lang: CLI
- source: >
- linode-cli networking v6-pools
- /networking/ipv6/ranges:
- x-linode-cli-command: networking
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Networking
- summary: IPv6 Ranges List
- description: >
- Displays the IPv6 ranges on your Account.
-
-
- * An IPv6 range is a `/64` or `/54` block of IPv6 addresses routed to a single Linode in a given [Region](/docs/api/regions/#regions-list).
-
- * Your Linode is responsible for routing individual addresses in the range, or handling traffic for all the addresses in the range.
-
- * Access the IPv6 Range Create ([POST /networking/ipv6/ranges](/docs/api/networking/#ipv6-range-create)) endpoint to add a `/64` or `/56` block of IPv6 addresses to your account.
- operationId: getIPv6Ranges
- x-linode-cli-action: v6-ranges
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_only
- responses:
- '200':
- description: The IPv6 ranges on your Account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/IPv6Range'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/ipv6/ranges
- - lang: CLI
- source: >
- linode-cli networking v6-ranges
- post:
- tags:
- - Networking
- summary: IPv6 Range Create
- description: |
- Creates an IPv6 Range and assigns it based on the provided Linode or route target IPv6 SLAAC address. See the `ipv6` property when accessing the Linode View ([GET /linode/instances/{linodeId}](/docs/api/linode-instances/#linode-view)) endpoint to view a Linode's IPv6 SLAAC address.
- * Either `linode_id` or `route_target` is required in a request.
- * `linode_id` and `route_target` are mutually exclusive. Submitting values for both properties in a request results in an error.
- * Upon a successful request, an IPv6 range is created in the [Region](/docs/api/regions/#regions-list) that corresponds to the provided `linode_id` or `route_target`.
- * Your Linode is responsible for routing individual addresses in the range, or handling traffic for all the addresses in the range.
- * Access the IP Addresses Assign ([POST /networking/ips/assign](/docs/api/networking/#ip-addresses-assign)) endpoint to re-assign IPv6 Ranges to your Linodes.
-
- **Note**: The following restrictions apply:
- * A Linode can only have one IPv6 range targeting its SLAAC address.
- * An account can only have one IPv6 range in each [Region](/docs/api/regions/#regions-list).
- * [Open a Support Ticket](/docs/api/support/#support-ticket-open) to request expansion of these restrictions.
- operationId: postIPv6Range
- x-linode-cli-action: v6-range-create
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- - linodes:read_write
- requestBody:
- description: >
- Information about the IPv6 range to create.
- required: true
- content:
- application/json:
- schema:
- required:
- - prefix_length
- properties:
- linode_id:
- type: integer
- description: |
- The ID of the Linode to assign this range to. The SLAAC address for the provided Linode is used as the range's `route_target`.
-
- * **Required** if `route_target` is omitted from the request.
-
- * Mutually exclusive with `route_target`. Submitting values for both properties in a request results in an error.
- example: 123
- prefix_length:
- type: integer
- enum:
- - 56
- - 64
- description: >
- The prefix length of the IPv6 range.
- route_target:
- type: string
- format: ipv6
- description: |
- The IPv6 SLAAC address to assign this range to.
-
- * **Required** if `linode_id` is omitted from the request.
-
- * Mutually exclusive with `linode_id`. Submitting values for both properties in a request results in an error.
-
- * **Note**: Omit the `/128` prefix length of the SLAAC address when using this property.
- example: 2001:0db8::1
- responses:
- '200':
- description: IPv6 range created successfully.
- content:
- application/json:
- schema:
- type: object
- properties:
- range:
- type: string
- format: ipv6/prefix_length
- description: >
- The IPv6 network range, including subnet and prefix length.
- example: 2001:0db8::/64
- route_target:
- type: string
- format: ipv6
- description: >
- The route target IPV6 SLAAC address for this range. Does not include the prefix length.
- example: 2001:0db8::1
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "linode_id": 123,
- "prefix_length": 64
- }' \
- https://api.linode.com/v4/networking/ipv6/ranges
- - lang: CLI
- source: >
- linode-cli networking v6-range-create \
- --linode_id 123 \
- --prefix_length 64
- /networking/ipv6/ranges/{range}:
- parameters:
- - name: range
- in: path
- description: |
- The IPv6 range to access. Corresponds to the `range` property of objects returned from the IPv6 Ranges List ([GET /networking/ipv6/ranges](/docs/api/networking/#ipv6-ranges-list)) command.
-
- **Note**: Omit the prefix length of the IPv6 range.
- required: true
- schema:
- type: string
- format: ipv6
- x-linode-cli-command: networking
- get:
- tags:
- - Networking
- summary: IPv6 Range View
- description: |
- View IPv6 range information.
- operationId: getIPv6Range
- x-linode-cli-action: v6-range-view
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read
- responses:
- '200':
- description: Returns IPv6 range information.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPv6RangeBGP'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" https://api.linode.com/v4/networking/ipv6/ranges/2001:0db8::
- - lang: CLI
- source: >
- linode-cli networking v6-range-view 2001:0db8::
- delete:
- tags:
- - Networking
- summary: IPv6 Range Delete
- description: |
- Removes this IPv6 range from your account and disconnects the range from any assigned Linodes.
-
- **Note:** Shared IPv6 ranges cannot be deleted at this time. Please contact Customer Support for assistance.
- operationId: deleteIPv6Range
- x-linode-cli-action: v6-range-delete
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_write
- responses:
- '200':
- description: IPv6 Range deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/networking/ipv6/ranges/2001:0db8::
- - lang: CLI
- source: >
- linode-cli networking v6-range-delete 2001:0db8::
- /networking/firewalls:
- x-linode-cli-command: firewalls
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewalls List
- description: |
- Returns a paginated list of accessible Firewalls.
- operationId: getFirewalls
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_only
- responses:
- '200':
- description: Returns an array of Firewalls.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Firewall'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/firewalls
- - lang: CLI
- source: >
- linode-cli firewalls list
- post:
- x-linode-grant: add_firewalls
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Create
- description: |
- Creates a Firewall to filter network traffic.
-
- * Use the `rules` property to create inbound and outbound access rules.
-
- * Use the `devices` property to assign the Firewall to a service and apply its Rules to the device. Requires `read_write` [User's Grants](/docs/api/account/#users-grants-view) to the device.
- Currently, Firewalls can be assigned to Linode compute instances and NodeBalancers.
-
- * A Firewall can be assigned to multiple services at a time.
-
- * A Firewall can be assigned during Linode creation by utilizing the `firewall_id` [Linode Create Request](/docs/api/linode-instances/#linode-create__request-body-schema) property.
-
- * A service can have one active, assigned Firewall at a time.
-
- Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service.
-
- * Firewalls apply to all of a Linode's non-`vlan` purpose Configuration Profile Interfaces.
-
- * Assigned Linodes must not have any ongoing live migrations.
-
- * A `firewall_create` Event is generated when this endpoint returns successfully.
- operationId: createFirewalls
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_write
- requestBody:
- description: Creates a Firewall object that can be applied to a service to filter the service's network traffic.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/Firewall'
- required:
- - label
- - rules
- properties:
- devices:
- type: object
- description: |
- Devices to create for this Firewall.
- When a Device is created, the Firewall is assigned to its associated service.
- Currently, Devices can be created for Linode compute instances and NodeBalancers.
-
- Additional devices can be assigned after Firewall creation by using the [Firewall Device Create](#firewall-device-create) command.
- properties:
- linodes:
- description: >
- An array of Linode IDs. A Firewall Device is created for each ID.
- type: array
- items:
- type: integer
- example:
- - 123
- - 456
- nodebalancers:
- description: |
- An array containing a NodeBalancer ID. A Firewall Device is created for the ID.
-
- * Only one NodeBalancer can be assigned to a Firewall at a time.
- * Firewalls only apply to inbound TCP traffic to NodeBalancers.
- type: array
- items:
- type: integer
- example:
- - 321
- rules:
- required:
- - inbound_policy
- - outbound_policy
- properties:
- inbound:
- required:
- - action
- - addresses
- - protocol
- outbound:
- required:
- - action
- - addresses
- - protocol
- responses:
- '200':
- description: Returns information about the created Firewall.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Firewall'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "firewall123",
- "rules": {
- "inbound_policy": "DROP",
- "inbound": [
- {
- "protocol": "TCP",
- "ports": "22, 80, 443",
- "addresses": {
- "ipv4": [
- "192.0.2.0/24",
- "198.51.100.2/32"
- ],
- "ipv6": [
- "2001:DB8::/128"
- ]
- },
- "action": "ACCEPT",
- "label": "inbound-rule123",
- "description": "An example inbound rule description."
- }
- ],
- "outbound_policy": "DROP",
- "outbound": [
- {
- "protocol": "TCP",
- "ports": "49152-65535",
- "addresses": {
- "ipv4": [
- "192.0.2.0/24",
- "198.51.100.2/32"
- ],
- "ipv6": [
- "2001:DB8::/128"
- ]
- },
- "action": "ACCEPT",
- "label": "outbound-rule123",
- "description": "An example outbound rule description."
- }
- ]
- },
- "devices": {
- "linodes": [
- 123,
- 456
- ],
- "nodebalancers": [
- 321
- ]
- },
- "tags": [
- "example tag",
- "another example"
- ]
- }' \
- https://api.linode.com/v4/networking/firewalls
- - lang: CLI
- source: >
- linode-cli firewalls create \
- --label example-firewall \
- --rules.outbound_policy ACCEPT \
- --rules.inbound_policy DROP \
- --rules.inbound '[{"protocol": "TCP", "ports": "22, 80, 8080, 443", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"], "ipv6": ["2001:DB8::/128"]}, "action": "ACCEPT"}]' \
- --rules.outbound '[{"protocol": "TCP", "ports": "49152-65535", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"],"ipv6": ["2001:DB8::/128"]}, "action": "DROP", "label": "outbound-rule123", "description": "An example outbound rule description."}]'
- /networking/firewalls/{firewallId}:
- parameters:
- - name: firewallId
- in: path
- description: >
- ID of the Firewall to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: firewalls
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall View
- operationId: getFirewall
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_only
- description: |
- Get a specific Firewall resource by its ID. The Firewall's Devices will not be
- returned in the response. Instead, use the
- [List Firewall Devices](/docs/api/networking/#firewall-devices-list)
- endpoint to review them.
- responses:
- '200':
- description: Returns information about this Firewall.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Firewall'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/firewalls/123
- - lang: CLI
- source: >
- linode-cli firewalls view 123
- put:
- x-linode-grant: read_write
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Update
- description: |
- Updates information for a Firewall.
-
- * Assigned Linodes must not have any ongoing live migrations.
-
- * If a Firewall's status is changed with this endpoint, a corresponding `firewall_enable` or
- `firewall_disable` Event will be generated.
-
- Some parts of a Firewall's configuration cannot
- be manipulated by this endpoint:
-
- - A Firewall's Devices cannot be set with this endpoint. Instead, use the
- [Create Firewall Device](/docs/api/networking/#firewall-device-create)
- and [Delete Firewall Device](/docs/api/networking/#firewall-device-delete)
- endpoints to assign and remove this Firewall from services.
-
- - A Firewall's Rules cannot be changed with this endpoint. Instead, use the
- [Update Firewall Rules](/docs/api/networking/#firewall-rules-update)
- endpoint to update your Rules.
-
- - A Firewall's status can be set to `enabled` or `disabled` by this endpoint, but it cannot be
- set to `deleted`. Instead, use the
- [Delete Firewall](/docs/api/networking/#firewall-delete)
- endpoint to delete a Firewall.
- operationId: updateFirewall
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_write
- requestBody:
- description: The Firewall information to update.
- content:
- application/json:
- schema:
- type: object
- properties:
- tags:
- $ref: '#/components/schemas/Firewall/properties/tags'
- label:
- $ref: '#/components/schemas/Firewall/properties/label'
- status:
- type: string
- description: >
- The status to be applied to this Firewall.
-
- * When a Firewall is first created its status is `enabled`.
- * Use the [Delete Firewall](/docs/api/networking/#firewall-delete) endpoint to delete a Firewall.
- enum:
- - enabled
- - disabled
- example: enabled
- x-linode-cli-display: 3
- responses:
- '200':
- description: Firewall updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Firewall'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "status": "disabled"
- }' \
- https://api.linode.com/v4/networking/firewalls/123
- - lang: CLI
- source: >
- linode-cli firewalls update 123 \
- --status disabled
- delete:
- x-linode-grant: read_write
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Delete
- operationId: deleteFirewall
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_write
- description: |
- Delete a Firewall resource by its ID. This removes all of the Firewall's Rules
- from any services that the Firewall was assigned to.
-
- * Assigned Linodes must not have any ongoing live migrations.
-
- * A `firewall_delete` Event is generated when this endpoint returns successfully.
- responses:
- '200':
- description: Delete Successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/networking/firewalls/123
- - lang: CLI
- source: >
- linode-cli firewalls delete 123
- /networking/firewalls/{firewallId}/devices:
- parameters:
- - name: firewallId
- in: path
- description: >
- ID of the Firewall to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: firewalls
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: Firewall Devices List
- description: |
- Returns a paginated list of a Firewall's Devices. A Firewall Device assigns a Firewall to a service (referred to as the Device's `entity`).
- operationId: getFirewallDevices
- x-linode-cli-action: devices-list
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_only
- responses:
- '200':
- description: A paginated list of Firewall Devices
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/FirewallDevices'
- example:
- - {
- "created": "2018-01-01T00:01:01",
- "entity": {
- "id": 123,
- "label": "my-linode",
- "type": "linode",
- "url": "/v4/linode/instances/123"
- },
- "id": 456,
- "updated": "2018-01-02T00:01:01"
- }
- - {
- "created": "2018-01-01T00:01:01",
- "entity": {
- "id": 321,
- "label": "my-nodebalancer",
- "type": "nodebalancer",
- "url": "/v4/nodebalancers/123"
- },
- "id": 654,
- "updated": "2018-01-02T00:01:01"
- }
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/firewalls/123/devices
- - lang: CLI
- source: >
- linode-cli firewalls devices-list 123
- post:
- x-linode-grant: read_write
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Device Create
- description: |
- Creates a Firewall Device, which assigns a Firewall to a service (referred to
- as the Device's `entity`) and applies the Firewall's Rules to the device.
-
- * Currently, Devices with `linode` and `nodebalancer` entity types are accepted.
-
- * Firewalls only apply to inbound TCP traffic to NodeBalancers.
-
- * A Firewall can be assigned to multiple services at a time.
-
- * A service can have one active, assigned Firewall at a time.
- Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service.
-
- * Assigned Linodes must not have any ongoing live migrations.
-
- * A `firewall_device_add` Event is generated when the Firewall Device is added successfully.
- operationId: createFirewallDevice
- x-linode-cli-action: device-create
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_write
- requestBody:
- content:
- application/json:
- schema:
- type: object
- required:
- - id
- - type
- allOf:
- - $ref: '#/components/schemas/FirewallDevices/properties/entity'
- responses:
- '200':
- description: Returns information about the created Firewall Device.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/FirewallDevices'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "type": "linode",
- "id": 123
- }' \
- https://api.linode.com/v4/networking/firewalls/123/devices
- - lang: CLI
- source: >
- linode-cli firewalls device-create 123 \
- --id 456 \
- --type "linode"
- /networking/firewalls/{firewallId}/devices/{deviceId}:
- parameters:
- - name: firewallId
- in: path
- description: >
- ID of the Firewall to access.
- required: true
- schema:
- type: integer
- - name: deviceId
- in: path
- description: >
- ID of the Firewall Device to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: firewalls
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Device View
- description: |
- Returns information for a Firewall Device, which assigns a Firewall
- to a service (referred to as the Device's `entity`).
- operationId: getFirewallDevice
- x-linode-cli-action: device-view
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_only
- responses:
- '200':
- description: The requested Firewall Device.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/FirewallDevices'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/firewalls/123/devices/456
- - lang: CLI
- source: >
- linode-cli firewalls device-view \
- 123 456
- delete:
- x-linode-grant: read_write
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Device Delete
- operationId: deleteFirewallDevice
- x-linode-cli-action: device-delete
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_write
- description: |
- Removes a Firewall Device, which removes a Firewall from the service it was
- assigned to by the Device. This removes all of the Firewall's Rules from the
- service. If any other Firewalls have been assigned to the service, then those Rules
- remain in effect.
-
- * Assigned Linodes must not have any ongoing live migrations.
-
- * A `firewall_device_remove` Event is generated when the Firewall Device is removed successfully.
- responses:
- '200':
- description: Delete Successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/networking/firewalls/123/devices/456
- - lang: CLI
- source: >
- linode-cli firewalls device-delete 123 456
- /networking/firewalls/{firewallId}/rules:
- parameters:
- - name: firewallId
- in: path
- description: >
- ID of the Firewall to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: firewalls
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Rules List
- description: |
- Returns the inbound and outbound Rules for a Firewall.
- operationId: getFirewallRules
- x-linode-cli-action: rules-list
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_only
- responses:
- '200':
- description: The requested Firewall Rules.
- content:
- application/json:
- x-linode-cli-subtables:
- - inbound
- - outbound
- schema:
- $ref: '#/components/schemas/Firewall/properties/rules'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/firewalls/123/rules
- - lang: CLI
- source: >
- linode-cli firewalls rules-list 123
- put:
- x-linode-grant: read_write
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Networking
- summary: Firewall Rules Update
- description: |
- Updates the inbound and outbound Rules for a Firewall.
-
- * Assigned Linodes must not have any ongoing live migrations.
-
- * **Note:** This command replaces all of a Firewall's `inbound` and `outbound` rulesets with the values specified in your request.
- operationId: updateFirewallRules
- x-linode-cli-action: rules-update
- security:
- - personalAccessToken: []
- - oauth:
- - firewall:read_write
- requestBody:
- description: The Firewall Rules information to update.
- content:
- application/json:
- x-linode-cli-subtables:
- - inbound
- - outbound
- schema:
- allOf:
- - $ref: '#/components/schemas/Firewall/properties/rules'
- properties:
- inbound:
- required:
- - action
- - addresses
- - protocol
- outbound:
- required:
- - action
- - addresses
- - protocol
- responses:
- '200':
- description: Firewall Rules updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Firewall/properties/rules'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "inbound_policy": "DROP",
- "inbound": [
- {
- "protocol": "TCP",
- "ports": "22, 80, 443",
- "addresses": {
- "ipv4": [
- "192.0.2.0/24",
- "198.51.100.2/32"
- ],
- "ipv6": [
- "2001:DB8::/128"
- ]
- },
- "action": "ACCEPT",
- "label": "inbound-rule123",
- "description": "An example inbound rule description."
- }
- ],
- "outbound_policy": "DROP",
- "outbound": [
- {
- "protocol": "TCP",
- "ports": "49152-65535",
- "addresses": {
- "ipv4": [
- "192.0.2.0/24",
- "198.51.100.2/32"
- ],
- "ipv6": [
- "2001:DB8::/128"
- ]
- },
- "action": "ACCEPT",
- "label": "outbound-rule123",
- "description": "An example outbound rule description."
- }
- ]
- }' \
- https://api.linode.com/v4/networking/firewalls/123/rules
- - lang: CLI
- source: >
- linode-cli firewalls rules-update 123 \
- --inbound '[{"action":"ACCEPT", "protocol": "TCP", "ports": "22, 80, 8080, 443", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"], "ipv6": ["2001:DB8::/128"]}}]' \
- --outbound '[{"action":"DROP","protocol": "TCP", "ports": "49152-65535", "addresses": {"ipv4": ["192.0.2.0/24", "198.51.100.2/32"], "ipv6": ["2001:DB8::/128`"]}}]'
- /networking/vlans:
- x-linode-cli-command: vlans
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Networking
- summary: VLANs List
- description: |
- Returns a list of all Virtual Local Area Networks (VLANs) on your Account. VLANs provide
- a mechanism for secure communication between two or more Linodes that are assigned to the
- same VLAN and are both within the same Layer 2 broadcast domain.
-
- VLANs are created and attached to Linodes by using the `interfaces` property for the following endpoints:
-
- - Linode Create ([POST /linode/instances](/docs/api/linode-instances/#linode-create))
- - Configuration Profile Create ([POST /linode/instances/{linodeId}/configs](/docs/api/linode-instances/#configuration-profile-create))
- - Configuration Profile Update ([PUT /linode/instances/{linodeId}/configs/{configId}](/docs/api/linode-instances/#configuration-profile-update))
-
- There are several ways to detach a VLAN from a Linode:
-
- - [Update](/docs/api/linode-instances/#configuration-profile-update) the active Configuration Profile to remove the VLAN Interface, then [reboot](/docs/api/linode-instances/#linode-reboot) the Linode.
- - [Create](/docs/api/linode-instances/#configuration-profile-create) a new Configuration Profile without the VLAN Interface, then [reboot](/docs/api/linode-instances/#linode-reboot) the Linode into the new Configuration Profile.
- - [Delete](/docs/api/linode-instances/#linode-delete) the Linode.
-
- **Note:** Only Next Generation Network (NGN) data centers support VLANs. Use the Regions ([/regions](/docs/api/regions/)) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.
-
- **Note:** See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) to view additional specifications and limitations.
- operationId: getVLANs
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - linodes:read_only
- responses:
- '200':
- description: The VLANs available on this Account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Vlans'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/vlans/
- - lang: CLI
- source: >
- linode-cli vlans list
- /nodebalancers:
- x-linode-cli-command: nodebalancers
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: NodeBalancers List
- description: >
- Returns a paginated list of NodeBalancers you have access to.
- operationId: getNodeBalancers
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: A paginated list of NodeBalancers.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/NodeBalancer'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/nodebalancers
- - lang: CLI
- source: >
- linode-cli nodebalancers list
- post:
- x-linode-grant: add_nodebalancers
- tags:
- - NodeBalancers
- summary: NodeBalancer Create
- description: |
- Creates a NodeBalancer in the requested Region. Only available in [Regions](/docs/api/regions/#regions-list) with "NodeBalancers" in their `capabilities`.
-
- NodeBalancers require a port Config with at least one backend Node to start serving requests.
-
- When using the Linode CLI to create a NodeBalancer, first create a NodeBalancer without any Configs. Then, create Configs and Nodes for that NodeBalancer with the respective [Config Create](/docs/api/nodebalancers/#config-create) and [Node Create](/docs/api/nodebalancers/#node-create) commands.
- operationId: createNodeBalancer
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: Information about the NodeBalancer to create.
- required: true
- x-linode-cli-allowed-defaults:
- - region
- content:
- application/json:
- schema:
- required:
- - region
- properties:
- region:
- type: string
- description: >
- The ID of the Region to create this NodeBalancer in.
- example: us-east
- label:
- $ref: '#/components/schemas/NodeBalancer/properties/label'
- client_conn_throttle:
- $ref: '#/components/schemas/NodeBalancer/properties/client_conn_throttle'
- firewall_id:
- type: integer
- description: |
- The ID of the Firewall to assign to the NodeBalancer.
-
- * Only one NodeBalancer can be assigned to a Firewall at a time.
- * Firewalls only apply to inbound TCP traffic to NodeBalancers.
- tags:
- description: |
- An array of Tags applied to this object. Tags are for organizational purposes only.
- type: array
- items:
- type: string
- example:
- - test
- - web-dev-team
- configs:
- type: array
- description: |
- The port Config(s) to create for this NodeBalancer.
-
- Each Config must have a unique port and at least one Node.
- required:
- - nodes
- items:
- type: object
- description: A request object representing a NodeBalancer Config, including Nodes.
- properties:
- port:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/port'
- protocol:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/protocol'
- algorithm:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/algorithm'
- stickiness:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/stickiness'
- check:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check'
- check_interval:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check_interval'
- check_timeout:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check_timeout'
- check_attempts:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check_attempts'
- check_path:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check_path'
- check_body:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check_body'
- check_passive:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/check_passive'
- proxy_protocol:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/proxy_protocol'
- cipher_suite:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/cipher_suite'
- ssl_cert:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/ssl_cert'
- ssl_key:
- $ref: '#/components/schemas/NodeBalancerConfig/properties/ssl_key'
- nodes:
- type: array
- description: |
- The NodeBalancer Node(s) that serve this Config.
- items:
- $ref: '#/components/schemas/NodeBalancerNode'
- responses:
- '200':
- description: NodeBalancer created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "region": "us-east",
- "label": "balancer12345",
- "client_conn_throttle": 0,
- "configs": [
- {
- "port": 443,
- "protocol": "https",
- "algorithm": "roundrobin",
- "stickiness": "http_cookie",
- "check": "http_body",
- "check_interval": 90,
- "check_timeout": 10,
- "check_attempts": 3,
- "check_path": "/test",
- "check_body": "it works",
- "check_passive": true,
- "proxy_protocol": "none",
- "cipher_suite": "recommended",
- "ssl_cert": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----",
- "ssl_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----",
- "nodes": [
- {
- "address": "192.168.210.120:80",
- "label": "node1",
- "weight": 50,
- "mode": "accept"
- },
- {
- "address": "192.168.210.122:81",
- "label": "node2",
- "weight": 50,
- "mode": "accept"
- }
- ]
- }
- ]
- }' \
- https://api.linode.com/v4/nodebalancers
- - lang: CLI
- source: >
- linode-cli nodebalancers create \
- --region us-east \
- --label balancer12345 \
- --client_conn_throttle 0
- /nodebalancers/{nodeBalancerId}:
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: nodebalancers
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- summary: NodeBalancer View
- description: >
- Returns a single NodeBalancer you can access.
- operationId: getNodeBalancer
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: The requested NodeBalancer object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/nodebalancers/12345
- - lang: CLI
- source: >
- linode-cli nodebalancers view 12345
- put:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: NodeBalancer Update
- description: >
- Updates information about a NodeBalancer you can access.
- operationId: updateNodeBalancer
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: The information to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancer'
- responses:
- '200':
- description: NodeBalancer updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancer'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "balancer12345",
- "client_conn_throttle": 0
- }' \
- https://api.linode.com/v4/nodebalancers/12345
- - lang: CLI
- source: >
- linode-cli nodebalancers update 12345 \
- --label balancer12345 \
- --client_conn_throttle 0
- delete:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: NodeBalancer Delete
- description: >
- Deletes a NodeBalancer.
-
-
- **This is a destructive action and cannot be undone.**
-
-
- Deleting a NodeBalancer will also delete all associated Configs and Nodes,
- although the backend servers represented by the Nodes will not be
- changed or removed. Deleting a NodeBalancer will cause you to lose access
- to the IP Addresses assigned to this NodeBalancer.
- operationId: deleteNodeBalancer
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- responses:
- '200':
- description: NodeBalancer deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/nodebalancers/12345
- - lang: CLI
- source: >
- linode-cli nodebalancers delete 12345
- /nodebalancers/{nodeBalancerId}/configs:
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: nodebalancers
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: Configs List
- description: >
- Returns a paginated list of NodeBalancer Configs associated
- with this NodeBalancer. NodeBalancer Configs represent
- individual ports that this NodeBalancer will accept traffic
- on, one Config per port.
-
-
- For example, if you wanted to accept standard HTTP traffic, you would
- need a Config listening on port 80.
- operationId: getNodeBalancerConfigs
- x-linode-cli-action: configs-list
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: A paginted list of NodeBalancer Configs
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/NodeBalancerConfig'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/nodebalancers/12345/configs
- - lang: CLI
- source: >
- linode-cli nodebalancers configs-list 12345
- post:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: Config Create
- description: >
- Creates a NodeBalancer Config, which allows the NodeBalancer to
- accept traffic on a new port. You will need to add NodeBalancer Nodes
- to the new Config before it can actually serve requests.
- operationId: createNodeBalancerConfig
- x-linode-cli-action: config-create
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: Information about the port to configure.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerConfig'
- responses:
- '200':
- description: Config created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "port": 443,
- "protocol": "https",
- "algorithm": "roundrobin",
- "stickiness": "http_cookie",
- "check": "http_body",
- "check_interval": 90,
- "check_timeout": 10,
- "check_attempts": 3,
- "check_path": "/test",
- "check_body": "it works",
- "check_passive": true,
- "proxy_protocol": "none",
- "ssl_cert": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----",
- "ssl_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----",
- "cipher_suite": "recommended"
- }' \
- https://api.linode.com/v4/nodebalancers/12345/configs
- - lang: CLI
- source: >
- linode-cli nodebalancers config-create 12345 \
- --port 443 \
- --protocol https \
- --algorithm roundrobin \
- --stickiness http_cookie \
- --check http_body \
- --check_interval 90 \
- --check_timeout 10 \
- --check_attempts 3 \
- --check_path "/test" \
- --check_body "it works" \
- --check_passive true \
- --proxy_protocol "none" \
- --ssl_cert "-----BEGIN CERTIFICATE-----
- CERTIFICATE_INFORMATION
- -----END CERTIFICATE-----" \
- --ssl_key "-----BEGIN PRIVATE KEY-----
- PRIVATE_KEY_INFORMATION
- -----END PRIVATE KEY-----" \
- --cipher_suite recommended
- /nodebalancers/{nodeBalancerId}/configs/{configId}:
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- - name: configId
- in: path
- description: The ID of the config to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: nodebalancers
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- summary: Config View
- description: >
- Returns configuration information for a single port of this
- NodeBalancer.
- operationId: getNodeBalancerConfig
- x-linode-cli-action: config-view
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: The requested NodeBalancer config.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567
- - lang: CLI
- source: >
- linode-cli nodebalancers config-view \
- 12345 4567
- put:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: Config Update
- description: >
- Updates the configuration for a single port on a NodeBalancer.
- operationId: updateNodeBalancerConfig
- x-linode-cli-action: config-update
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerConfig'
- responses:
- '200':
- description: Config updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "port": 443,
- "protocol": "https",
- "algorithm": "roundrobin",
- "stickiness": "http_cookie",
- "check": "http_body",
- "check_interval": 90,
- "check_timeout": 10,
- "check_attempts": 3,
- "check_path": "/test",
- "check_body": "it works",
- "check_passive": true,
- "proxy_protocol": "none",
- "ssl_cert": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----",
- "ssl_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----",
- "cipher_suite": "recommended"
- }' \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567
- - lang: CLI
- source: >
- linode-cli nodebalancers config-update \
- 12345 4567 \
- --port 443 \
- --protocol https \
- --algorithm roundrobin \
- --stickiness http_cookie \
- --check http_body \
- --check_interval 90 \
- --check_timeout 10 \
- --check_attempts 3 \
- --check_path "/test" \
- --check_body "it works" \
- --check_passive true \
- --proxy_protocol "none" \
- --ssl_cert "-----BEGIN CERTIFICATE-----
- CERTIFICATE_INFORMATION
- -----END CERTIFICATE-----" \
- --ssl_key "-----BEGIN PRIVATE KEY-----
- PRIVATE_KEY_INFORMATION
- -----END PRIVATE KEY-----" \
- --cipher_suite recommended
- delete:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: Config Delete
- description: >
- Deletes the Config for a port of this NodeBalancer.
-
-
- **This cannot be undone.**
-
-
- Once completed, this NodeBalancer will no longer
- respond to requests on the given port. This also deletes all
- associated NodeBalancerNodes, but the Linodes they were routing
- traffic to will be unchanged and will not be removed.
- operationId: deleteNodeBalancerConfig
- x-linode-cli-action: config-delete
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- responses:
- '200':
- description: NodeBalancer Config deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567
- - lang: CLI
- source: >
- linode-cli nodebalancers config-delete \
- 12345 4567
- /nodebalancers/{nodeBalancerId}/configs/{configId}/rebuild:
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- - name: configId
- in: path
- description: The ID of the Config to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: nodebalancers
- post:
- x-linode-grant: add_nodebalancers
- tags:
- - NodeBalancers
- summary: Config Rebuild
- description: |
- Rebuilds a NodeBalancer Config and its Nodes that you have permission to modify.
-
- Use this command to update a NodeBalancer's Config and Nodes with a single request.
- operationId: rebuildNodeBalancerConfig
- x-linode-cli-action: config-rebuild
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: >
- Information about the NodeBalancer Config to rebuild.
- required: true
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NodeBalancerConfig"
- - type: object
- required:
- - nodes
- properties:
- nodes:
- type: array
- description: |
- The NodeBalancer Node(s) that serve this Config.
-
- Some considerations for Nodes when rebuilding a config:
- * Current Nodes excluded from the request body will be deleted from the Config.
- * Current Nodes (identified by their Node ID) will be updated.
- * New Nodes (included without a Node ID) will be created.
- items:
- type: object
- description: NodeBalancer Node request object including ID.
- properties:
- id:
- type: integer
- description: The unique ID of the Node to update.
- example: 54321
- address:
- $ref: '#/components/schemas/NodeBalancerNode/properties/address'
- label:
- $ref: '#/components/schemas/NodeBalancerNode/properties/label'
- weight:
- $ref: '#/components/schemas/NodeBalancerNode/properties/weight'
- mode:
- $ref: '#/components/schemas/NodeBalancerNode/properties/mode'
- responses:
- '200':
- description: NodeBalancer created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerConfig'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "port": 1234,
- "protocol": "https",
- "algorithm": "roundrobin",
- "stickiness": "http_cookie",
- "check": "http_body",
- "check_interval": 90,
- "check_timeout": 10,
- "check_attempts": 3,
- "check_path": "/test",
- "check_body": "it works",
- "check_passive": true,
- "proxy_protocol": "none",
- "cipher_suite": "recommended",
- "ssl_cert": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----",
- "ssl_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----",
- "nodes": [
- {
- "id": 54321,
- "address": "192.168.210.120:80",
- "label": "node1",
- "weight": 50,
- "mode": "accept"
- },
- {
- "address": "192.168.210.122:81",
- "label": "node2",
- "weight": 50,
- "mode": "accept"
- }
- ]
- }' \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567/rebuild
- - lang: CLI
- source: >
- linode-cli nodebalancers config-rebuild \
- 12345 4567 \
- --port 443 \
- --protocol https \
- --algorithm roundrobin \
- --stickiness http_cookie \
- --check http_body \
- --check_interval 90 \
- --check_timeout 10 \
- --check_attempts 3 \
- --check_path "/test" \
- --check_body "it works" \
- --check_passive true \
- --proxy_protocol "none" \
- --ssl_cert "-----BEGIN CERTIFICATE-----
- CERTIFICATE_INFORMATION
- -----END CERTIFICATE-----" \
- --ssl_key "-----BEGIN PRIVATE KEY-----
- PRIVATE_KEY_INFORMATION
- -----END PRIVATE KEY-----" \
- --cipher_suite recommended \
- --nodes '{"address":"192.168.210.120:80","label":"node1","weight":50,"mode":"accept"}' \
- --nodes '{"address":"192.168.210.122:80","label":"node2","weight":50,"mode":"accept"}'
- /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes:
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- - name: configId
- in: path
- description: The ID of the NodeBalancer config to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: nodebalancers
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: Nodes List
- description: >
- Returns a paginated list of NodeBalancer nodes associated with
- this Config. These are the backends that will be sent traffic
- for this port.
- operationId: getNodeBalancerConfigNodes
- x-linode-cli-action: nodes-list
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: A paginated list of NodeBalancer nodes.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/NodeBalancerNode'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes
- - lang: CLI
- source: >
- linode-cli nodebalancers nodes-list 12345 4567
- post:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: Node Create
- description: >
- Creates a NodeBalancer Node, a backend that can accept
- traffic for this NodeBalancer Config. Nodes are routed
- requests on the configured port based on their status.
- operationId: createNodeBalancerNode
- x-linode-cli-action: node-create
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: Information about the Node to create.
- required: true
- content:
- application/json:
- schema:
- required:
- - label
- - address
- allOf:
- - $ref: '#/components/schemas/NodeBalancerNode'
- responses:
- '200':
- description: Node created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerNode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "address": "192.168.210.120:80",
- "label": "node54321",
- "weight": 50,
- "mode": "accept"
- }' \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes
- - lang: CLI
- source: >
- linode-cli nodebalancers node-create \
- 12345 4567 \
- --address 192.168.210.120:80 \
- --label node54321 \
- --weight 50 \
- --mode accept
- /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}:
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- - name: configId
- in: path
- description: The ID of the Config to access
- required: true
- schema:
- type: integer
- - name: nodeId
- in: path
- description: The ID of the Node to access
- required: true
- schema:
- type: integer
- x-linode-cli-command: nodebalancers
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- summary: Node View
- description: >
- Returns information about a single Node, a backend for this
- NodeBalancer's configured port.
- operationId: getNodeBalancerNode
- x-linode-cli-action: node-view
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- responses:
- '200':
- description: A paginated list of NodeBalancer nodes.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerNode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321
- - lang: CLI
- source: >
- linode-cli nodebalancers node-view 12345 4567 54321
- put:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: Node Update
- description: >
- Updates information about a Node, a backend for this NodeBalancer's
- configured port.
- operationId: updateNodeBalancerNode
- x-linode-cli-action: node-update
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerNode'
- responses:
- '200':
- description: Node updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerNode'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "address": "192.168.210.120:80",
- "label": "node54321",
- "weight": 50,
- "mode": "accept"
- }' \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321
- - lang: CLI
- source: >
- linode-cli nodebalancers node-update \
- 12345 4567 54321 \
- --address 192.168.210.120:80 \
- --label node54321 \
- --weight 50 \
- --mode accept
- delete:
- x-linode-grant: read_write
- tags:
- - NodeBalancers
- summary: Node Delete
- description: >
- Deletes a Node from this Config. This backend will no longer
- receive traffic for the configured port of this NodeBalancer.
-
-
- This does not change or remove the Linode whose address was
- used in the creation of this Node.
- operationId: deleteNodeBalancerConfigNode
- x-linode-cli-action: node-delete
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_write
- responses:
- '200':
- description: Node deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321
- - lang: CLI
- source: >
- linode-cli nodebalancers node-delete \
- 12345 4567 54321
- /nodebalancers/{nodeBalancerId}/firewalls:
- x-linode-cli-command: nodebalancers
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- get:
- operationId: getNodeBalancerFirewalls
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- summary: Firewalls List
- description: >
- View information for Firewalls assigned to this NodeBalancer.
- x-linode-cli-action: firewalls
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: Returns a paginated list of Firewalls assigned to this NodeBalancer.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Firewall'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/nodebalancers/$nodeBalancerId/firewalls \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli nodebalancers firewalls $nodeBalancerId
- /nodebalancers/{nodeBalancerId}/stats:
- x-linode-cli-command: nodebalancers
- parameters:
- - name: nodeBalancerId
- in: path
- description: The ID of the NodeBalancer to access.
- required: true
- schema:
- type: integer
- get:
- x-linode-grant: read_only
- tags:
- - NodeBalancers
- summary: NodeBalancer Statistics View
- description: >
- Returns detailed statistics about the requested NodeBalancer.
- x-linode-cli-action: stats
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - nodebalancers:read_only
- responses:
- '200':
- description: The requested stats.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/NodeBalancerStats'
- default:
- $ref: '#/components/responses/ErrorResponse'
- /object-storage/buckets:
- get:
- operationId: getObjectStorageBuckets
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Buckets List
- description: |
- Returns a paginated list of all Object Storage Buckets that you own.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/serviceops/#list-buckets) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- responses:
- '200':
- description: A paginated list of buckets you own.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ObjectStorageBucket'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/buckets/
- post:
- operationId: createObjectStorageBucket
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Bucket Create
- description: |
- Creates an Object Storage Bucket in the specified cluster.
-
- Accounts with negative balances cannot access this command.
-
- If the bucket already exists and is owned by you, this endpoint returns a `200` response with that bucket as if it had just been created.
-
- This endpoint is available for convenience. It is recommended that instead you use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#put-bucket) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: >
- Information about the bucket you want to create.
- content:
- application/json:
- schema:
- type: object
- required:
- - label
- - cluster
- properties:
- label:
- type: string
- description: >
- The name for this bucket. Must be unique in the cluster you
- are creating the bucket in, or an error will be returned. Labels will be
- reserved only for the cluster that active buckets are created and stored in.
- If you want to reserve this bucket's label in another cluster,
- you must create a new bucket with the same label in the new cluster.
- pattern: ^[a-z0-09][a-z0-9-]*[a-z0-9]?$
- example: example-bucket
- cluster:
- type: string
- description: >
- The ID of the Object Storage Cluster where this bucket should
- be created.
- example: us-east-1
- cors_enabled:
- type: boolean
- description: >
- If true, the bucket will be created with CORS enabled for all
- origins. For more fine-grained controls of CORS, use the S3
- API directly.
- example: true
- default: false
- acl:
- type: string
- enum:
- - private
- - public-read
- - authenticated-read
- - public-read-write
- description: >
- The Access Control Level of the bucket using a canned ACL string.
- For more fine-grained control of ACLs, use the S3 API directly.
- default: private
- example: private
- responses:
- '200':
- description: The bucket created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageBucket'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "example-bucket",
- "cluster": "us-east-1",
- "cors_enabled": true,
- "acl": "private"
- }' \
- https://api.linode.com/v4/object-storage/buckets/
- /object-storage/buckets/{clusterId}/{bucket}:
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- - name: bucket
- in: path
- description: The bucket name.
- required: true
- schema:
- type: string
- get:
- operationId: getObjectStorageBucket
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Bucket View
- description: |
- Returns a single Object Storage Bucket.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#get-bucket) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- responses:
- '200':
- description: The requested bucket.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageBucket'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket
- delete:
- operationId: deleteObjectStorageBucket
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Bucket Remove
- description: |
- Removes a single bucket.
-
- Bucket objects must be removed prior to removing the bucket. While buckets containing objects _may_ be
- deleted using the [s3cmd command-line tool](/docs/products/storage/object-storage/guides/s3cmd/#delete-a-bucket), such operations
- can fail if the bucket contains too many objects. The recommended
- way to empty large buckets is to use the [S3 API to configure lifecycle policies](https://docs.ceph.com/en/latest/radosgw/bucketpolicy/#) that
- remove all objects, then delete the bucket.
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#delete-bucket) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- responses:
- '200':
- description: Bucket deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket
- /object-storage/buckets/{clusterId}:
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- get:
- operationId: getObjectStorageBucketinCluster
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Buckets in Cluster List
- description: |
- Returns a list of Buckets in this cluster belonging to this Account.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#get-bucket) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- responses:
- '200':
- description: A paginated list of buckets you own in this cluster.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ObjectStorageBucket'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/buckets/us-east-1
- /object-storage/buckets/{clusterId}/{bucket}/access:
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- - name: bucket
- in: path
- description: The bucket name.
- required: true
- schema:
- type: string
- post:
- operationId: modifyObjectStorageBucketAccess
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Bucket Access Modify
- description: |
- Allows changing basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings.
- Only allows enabling/disabling CORS for all origins, and/or setting canned ACLs.
-
-
- For more fine-grained control of both systems, please use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#put-bucket-acl) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: The changes to make to the bucket's access controls.
- content:
- application/json:
- schema:
- properties:
- cors_enabled:
- type: boolean
- description: >
- If true, the bucket will be created with CORS enabled for all
- origins. For more fine-grained controls of CORS, use the S3
- API directly.
- example: true
- acl:
- type: string
- enum:
- - private
- - public-read
- - authenticated-read
- - public-read-write
- - custom
- description: >
- The Access Control Level of the bucket, as a canned ACL string.
- For more fine-grained control of ACLs, use the S3 API directly.
- example: private
- responses:
- '200':
- description: Access controls updated.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "cors_enabled": true,
- "acl": "private"
- }' \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/access
- put:
- operationId: updateObjectStorageBucketAccess
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Bucket Access Update
- description: |
- Allows changing basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings.
- Only allows enabling/disabling CORS for all origins, and/or setting canned ACLs.
-
-
- For more fine-grained control of both systems, please use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#put-bucket-acl) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: The changes to make to the bucket's access controls.
- content:
- application/json:
- schema:
- properties:
- cors_enabled:
- type: boolean
- description: >
- If true, the bucket will be created with CORS enabled for all
- origins. For more fine-grained controls of CORS, use the S3
- API directly.
- example: true
- acl:
- type: string
- enum:
- - private
- - public-read
- - authenticated-read
- - public-read-write
- - custom
- description: >
- The Access Control Level of the bucket, as a canned ACL string.
- For more fine-grained control of ACLs, use the S3 API directly.
- example: private
- responses:
- '200':
- description: Access controls updated.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "cors_enabled": true,
- "acl": "private"
- }' \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/access
- /object-storage/buckets/{clusterId}/{bucket}/object-acl:
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- - name: bucket
- in: path
- description: The bucket name.
- required: true
- schema:
- type: string
- get:
- operationId: viewObjectStorageBucketACL
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Object ACL Config View
- description: |
- View an Object's configured Access Control List (ACL) in this Object Storage bucket.
- ACLs define who can access your buckets and objects and specify the level of access
- granted to those users.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/objectops/#get-object-acl) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- parameters:
- - name: name
- in: query
- required: true
- description: >
- The `name` of the object for which to retrieve its Access Control List (ACL).
- Use the [Object Storage Bucket Contents List](/docs/api/object-storage/#object-storage-bucket-contents-list)
- endpoint to access all object names in a bucket.
- schema:
- type: string
- responses:
- '200':
- description: The Object's canned ACL and policy.
- content:
- application/json:
- schema:
- type: object
- properties:
- acl:
- type: string
- enum:
- - private
- - public-read
- - authenticated-read
- - public-read-write
- - custom
- description: >
- The Access Control Level of the bucket, as a canned ACL string.
- For more fine-grained control of ACLs, use the S3 API directly.
- example: public-read
- acl_xml:
- type: string
- description: >
- The full XML of the object's ACL policy.
- example: "... "
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-acl?name=example.txt
- put:
- operationId: updateObjectStorageBucketACL
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Object ACL Config Update
- description: |
- Update an Object's configured Access Control List (ACL) in this Object Storage bucket.
- ACLs define who can access your buckets and objects and specify the level of access
- granted to those users.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/objectops/#set-object-acl) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: The changes to make to this Object's access controls.
- content:
- application/json:
- schema:
- required:
- - acl
- - name
- properties:
- acl:
- type: string
- enum:
- - private
- - public-read
- - authenticated-read
- - public-read-write
- - custom
- description: >
- The Access Control Level of the bucket, as a canned ACL string.
- For more fine-grained control of ACLs, use the S3 API directly.
- example: public-read
- name:
- type: string
- description: >
- The `name` of the object for which to update its Access Control List (ACL).
- Use the [Object Storage Bucket Contents List](/docs/api/object-storage/#object-storage-bucket-contents-list)
- endpoint to access all object names in a bucket.
- responses:
- '200':
- description: The Object's canned ACL and policy.
- content:
- application/json:
- schema:
- type: object
- properties:
- acl:
- type: string
- enum:
- - private
- - public-read
- - authenticated-read
- - public-read-write
- - custom
- description: >
- The Access Control Level of the bucket, as a canned ACL string.
- For more fine-grained control of ACLs, use the S3 API directly.
- example: public-read
- acl_xml:
- type: string
- description: >
- The full XML of the object's ACL policy.
- example: "... "
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "acl": "public-read",
- "name": "example.txt"
- }' \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-acl
- /object-storage/buckets/{clusterId}/{bucket}/object-list:
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- - name: bucket
- in: path
- description: The bucket name.
- required: true
- schema:
- type: string
- get:
- operationId: getObjectStorageBucketContent
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Bucket Contents List
- description: |
- Returns the contents of a bucket. The contents are paginated using a `marker`,
- which is the name of the last object on the previous page. Objects may
- be filtered by `prefix` and `delimiter` as well; see Query Parameters for more
- information.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/objectops/#get-object) directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- parameters:
- - name: marker
- in: query
- required: false
- description: >
- The "marker" for this request, which can be used to paginate through large buckets.
- Its value should be the value of the `next_marker` property returned with the last page.
- Listing bucket contents *does not* support arbitrary page access. See the `next_marker`
- property in the responses section for more details.
- schema:
- type: string
- - name: delimiter
- in: query
- required: false
- description: >
- The delimiter for object names; if given, object names will be returned
- up to the first occurrence of this character. This is most commonly used
- with the `/` character to allow bucket transversal in a manner similar to
- a filesystem, however any delimiter may be used. Use in conjunction with
- `prefix` to see object names past the first occurrence of the delimiter.
- schema:
- type: string
- - name: prefix
- in: query
- required: false
- description: >
- Filters objects returned to only those whose name start with the given
- prefix. Commonly used in conjunction with `delimiter` to allow transversal
- of bucket contents in a manner similar to a filesystem.
- schema:
- type: string
- - $ref: '#/components/parameters/pageSize'
- responses:
- '200':
- description: One page of the requested bucket's contents.
- content:
- application/json:
- schema:
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ObjectStorageObject'
- next_marker:
- type: string
- description: >
- Returns the value you should pass to the `marker` query parameter to get the next page of objects. If there is no next page, `null` will be returned.
- example: bd021c21-e734-4823-97a4-58b41c2cd4c8.892602.184
- nullable: true
- is_truncated:
- type: boolean
- description: Designates if there is another page of bucket objects.
- example: true
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-list
- /object-storage/buckets/{clusterId}/{bucket}/object-url:
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- - name: bucket
- in: path
- description: The bucket name.
- required: true
- schema:
- type: string
- post:
- operationId: createObjectStorageObjectURL
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Object URL Create
- description: |
- Creates a pre-signed URL to access a single Object in a bucket. This
- can be used to share objects, and also to create/delete objects by using
- the appropriate HTTP method in your request body's `method` parameter.
-
-
- This endpoint is available for convenience. It is recommended that instead you
- use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/)
- directly.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: Information about the request to sign.
- content:
- application/json:
- schema:
- required:
- - name
- - method
- properties:
- method:
- type: string
- description: The HTTP method allowed to be used with the pre-signed URL.
- example: GET
- default: GET
- name:
- type: string
- description: >
- The name of the object that will be accessed with the pre-signed URL. This object need not
- exist, and no error will be returned if it doesn't. This behavior is
- useful for generating pre-signed URLs to upload new objects to by
- setting the `method` to "PUT".
- example: example
- content_type:
- type: string
- description: >
- The expected `Content-type` header of the request this signed
- URL will be valid for. If provided, the `Content-type` header
- _must_ be sent with the request when this URL is used, and
- _must_ be the same as it was when the signed URL was created.
- Required for all methods *except* "GET" or "DELETE".
- example: null
- expires_in:
- type: integer
- minimum: 360
- maximum: 86400
- default: 3600
- description: >
- How long this signed URL will be valid for, in seconds. If
- omitted, the URL will be valid for 3600 seconds (1 hour).
- example: null
- responses:
- '200':
- description: The URL with which to access your object.
- content:
- application/json:
- schema:
- properties:
- url:
- type: string
- description: The signed URL to perform the request at.
- example: https://us-east-1.linodeobjects.com/example-bucket/example?Signature=qr98TEucCntPgEG%2BsZQGDsJg93c%3D&Expires=1567609905&AWSAccessKeyId=G4YAF81XWY61DQM94SE0
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "method": "GET",
- "name": "example"
- }' \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-url
- /object-storage/clusters:
- x-linode-cli-command: object-storage
- get:
- operationId: getObjectStorageClusters
- x-linode-cli-action: clusters-list
- servers:
- - url: https://api.linode.com/v4
- summary: Clusters List
- description: |
- Returns a paginated list of Object Storage Clusters that are available for
- use. Users can connect to the clusters with third party clients to create buckets
- and upload objects.
- tags:
- - Object Storage
- responses:
- '200':
- description: A paginated list of available clusters.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ObjectStorageCluster'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/clusters
- - lang: CLI
- source: >
- linode-cli object-storage clusters-list
- /object-storage/clusters/{clusterId}:
- x-linode-cli-command: object-storage
- parameters:
- - name: clusterId
- in: path
- description: The ID of the Cluster.
- required: true
- schema:
- type: string
- get:
- operationId: getObjectStorageCluster
- x-linode-cli-action: clusters-view
- servers:
- - url: https://api.linode.com/v4
- summary: Cluster View
- description: |
- Returns a single Object Storage Cluster.
- tags:
- - Object Storage
- responses:
- '200':
- description: The requested Cluster
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageCluster'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/clusters/us-east-1
- - lang: CLI
- source: >
- linode-cli object-storage clusters-view us-east-1
- /object-storage/keys:
- x-linode-cli-command: object-storage
- get:
- operationId: getObjectStorageKeys
- x-linode-cli-action: keys-list
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Object Storage
- summary: Object Storage Keys List
- description: |
- Returns a paginated list of Object Storage Keys for authenticating to
- the Object Storage S3 API.
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- responses:
- '200':
- description: A paginated list of Object Storage Keys
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/ObjectStorageKey'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/keys
- - lang: CLI
- source: >
- linode-cli object-storage keys-list
- post:
- operationId: createObjectStorageKeys
- x-linode-cli-action: keys-create
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Key Create
- description: |
- Provisions a new Object Storage Key on your account.
-
- * Accounts with negative balances cannot access this command.
- * A successful request triggers an `obj_access_key_create` event.
- * To create a Limited Access Key with specific permissions, send a `bucket_access` array.
- * To create a Limited Access Key without access to any buckets, send an empty `bucket_access` array.
- * To create an Access Key with unlimited access to all clusters and all buckets, omit the `bucket_access` array.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: >
- The label of the key to create. This is used to identify the created key.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageKey'
- responses:
- '200':
- description: The new keypair. **This is the only time** the secret key is returned.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageKey'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "my-object-storage-key",
- "bucket_access": [
- {
- "cluster": "ap-south-1",
- "bucket_name": "bucket-example-1",
- "permissions": "read_write"
- },
- {
- "cluster": "us-east-1",
- "bucket_name": "bucket-example-2",
- "permissions": "read_only"
- }
- ]
- }' \
- https://api.linode.com/v4/object-storage/keys
- - lang: CLI
- source: >
- linode-cli object-storage keys-create \
- --label "my-object-storage-key" \
- --bucket_access '[{"cluster": "ap-south-1", "bucket_name": "bucket-example-1", "permissions": "read_write" }]'
- /object-storage/keys/{keyId}:
- x-linode-cli-command: object-storage
- parameters:
- - name: keyId
- in: path
- description: The key to look up.
- required: true
- schema:
- type: integer
- get:
- operationId: getObjectStorageKey
- x-linode-cli-action: keys-view
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Key View
- description: |
- Returns a single Object Storage Key provisioned for your account.
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- tags:
- - Object Storage
- responses:
- '200':
- description: The keypair
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageKey'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/keys/12345
- - lang: CLI
- source: >
- linode-cli object-storage keys-view \
- --keyId 12345
- put:
- operationId: updateObjectStorageKey
- x-linode-cli-action: keys-update
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Key Update
- description: |
- Updates an Object Storage Key on your account.
-
- * A successful request triggers an `obj_access_key_update` event.
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- tags:
- - Object Storage
- requestBody:
- description: The fields to update.
- content:
- application/json:
- schema:
- type: object
- properties:
- label:
- type: string
- description: The label for this keypair, for display purposes only.
- example: my-key
- responses:
- '200':
- description: Update Successful
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageKey'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "my-object-storage-key"
- }' \
- https://api.linode.com/v4/object-storage/keys/12345
- - lang: CLI
- source: >
- linode-cli object-storage keys-update \
- --keyId 12345
- --label "my-object-storage-key"
- delete:
- operationId: deleteObjectStorageKey
- x-linode-cli-action: keys-delete
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Key Revoke
- description: |
- Revokes an Object Storage Key. This keypair will no longer be usable by third-party clients.
-
- * A successful request triggers an `obj_access_key_delete` event.
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- tags:
- - Object Storage
- responses:
- '200':
- description: Deletion successful
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/object-storage/keys/12345
- - lang: CLI
- source: >
- linode-cli object-storage keys-delete 12345
- /object-storage/cancel:
- x-linode-cli-command: object-storage
- post:
- operationId: cancelObjectStorage
- x-linode-cli-action: cancel
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Cancel
- description: |
- Cancel Object Storage on an Account.
-
- **Warning**: Removes all buckets and their contents from your Account. This data is irretrievable once removed.
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- tags:
- - Object Storage
- responses:
- '200':
- description: Object Storage cancellation successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/object-storage/cancel
- - lang: CLI
- source: >
- linode-cli object-storage cancel
- /object-storage/buckets/{clusterId}/{bucket}/ssl:
- x-linode-cli-command: object-storage
- parameters:
- - name: clusterId
- in: path
- description: The ID of the cluster this bucket exists in.
- required: true
- schema:
- type: string
- - name: bucket
- in: path
- description: The bucket name.
- required: true
- schema:
- type: string
- get:
- operationId: getObjectStorageSSL
- x-linode-cli-action: ssl-view
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage TLS/SSL Cert View
- description: |
- Returns a boolean value indicating if this bucket has a corresponding TLS/SSL certificate that was
- uploaded by an Account user.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- responses:
- '200':
- description: >
- Returns a boolean value indicating if this bucket has a corresponding TLS/SSL certificate that was
- uploaded by an Account user.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageSSLResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl
- - lang: CLI
- source: >
- linode-cli object-storage ssl-view \
- us-east-1 example-bucket
- post:
- operationId: createObjectStorageSSL
- x-linode-cli-action: ssl-upload
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage TLS/SSL Cert Upload
- description: |
- Upload a TLS/SSL certificate and private key to be served when you visit your Object Storage bucket via HTTPS.
- Your TLS/SSL certificate and private key are stored encrypted at rest.
-
-
- To replace an expired certificate, [delete your current certificate](/docs/api/object-storage/#object-storage-tlsssl-cert-delete)
- and upload a new one.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- requestBody:
- description: Upload this TLS/SSL certificate with its corresponding secret key.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageSSL'
- responses:
- '200':
- description: Returns whether this bucket has a corresponding TLS/SSL certificate that was uploaded by a user.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/ObjectStorageSSLResponse'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "certificate": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----",
- "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----"
- }' \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl
- - lang: CLI
- source: >
- linode-cli object-storage ssl-upload \
- us-east-1 example-bucket \
- --certificate "-----BEGIN CERTIFICATE-----
- CERTIFICATE_INFORMATION
- -----END CERTIFICATE-----" \
- --private_key "-----BEGIN PRIVATE KEY-----
- PRIVATE_KEY_INFORMATION
- -----END PRIVATE KEY-----"
- delete:
- operationId: deleteObjectStorageSSL
- x-linode-cli-action: ssl-delete
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage TLS/SSL Cert Delete
- description: |
- Deletes this Object Storage bucket's user uploaded TLS/SSL certificate and private key.
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_write
- responses:
- '200':
- description: Deletes this Object Storage bucket's user uploaded TLS/SSL certificate and private key.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl
- - lang: CLI
- source: >
- linode-cli object-storage ssl-delete \
- us-east-1 example-bucket
- /object-storage/transfer:
- get:
- operationId: getObjectStorageTransfer
- x-linode-cli-skip: true
- servers:
- - url: https://api.linode.com/v4
- summary: Object Storage Transfer View
- description: |
- The amount of outbound data transfer used by your account's Object Storage buckets.
- Object Storage adds 1 terabyte of outbound data transfer to your data transfer pool.
- See the [Object Storage Overview](/docs/products/storage/object-storage/#pricing)
- guide for details on Object Storage transfer quotas.
-
- tags:
- - Object Storage
- security:
- - personalAccessToken: []
- - oauth:
- - object_storage:read_only
- responses:
- '200':
- description: >
- Returns the amount of outbound data transfer used by your account's Object Storage buckets.
- content:
- application/json:
- schema:
- properties:
- used:
- type: integer
- description: >
- The amount of outbound data transfer used by your account's Object Storage buckets,
- in bytes, for the current month's billing cycle.
- example: 12956600198
- readOnly: true
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/object-storage/transfer/
- /profile:
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Profile View
- description: >
- Returns information about the current User. This can be used to see
- who is acting in applications where more than one token is managed. For
- example, in third-party OAuth applications.
-
-
- This endpoint is always accessible, no matter what OAuth scopes the acting token has.
- operationId: getProfile
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: Profile response.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Profile'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile
- - lang: CLI
- source: >
- linode-cli profile view
- put:
- tags:
- - Profile
- summary: Profile Update
- description: |
- Update information in your Profile. This endpoint requires the
- "account:read_write" OAuth Scope.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * You can't edit the `email` for a child account parent user (proxy user). This value is fixed and set when you provision this environment.
- operationId: updateProfile
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Profile'
- responses:
- '200':
- description: Profile updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Profile'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "email": "example-user@gmail.com",
- "timezone": "US/Eastern",
- "email_notifications": true,
- "lish_auth_method": "keys_only",
- "authorized_keys": null,
- "two_factor_auth": true,
- "restricted": false
- }' \
- https://api.linode.com/v4/profile
- - lang: CLI
- source: >
- linode-cli profile update \
- --email example-user@gmail.com \
- --timezone US/Eastern \
- --email_notifications true \
- --list_auth_method keys_only \
- --two_factor_auth true \
- --restricted false
- /profile/apps:
- x-linode-cli-command: profile
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Profile
- summary: Authorized Apps List
- description: >
- This is a collection of OAuth apps that you've given access to your Account, and
- includes the level of access granted.
- operationId: getProfileApps
- x-linode-cli-action: apps-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: |
- A paginated list of apps you've authorized.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/AuthorizedApp'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/apps
- - lang: CLI
- source: >
- linode-cli profile apps-list
- /profile/apps/{appId}:
- parameters:
- - name: appId
- in: path
- required: true
- description: The authorized app ID to manage.
- schema:
- type: integer
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Authorized App View
- description: >
- Returns information about a single app you've authorized to access your
- Account.
- operationId: getProfileApp
- x-linode-cli-action: app-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The app requested.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/AuthorizedApp'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/apps/123
- - lang: CLI
- source: >
- linode-cli profile app-view 1234
- delete:
- tags:
- - Profile
- summary: App Access Revoke
- description: >
- Expires this app token. This token may no longer be used to
- access your Account.
- operationId: deleteProfileApp
- x-linode-cli-action: app-delete
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: App's authorization has been revoked.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/profile/apps/123
- - lang: CLI
- source: >
- linode-cli profile app-delete 123
- /profile/grants:
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Grants List
- description: >
- This returns a GrantsResponse describing what the acting User has been
- granted access to. For unrestricted users, this will return a 204 and
- no body because unrestricted users have access to everything without
- grants. This will not return information about entities you do not have
- access to. This endpoint is useful when writing third-party OAuth
- applications to see what options you should present to the acting User.
-
-
- For example, if they do not have `global.add_linodes`, you might not
- display a button to deploy a new Linode.
-
-
- Any client may access this endpoint; no OAuth scopes are required.
- operationId: getProfileGrants
- x-linode-cli-action: grants
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: GrantsResponse
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/GrantsResponse'
- '204':
- description: >
- This is an unrestricted User, who has no grants. This User can access
- everything on the Account.
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/grants
- /profile/tfa-disable:
- x-linode-cli-command: profile
- post:
- tags:
- - Profile
- summary: Two Factor Authentication Disable
- description: >
- Disables Two Factor Authentication for your User. Once successful,
- login attempts from untrusted computers will only require a password
- before being successful. This is less secure, and is discouraged.
- operationId: tfaDisable
- x-linode-cli-action: tfa-disable
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: TFA disabled.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/profile/tfa-disable
- - lang: CLI
- source: >
- linode-cli profile tfa-disable
- /profile/tfa-enable:
- x-linode-cli-command: profile
- post:
- tags:
- - Profile
- summary: Two Factor Secret Create
- description: |
- Generates a Two Factor secret for your User. To enable TFA for your User, enter the secret obtained from this command with the **Two Factor Authentication Confirm/Enable** ([POST /profile/tfa-enable-confirm](/docs/api/profile/#two-factor-authentication-confirmenable)) command.
- Once enabled, logins from untrusted computers are required to provide
- a TFA code before they are successful.
-
- **Note**: Before you can enable TFA, security questions must be answered for your User by accessing the **Security Questions Answer** ([POST /profile/security-questions](/docs/api/profile/#security-questions-answer)) command.
- operationId: tfaEnable
- x-linode-cli-action: tfa-enable
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Two Factor secret generated
- content:
- application/json:
- schema:
- properties:
- secret:
- type: string
- description: >
- Your Two Factor secret. This is used to generate
- time-based two factor codes required for logging in. Doing
- this will be required to confirm TFA an actually enable it.
- example: 5FXX6KLACOC33GTC
- expiry:
- type: string
- format: date-time
- description: >
- When this Two Factor secret expires.
- example: 2018-03-01T00:01:01
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/profile/tfa-enable
- - lang: CLI
- source: >
- linode-cli profile tfa-enable
- /profile/tfa-enable-confirm:
- x-linode-cli-command: profile
- post:
- tags:
- - Profile
- summary: Two Factor Authentication Confirm/Enable
- description: >
- Confirms that you can successfully generate Two Factor codes and
- enables TFA on your Account. Once this is complete, login attempts
- from untrusted computers will be required to provide a Two Factor code
- before they are successful.
- operationId: tfaConfirm
- x-linode-cli-action: tfa-confirm
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The Two Factor code you generated with your Two Factor secret.
- required: true
- content:
- application/json:
- schema:
- properties:
- tfa_code:
- type: string
- description: >
- The Two Factor code you generated with your Two Factor secret.
- These codes are time-based, so be sure it is current.
- example: "213456"
- responses:
- '200':
- description: TFA enabled successfully
- content:
- application/json:
- schema:
- properties:
- scratch:
- type: string
- description: >
- A one-use code that can be used in place of your Two Factor
- code, in case you are unable to generate one. Keep this in
- a safe place to avoid being locked out of your Account.
- example: sample two factor scratch
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "tfa_code": "213456"
- }' \
- https://api.linode.com/v4/profile/tfa-enable-confirm
- - lang: CLI
- source: >
- linode-cli profile tfa-confirm \
- --tfa_code 213456
- /profile/tokens:
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Personal Access Tokens List
- description: >
- Returns a paginated list of Personal Access Tokens currently active for
- your User.
- operationId: getPersonalAccessTokens
- x-linode-cli-action: tokens-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of active tokens.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/PersonalAccessToken'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/tokens
- - lang: CLI
- source: >
- linode-cli profile tokens-list
- post:
- tags:
- - Profile
- summary: Personal Access Token Create
- description: >
- Creates a Personal Access Token for your User. The raw token will
- be returned in the response, but will never be returned again afterward
- so be sure to take note of it. You may create a token with _at most_
- the scopes of your current token. The created token will be able to
- access your Account until the given expiry, or until it is revoked.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, the following apply:
-
- * If you're using a child account parent user (proxy user), you can't create this form of token. The only token available to a proxy user is one that lets you run operations in a child account. These are created via the [Proxy User Token Create](#proxy-user-token-create) operation.
- operationId: createPersonalAccessToken
- x-linode-cli-action: token-create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Information about the requested token.
- required: true
- content:
- application/json:
- schema:
- properties:
- scopes:
- type: string
- format: oauth-scope
- description: |
- The access [scopes](/docs/api#oauth-reference) to grant to the created token. These cannot be changed after creation, and may not exceed the scopes of the acting token.
-
- If omitted or entered with a wildcard character (`*`), the new token will have the same scopes as the acting token.
-
- Multiple scopes are separated by a space character (` `).
-
- For example, `linodes:read_write account:read_only`.
- example: '*'
- expiry:
- type: string
- format: date-time
- description: >
- When this token should be valid until. If omitted, the new token
- will be valid until it is manually revoked.
- example: null
- label:
- $ref: '#/components/schemas/PersonalAccessToken/properties/label'
- responses:
- '200':
- description: Token created successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PersonalAccessToken'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "scopes": "*",
- "expiry": "2018-01-01T13:46:32",
- "label": "linode-cli"
- }' \
- https://api.linode.com/v4/profile/tokens
- - lang: CLI
- source: >
- linode-cli profile token-create \
- --scopes '*' \
- --expiry '2018-01-01T13:46:32' \
- --label linode-cli
- /profile/tokens/{tokenId}:
- parameters:
- - name: tokenId
- in: path
- description: The ID of the token to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Personal Access Token View
- description: >
- Returns a single Personal Access Token.
- operationId: getPersonalAccessToken
- x-linode-cli-action: token-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested token.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PersonalAccessToken'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/tokens/123
- - lang: CLI
- source: >
- linode-cli profile token-view 123
- put:
- tags:
- - Profile
- summary: Personal Access Token Update
- description: >
- Updates a Personal Access Token.
- operationId: updatePersonalAccessToken
- x-linode-cli-action: token-update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: The fields to update.
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PersonalAccessToken'
- responses:
- '200':
- description: Token updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PersonalAccessToken'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "linode-cli"
- }' \
- https://api.linode.com/v4/profile/tokens/123
- - lang: CLI
- source: >
- linode-cli profile token-update 123 \
- --label linode-cli
- delete:
- tags:
- - Profile
- summary: Personal Access Token Revoke
- description: >
- Revokes a Personal Access Token. The token will be invalidated
- immediately, and requests using that token will fail with a 401. It is
- possible to revoke access to the token making the request to revoke a token,
- but keep in mind that doing so could lose you access to the api and require
- you to create a new token through some other means.
- operationId: deletePersonalAccessToken
- x-linode-cli-action: token-delete
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Token revoked successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/profile/tokens/123
- - lang: CLI
- source: >
- linode-cli profile token-delete 123
- /profile/logins:
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Logins List
- description: >
- Returns a collection of successful account logins from this user during the last
- 90 days.
- operationId: getProfileLogins
- x-linode-cli-action: logins-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- An array of successful account logins from this user during
- the last 90 days.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Login'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/logins
- - lang: CLI
- source: >
- linode-cli profile logins-list
- /profile/logins/{loginId}:
- parameters:
- - name: loginId
- in: path
- description: The ID of the login object to access.
- required: true
- schema:
- type: integer
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Login View
- description: >
- Returns a login object displaying information about a successful
- account login from this user.
- operationId: getProfileLogin
- x-linode-cli-action: login-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested login object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Login'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/logins/1234
- - lang: CLI
- source: >
- linode-cli profile login-view 1234
- /profile/devices:
- x-linode-cli-command: profile
- get:
- tags:
- - Profile
- summary: Trusted Devices List
- description: >
- Returns a paginated list of active TrustedDevices for your User.
- Browsers with an active Remember Me Session are logged into your account
- until the session expires or is revoked.
- operationId: getDevices
- x-linode-cli-action: devices-list
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of TrustedDevice objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/TrustedDevice'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/devices
- - lang: CLI
- source: >
- linode-cli profile devices-list
- /profile/devices/{deviceId}:
- x-linode-cli-command: profile
- parameters:
- - name: deviceId
- in: path
- description: The ID of the TrustedDevice
- required: true
- schema:
- type: integer
- get:
- tags:
- - Profile
- summary: Trusted Device View
- description: >
- Returns a single active TrustedDevice for your User.
- operationId: getTrustedDevice
- x-linode-cli-action: device-view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: The requested TrustedDevice object
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TrustedDevice'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/devices/123
- - lang: CLI
- source: >
- linode-cli profile device-view 123
- delete:
- tags:
- - Profile
- summary: Trusted Device Revoke
- description: >
- Revoke an active TrustedDevice for your User. Once a TrustedDevice is revoked, this
- device will have to log in again before accessing your Linode account.
- operationId: revokeTrustedDevice
- x-linode-cli-action: device-revoke
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Session revoked successfully
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/profile/devices/123
- - lang: CLI
- source: >
- linode-cli profile device-revoke 123
- /profile/security-questions:
- x-linode-cli-command: security-questions
- get:
- x-linode-grant: read_only
- servers:
- - url: https://api.linode.com/v4
- tags:
- - Profile
- summary: Security Questions List
- description: >
- Returns a collection of security questions and their responses, if any, for your User Profile.
- operationId: getSecurityQuestions
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a list of security questions.
- content:
- application/json:
- x-linode-cli-nested-list: security_questions
- x-linode-cli-use-schema:
- type: object
- properties:
- security_questions.id:
- x-linode-cli-display: 1
- security_questions.question:
- x-linode-cli-display: 2
- security_questions.response:
- x-linode-cli-display: 3
- schema:
- $ref: '#/components/schemas/SecurityQuestionsGet'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/security-questions
- - lang: CLI
- source: >
- linode-cli security-questions list
- post:
- tags:
- - Profile
- summary: Security Questions Answer
- description: |
- Adds security question responses for your User.
-
- Requires exactly three unique questions.
-
- Previous responses are overwritten if answered or reset to `null` if unanswered.
-
- **Note**: Security questions must be answered for your User prior to accessing the **Two Factor Secret Create** ([POST /profile/tfa-enable](/docs/api/profile/#two-factor-secret-create)) command.
- operationId: postSecurityQuestions
- x-linode-cli-action: answer
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Answer Security Questions
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SecurityQuestionsPost'
- responses:
- '200':
- description: Security Questions answered successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SecurityQuestionsPost'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "security_questions": [
- {
- "question_id": 1,
- "response": "secret answer 1"
- },
- {
- "question_id": 2,
- "response": "secret answer 2"
- },
- {
- "question_id": 11,
- "response": "secret answer 3"
- }
- ]
- }' \
- https://api.linode.com/v4/profile/security-questions
- /profile/sshkeys:
- x-linode-cli-command: sshkeys
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Profile
- summary: SSH Keys List
- description: >
- Returns a collection of SSH Keys you've added to your Profile.
- operationId: getSSHKeys
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of SSH Key objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/SSHKey'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/sshkeys
- - lang: CLI
- source: >
- linode-cli sshkeys list
- post:
- tags:
- - Profile
- summary: SSH Key Add
- description: >
- Adds an SSH Key to your Account profile.
- operationId: addSSHKey
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Add SSH Key
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SSHKey'
- responses:
- '200':
- description: SSH Key associated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SSHKey'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "My SSH Key",
- "ssh_key": "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
- }' \
- https://api.linode.com/v4/profile/sshkeys
- - lang: CLI
- source: >
- linode-cli sshkeys create \
- --label "My SSH Key" \
- --ssh_key "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
- /profile/sshkeys/{sshKeyId}:
- x-linode-cli-command: sshkeys
- parameters:
- - name: sshKeyId
- in: path
- description: The ID of the SSHKey
- required: true
- schema:
- type: integer
- get:
- tags:
- - Profile
- summary: SSH Key View
- description: >
- Returns a single SSH Key object identified by `id` that you have access
- to view.
- operationId: getSSHKey
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: An SSH Key object
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SSHKey'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/sshkeys/42
- - lang: CLI
- source: >
- linode-cli sshkeys view 42
- put:
- tags:
- - Profile
- summary: SSH Key Update
- description: |
- Updates an SSH Key that you have permission to `read_write`.
-
- Only SSH key labels can be updated.
- operationId: updateSSHKey
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- The fields to update.
- required: true
- content:
- application/json:
- schema:
- type: object
- properties:
- label:
- $ref: '#/components/schemas/SSHKey/properties/label'
- responses:
- '200':
- description: SSH Key updated successfully.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SSHKey'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "my laptop"
- }' \
- https://api.linode.com/v4/profile/sshkeys/42
- - lang: CLI
- source: >
- linode-cli sshkeys update 42 \
- --label "my laptop"
- delete:
- tags:
- - Profile
- summary: SSH Key Delete
- description: >
- Deletes an SSH Key you have access to.
-
-
- **Note:** deleting an SSH Key will *not* remove it from any Linode or
- Disk that was deployed with `authorized_keys`. In those cases, the keys
- must be manually deleted on the Linode or Disk.
- This endpoint will only delete the key's association from your Profile.
- operationId: deleteSSHKey
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: SSH Key deleted successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authoriztion: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/profile/sshkeys/42
- - lang: CLI
- source: >
- linode-cli sshkeys delete 42
- /profile/phone-number:
- x-linode-cli-command: phone
- delete:
- x-linode-grant: read_write
- tags:
- - Profile
- summary: Phone Number Delete
- description: |
- Delete the verified phone number for the User making this request.
-
- Use this command to opt out of SMS messages for the requesting User after a phone number has been verified with the **Phone Number Verify** ([POST /profile/phone-number/verify](/docs/api/profile/#phone-number-verify)) command.
- operationId: deleteProfilePhoneNumber
- x-linode-cli-action: delete
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: >
- Phone number deletion request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/profile/phone-number
- - lang: CLI
- source: >
- linode-cli phone delete
- post:
- x-linode-grant: read_write
- tags:
- - Profile
- summary: Phone Number Verification Code Send
- description: |
- Send a one-time verification code via SMS message to the submitted phone number. Providing your phone number helps ensure you can securely access your Account in case other ways to connect are lost. Your phone number is only used to verify your identity by sending an SMS message. Standard carrier messaging fees may apply.
-
- * By accessing this command you are opting in to receive SMS messages. You can opt out of SMS messages by using the **Phone Number Delete** ([DELETE /profile/phone-number](/docs/api/profile/#phone-number-delete)) command after your phone number is verified.
-
- * Verification codes are valid for 10 minutes after they are sent.
-
- * Subsequent requests made prior to code expiration result in sending the same code.
-
- Once a verification code is received, verify your phone number with the **Phone Number Verify** ([POST /profile/phone-number/verify](/docs/api/profile/#phone-number-verify)) command.
- operationId: postProfilePhoneNumber
- x-linode-cli-action: sms-code-send
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Enter a phone number and country code for verification.
- content:
- application/json:
- schema:
- required:
- - iso_code
- - phone_number
- type: object
- properties:
- iso_code:
- type: string
- description: The two-letter ISO 3166 country code associated with the phone number.
- example: US
- phone_number:
- type: string
- description: A valid phone number.
- format: phone
- example: 555-555-5555
- responses:
- '200':
- description: >
- Phone number verification code request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "iso_code": "US",
- "phone_number": "555-555-5555"
- }' \
- https://api.linode.com/v4/profile/phone-number
- - lang: CLI
- source: >
- linode-cli phone sms-code-send \
- --iso-code US \
- --phone-number 555-555-5555
- /profile/phone-number/verify:
- x-linode-cli-command: phone
- post:
- x-linode-grant: read_write
- tags:
- - Profile
- summary: Phone Number Verify
- description: |
- Verify a phone number by confirming the one-time code received via SMS message after accessing the **Phone Verification Code Send** ([POST /profile/phone-number](/docs/api/profile/#phone-number-verification-code-send)) command.
-
- * Verification codes are valid for 10 minutes after they are sent.
-
- * Only the same User that made the verification code request can use that code with this command.
-
- Once completed, the verified phone number is assigned to the User making the request. To change the verified phone number for a User, first use the **Phone Number Delete** ([DELETE /profile/phone-number](/docs/api/profile/#phone-number-delete)) command, then begin the verification process again with the **Phone Verification Code Send** ([POST /profile/phone-number](/docs/api/profile/#phone-number-verification-code-send)) command.
- operationId: postProfilePhoneNumberVerify
- x-linode-cli-action: verify
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Enter a phone verification code for confirmation.
- content:
- application/json:
- schema:
- required:
- - otp_code
- type: object
- properties:
- otp_code:
- type: string
- description: The one-time code received via SMS message after accessing the **Phone Verification Code Send** ([POST /profile/phone-number](/docs/api/profile/#phone-number-verification-code-send)) command.
- example: "US"
- responses:
- '200':
- description: >
- Phone number verification successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "otp_code": "123456"
- }' \
- https://api.linode.com/v4/profile/phone-number/verify
- - lang: CLI
- source: >
- linode-cli phone verify \
- --otp_code 123456
- /profile/preferences:
- x-linode-cli-command: profile
- get:
- x-linode-grant: read_only
- tags:
- - Profile
- summary: User Preferences View
- description: |
- View a list of user preferences tied to the OAuth client that generated
- the token making the request. The user preferences endpoints allow
- consumers of the API to store arbitrary JSON data, such as a user's font
- size preference or preferred display name. User preferences are available
- for each OAuth client registered to your account, and as such an account can
- have multiple user preferences.
- operationId: getUserPreferences
- x-linode-cli-action: preferences-view
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns an object of user preferences.
- content:
- application/json:
- schema:
- type: object
- description: A dictionary of user preferences.
- example: { "key1": "value1", "key2": "value2" }
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/profile/preferences
- put:
- tags:
- - Profile
- summary: User Preferences Update
- description: >
- Updates a user's preferences. These preferences are tied to the
- OAuth client that generated the token making the request. The user
- preferences endpoints allow consumers of the API to store arbitrary
- JSON data, such as a user's font size preference or preferred display
- name. An account may have multiple preferences. Preferences, and the
- pertaining request body, may contain any arbitrary JSON data that
- the user would like to store.
- operationId: updateUserPreferences
- x-linode-cli-action: preferences-update
- x-linode-cli-skip: true
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- The user preferences to update or store.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: |
- Arbitrary JSON of your choosing. Overwrites any existing preferences for this user.
-
- Total length cannot exceed 65,535 characters.
- maxLength: 65535
- responses:
- '200':
- description: Returns an object of user preferences.
- content:
- application/json:
- schema:
- type: object
- description: An object of user preferences.
- example: { "key1": "value1", "key2": "value2" }
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "key1": "value1",
- "key2": "value2"
- }' \
- https://api.linode.com/v4/profile/preferences
- /regions:
- x-linode-cli-command: regions
- get:
- tags:
- - Regions
- summary: Regions List
- description: |
- Lists the Regions available for Linode services. Not all services are guaranteed to be
- available in all Regions.
- x-linode-redoc-load-ids: true
- operationId: getRegions
- x-linode-cli-action:
- - list
- - ls
- responses:
- '200':
- description: Returns an array of Regions.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Region'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/regions
- - lang: CLI
- source: >
- linode-cli regions list
- /regions/{regionId}:
- x-linode-cli-command: regions
- parameters:
- - name: regionId
- in: path
- description: ID of the Region to look up.
- required: true
- schema:
- type: string
- get:
- tags:
- - Regions
- summary: Region View
- description: >
- Returns a single Region.
- operationId: getRegion
- x-linode-cli-action: view
- responses:
- '200':
- description: A single Region object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Region'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/regions/us-east
- - lang: CLI
- source: >
- linode-cli regions view us-east
- /regions/{regionId}/availability:
- x-linode-cli-command: regions
- parameters:
- - name: regionId
- in: path
- description: ID of the Region to look up.
- required: true
- schema:
- type: string
- get:
- tags:
- - Regions
- summary: Region Availability View
- description: >
- Returns availability data for a single Region.
- operationId: getRegionAvailability
- x-linode-cli-action: view-avail
- responses:
- '200':
- description: The availability data for a single Region.
- content:
- application/json:
- schema:
- type: array
- items:
- $ref: '#/components/schemas/RegionAvailability'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/regions/us-east/availability
- - lang: CLI
- source: >
- linode-cli regions view-avail us-east
- /regions/availability:
- x-linode-cli-command: regions
- get:
- tags:
- - Regions
- summary: Regions Availability List
- description: |
- Returns availability data for all Regions.
-
- Currently, this command returns availability of select premium and GPU plans for select regions.
- operationId: getRegionsAvailability
- x-linode-cli-action: list-avail
- responses:
- '200':
- description: Returns a Region Availability object.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/RegionAvailability'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/regions/availability
- - lang: CLI
- source: >
- linode-cli regions list-avail
- /support/tickets:
- x-linode-cli-command: tickets
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Support
- summary: Support Tickets List
- description: >
- Returns a collection of Support Tickets on your
- Account. Support Tickets can be both tickets you open with Linode
- for support, as well as tickets generated by Linode regarding
- your Account.
-
- This collection includes all Support Tickets generated on your Account,
- with open tickets returned first.
- operationId: getTickets
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of SupportTicket objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/SupportTicket'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/support/tickets
- - lang: CLI
- source: >
- linode-cli tickets list
- post:
- x-linode-grant: read_write
- tags:
- - Support
- summary: Support Ticket Open
- description: >
- Open a Support Ticket.
-
- Only one of the ID attributes (`linode_id`, `domain_id`, etc.) can be set
- on a single Support Ticket.
- operationId: createTicket
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Open a Support Ticket.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SupportTicketRequest'
- responses:
- '200':
- description: Support Ticket opened.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SupportTicket'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "description": "I'm having trouble setting the root password on my Linode. I tried following the instructions but something is not working and I'm not sure what I'm doing wrong. Can you please help me figure out how I can reset it?",
- "linode_id": 123,
- "summary": "Having trouble resetting root password on my Linode"
- }' \
- https://api.linode.com/v4/support/tickets
- - lang: CLI
- source: >
- linode-cli tickets create \
- --description "I'm having trouble setting the root password on my Linode. I tried following the instructions but something is not working and I'm not sure what I'm doing wrong. Can you please help me figure out how I can reset it?" \
- --linode_id 123 \
- --summary "Having trouble resetting root password on my Linode"
- /support/tickets/{ticketId}:
- parameters:
- - name: ticketId
- in: path
- description: The ID of the Support Ticket.
- required: true
- schema:
- type: integer
- x-linode-cli-command: tickets
- get:
- x-linode-grant: read_only
- tags:
- - Support
- summary: Support Ticket View
- description: >
- Returns a Support Ticket under your Account.
- operationId: getTicket
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a single SupportTicket object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SupportTicket'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/support/tickets/11223344
- - lang: CLI
- source: >
- linode-cli tickets view 11223344
- /support/tickets/{ticketId}/attachments:
- parameters:
- - name: ticketId
- in: path
- description: The ID of the Support Ticket.
- required: true
- schema:
- type: integer
- x-linode-cli-command: tickets
- post:
- x-linode-grant: read_write
- tags:
- - Support
- summary: Support Ticket Attachment Create
- description: |
- Adds a file attachment to an existing Support
- Ticket on your Account. File attachments are used to assist our
- Support team in resolving your Ticket. Examples of attachments
- are screen shots and text files that provide additional information.
-
- The file attachment is submitted in the request as multipart/form-data.
-
- **Note**: Accepted file extensions include: .gif, .jpg, .jpeg, .pjpg,
- .pjpeg, .tif, .tiff, .png, .pdf, or .txt.
- operationId: createTicketAttachment
- x-linode-cli-skip: true
- x-linode-cli-action: upload-attachment
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Add an attachment.
- required: true
- content:
- multipart/form-data:
- schema:
- required:
- - file
- properties:
- file:
- type: string
- description: >
- The local, absolute path to the file you want to attach to
- your Support Ticket.
- example: '/Users/LinodeGuy/pictures/screen_shot.jpg'
- responses:
- '200':
- description: Attachment created.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- -F 'file=@/Users/LinodeGuy/pictures/screen_shot.jpg' \
- https://api.linode.com/v4/support/tickets/11223344/attachments
- /support/tickets/{ticketId}/close:
- parameters:
- - name: ticketId
- in: path
- description: The ID of the Support Ticket.
- required: true
- schema:
- type: integer
- x-linode-cli-command: tickets
- post:
- x-linode-grant: read_write
- tags:
- - Support
- summary: Support Ticket Close
- description: >
- Closes a Support Ticket you have access to modify.
- operationId: closeTicket
- x-linode-cli-action: close
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Support Ticket closed successfully.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/support/tickets/11223344/close
- - lang: CLI
- source: >
- linode-cli tickets close 11223344
- /support/tickets/{ticketId}/replies:
- parameters:
- - name: ticketId
- in: path
- description: The ID of the Support Ticket.
- required: true
- schema:
- type: integer
- x-linode-cli-command: tickets
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Support
- summary: Replies List
- description: >
- Returns a collection of replies to a Support Ticket on
- your Account.
- operationId: getTicketReplies
- x-linode-cli-action: replies
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: Returns a paginated list of SupportTicketReply objects.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/SupportTicketReply'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/support/tickets/11223344/replies
- - lang: CLI
- source: >
- linode-cli tickets replies 11223344
- post:
- x-linode-grant: read_write
- tags:
- - Support
- summary: Reply Create
- description: >
- Adds a reply to an existing Support Ticket.
- operationId: createTicketReply
- x-linode-cli-action: reply
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: Add a reply.
- required: true
- content:
- application/json:
- schema:
- required:
- - description
- properties:
- description:
- type: string
- description: >
- The content of your reply.
- minLength: 1
- maxLength: 65535
- example: >
- Thank you for your help. I was able to figure out what the
- problem was and I successfully reset my password. You guys are
- the best!
- responses:
- '200':
- description: Reply created.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/SupportTicketReply'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "description": "Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!"
- }' \
- https://api.linode.com/v4/support/tickets/11223344/replies
- - lang: CLI
- source: >
- linode-cli tickets reply 11223344 \
- --description "Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!"
- /tags:
- x-linode-cli-command: tags
- get:
- x-linode-grant: unrestricted only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Tags
- summary: Tags List
- description: |
- Tags are User-defined labels attached to objects in your Account, such as Linodes. They are used for specifying and grouping attributes of objects that are relevant to the User.
-
- This endpoint returns a paginated list of Tags on your account.
-
- **Important**: You must be an unrestricted User in order to access, add, or modify
- Tags information.
- operationId: getTags
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: A paginated list of Tags
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Tag'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/tags
- post:
- x-linode-grant: unrestricted only
- tags:
- - Tags
- summary: New Tag Create
- description: |
- Creates a new Tag and optionally tags requested objects with it immediately.
-
- **Important**: You must be an unrestricted User in order to access, add, or modify
- Tags information.
- operationId: createTag
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- requestBody:
- description: >
- The tag to create, and optionally the objects to tag.
- content:
- application/json:
- schema:
- type: object
- required:
- - label
- properties:
- label:
- type: string
- description: >
- The new Tag.
- minLength: 3
- maxLength: 50
- example: example tag
- linodes:
- type: array
- items:
- type: integer
- description: >
- A list of Linode IDs to apply the new Tag to. You must be
- allowed to `read_write` all of the requested Linodes, or the
- Tag will not be created and an error will be returned.
- example:
- - 123
- - 456
- domains:
- type: array
- items:
- type: integer
- description: >
- A list of Domain IDs to apply the new Tag to. You must be
- allowed to `read_write` all of the requested Domains, or the
- Tag will not be created and an error will be returned.
- example:
- - 564
- - 565
- volumes:
- type: array
- items:
- type: integer
- description: >
- A list of Volume IDs to apply the new Tag to. You must be
- allowed to `read_write` all of the requested Volumes, or the
- Tag will not be created and an error will be returned.
- example:
- - 9082
- - 10003
- nodebalancers:
- type: array
- items:
- type: integer
- description: >
- A list of NodeBalancer IDs to apply the new Tag to. You must
- be allowed to `read_write` all of the requested NodeBalancers,
- or the Tag will not be created and an error will be returned.
- example:
- - 10301
- - 10501
- responses:
- '200':
- description: The new Tag.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Tag'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "example tag",
- "linodes": [123,456],
- "volumes": [9082,10003]
- }' \
- https://api.linode.com/v4/tags
- - lang: CLI
- source: >
- linode-cli tags create \
- --label 'example tag' \
- --linodes 123 \
- --linodes 456 \
- --volumes 9082 \
- --volumes 10003
- /tags/{tagLabel}:
- x-linode-cli-command: tags
- parameters:
- - name: tagLabel
- in: path
- schema:
- type: string
- description: The `label` of the Tag to access.
- required: true
- get:
- summary: Tagged Objects List
- description: |
- Returns a paginated list of all objects you've tagged with the requested Tag. This is a mixed collection of all object types.
-
- **Important**: You must be an unrestricted User in order to access, add, or modify
- Tags information.
- tags:
- - Tags
- operationId: getTaggedObjects
- x-linode-cli-command: view
- x-linode-cli-skip: true
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_only
- responses:
- '200':
- description: >
- A paginated list of objects, organized by type, that have been
- tagged with the requested Tag.
- content:
- application/json:
- schema:
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- type:
- type: string
- example: 'linode'
- data:
- oneOf:
- - x-linode-ref-name: "linode"
- $ref: '#/components/schemas/Linode'
- - x-linode-ref-name: "domain"
- $ref: '#/components/schemas/Domain'
- - x-linode-ref-name: "volume"
- $ref: '#/components/schemas/Volume'
- - x-linode-ref-name: "nodeBalancer"
- $ref: '#/components/schemas/NodeBalancer'
- discriminator:
- propertyName: type
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/tags/$tagLabel
- delete:
- summary: Tag Delete
- description: >
- Remove a Tag from all objects and delete it.
-
-
- **Important**: You must be an unrestricted User in order to access, add, or modify
- Tags information.
- tags:
- - Tags
- operationId: deleteTag
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - account:read_write
- responses:
- '200':
- description: Tag deleted.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- /volumes:
- x-linode-cli-command: volumes
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- summary: Volumes List
- description: >
- Returns a paginated list of Volumes you have permission to view.
- tags:
- - Volumes
- operationId: getVolumes
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_only
- responses:
- '200':
- description: Returns an array of all Volumes on your Account.
- content:
- application/json:
- schema:
- type: object
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Volume'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/volumes
- - lang: CLI
- source: >
- linode-cli volumes list
- post:
- x-linode-charge: true
- x-linode-grant: add_volumes
- summary: Volume Create
- description: >
- Creates a Volume on your Account. In order
- for this to complete successfully, your User must have the `add_volumes`
- grant. Creating a new Volume will start accruing additional charges
- on your account.
- tags:
- - Volumes
- operationId: createVolume
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- requestBody:
- description: The requested initial state of a new Volume.
- required: true
- x-linode-cli-allowed-defaults:
- - region
- content:
- application/json:
- schema:
- type: object
- required:
- - label
- properties:
- region:
- type: string
- description: >
- The Region to deploy this Volume in. This is only required
- if a linode_id is not given.
- example: null
- linode_id:
- type: integer
- description: >
- The Linode this volume should be attached to upon creation.
- If not given, the volume will be created without an attachment.
- example: 123
- size:
- type: integer
- description: >
- The initial size of this volume, in GB. Be aware that volumes
- may only be resized up after creation.
- example: 20
- default: 20
- label:
- type: string
- description: >
- The Volume's label, which is also used in the
- `filesystem_path` of the resulting volume.
- example: my-volume
- minLength: 1
- maxLength: 32
- pattern: '^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$'
- config_id:
- type: integer
- description: >
- When creating a Volume attached to a Linode, the ID of the
- Linode Config to include the new Volume in. This Config
- must belong to the Linode referenced by `linode_id`. Must
- _not_ be provided if `linode_id` is not sent. If a
- `linode_id` is sent without a `config_id`, the volume will be
- attached:
-
- * to the Linode's only config if it only has one config.
- * to the Linode's last used config, if possible.
-
- If no config can be selected for attachment, an error will be
- returned.
- example: 23456
- tags:
- x-linode-filterable: true
- description: >
- An array of Tags applied to this object. Tags are for organizational
- purposes only.
- type: array
- items:
- type: string
- example:
- - example tag
- - another example
- responses:
- '200':
- description: >
- Creating Volume.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Volume'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "my-volume",
- "size": 20,
- "linode_id": 12346
- }' \
- https://api.linode.com/v4/volumes
- - lang: CLI
- source: >
- linode-cli volumes create \
- --label my-volume \
- --size 20 \
- --linode_id 12346 \
- --no-defaults
- /volumes/{volumeId}:
- parameters:
- - name: volumeId
- in: path
- description: ID of the Volume to look up.
- required: true
- schema:
- type: integer
- x-linode-cli-command: volumes
- get:
- x-linode-grant: read_only
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - Volumes
- summary: Volume View
- description: >
- Get information about a single Volume.
- operationId: getVolume
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_only
- responses:
- '200':
- description: Returns a single Volume object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Volume'
- links:
- attach:
- $ref: '#/components/links/attachVolume'
- clone:
- $ref: '#/components/links/cloneVolume'
- detach:
- $ref: '#/components/links/detachVolume'
- resize:
- $ref: '#/components/links/resizeVolume'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/volumes/12345
- - lang: CLI
- source: >
- linode-cli volumes view 12345
- put:
- x-linode-grant: read_write
- tags:
- - Volumes
- summary: Volume Update
- description: >
- Updates a Volume that you have permission to `read_write`.
- operationId: updateVolume
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- requestBody:
- description: >
- If any updated field fails to pass validation, the Volume will not be
- updated.
- required: true
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/Volume'
- - type: object
- properties:
- size:
- readOnly: true
- linode_id:
- readOnly: true
- responses:
- '200':
- description: The updated Volume.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Volume'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X PUT -d '{
- "label": "my-volume"
- }' \
- https://api.linode.com/v4/volumes/12345
- - lang: CLI
- source: >
- linode-cli volumes update 12345 \
- --label my_volume
- delete:
- x-linode-grant: read_write
- tags:
- - Volumes
- summary: Volume Delete
- description: |
- Deletes a Volume you have permission to `read_write`.
-
- * **Deleting a Volume is a destructive action and cannot be undone.**
-
- * Deleting stops billing for the Volume. You will be billed for time used within
- the billing period the Volume was active.
-
- * Volumes that are migrating cannot be deleted until the migration is finished.
- operationId: deleteVolume
- x-linode-cli-action:
- - delete
- - rm
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- responses:
- '200':
- description: Volume deletion successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE \
- https://api.linode.com/v4/volumes/12345
- - lang: CLI
- source: >
- linode-cli volumes delete 12345
- /volumes/{volumeId}/attach:
- parameters:
- - name: volumeId
- in: path
- description: ID of the Volume to attach.
- required: true
- schema:
- type: integer
- x-linode-cli-command: volumes
- post:
- summary: Volume Attach
- description: >
- Attaches a Volume on your Account
- to an existing Linode on your Account. In order for this request to
- complete successfully, your User must have `read_write`
- permission to the Volume and `read_write` permission to the Linode.
- Additionally, the Volume and Linode must be located in the same Region.
- tags:
- - Volumes
- operationId: attachVolume
- x-linode-cli-action: attach
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- - linodes:read_write
- requestBody:
- description: Volume to attach to a Linode.
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - linode_id
- properties:
- linode_id:
- type: integer
- description: The ID of the Linode to attach the volume to.
- config_id:
- type: integer
- description: >
- The ID of the Linode Config to include this Volume in. Must
- belong to the Linode referenced by `linode_id`. If not given,
- the last booted Config will be chosen.
- example: 23456
- persist_across_boots:
- type: boolean
- description: >
- Defaults to true, if false is provided, the Volume will
- not be attached to the Linode Config. In this case more than
- 8 Volumes may be attached to a Linode if a Linode has
- 16GB of RAM or more. The number of volumes that can be
- attached is equal to the number of GB of RAM that the
- Linode has, up to a maximum of 64. `config_id` should not
- be passed if this is set to false and linode_id must be
- passed. The Linode must be running.
-
- responses:
- '200':
- description: Volume was attached to a Linode.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Volume'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "linode_id": 12346,
- "config_id": 23456
- }' \
- https://api.linode.com/v4/volumes/12345/attach
- - lang: CLI
- source: >
- linode-cli volumes attach 12345 \
- --linode_id 12346 \
- --config_id 23456
- /volumes/{volumeId}/clone:
- parameters:
- - name: volumeId
- in: path
- description: ID of the Volume to clone.
- required: true
- schema:
- type: integer
- x-linode-cli-command: volumes
- post:
- x-linode-charge: true
- x-linode-grant: add_volumes
- summary: Volume Clone
- description: >
- Creates a Volume on your Account. In
- order for this request to complete successfully, your User must have the
- `add_volumes` grant. The new Volume will have the same size and data as
- the source Volume. Creating a new Volume will incur a charge on your
- Account.
-
- * Only Volumes with a `status` of "active" can be cloned.
- tags:
- - Volumes
- operationId: cloneVolume
- x-linode-cli-action: clone
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- requestBody:
- description: The requested state your Volume will be cloned into.
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - label
- properties:
- label:
- $ref: '#/components/schemas/Volume/properties/label'
- responses:
- '200':
- description: Clone started.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Volume'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "label": "my-volume"
- }' \
- https://api.linode.com/v4/volumes/12345/clone
- - lang: CLI
- source: >
- linode-cli volumes clone 12345 \
- --label my-volume
- /volumes/{volumeId}/detach:
- parameters:
- - name: volumeId
- in: path
- description: ID of the Volume to detach.
- required: true
- schema:
- type: integer
- x-linode-cli-command: volumes
- post:
- summary: Volume Detach
- description: |
- Detaches a Volume on your Account from a Linode on your Account. In order for this request to complete successfully, your User must have `read_write` access to the Volume and `read_write` access to the Linode.
-
- Volumes are automatically detached from deleted Linodes.
- tags:
- - Volumes
- operationId: detachVolume
- x-linode-cli-action: detach
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- - linodes:read_write
- responses:
- '200':
- description: Volume was detached from a Linode.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST \
- https://api.linode.com/v4/volumes/12345/detach
- - lang: CLI
- source: >
- linode-cli volumes detach 12345
- /volumes/{volumeId}/resize:
- parameters:
- - name: volumeId
- in: path
- description: ID of the Volume to resize.
- required: true
- schema:
- type: integer
- x-linode-cli-command: volumes
- post:
- x-linode-charge: true
- summary: Volume Resize
- description: >
- Resize an existing Volume on your Account. In
- order for this request to complete successfully, your User must have the
- `read_write` permissions to the Volume.
-
- * Volumes can only be resized up.
-
- * Only Volumes with a `status` of "active" can be resized.
- tags:
- - Volumes
- operationId: resizeVolume
- x-linode-cli-action: resize
- security:
- - personalAccessToken: []
- - oauth:
- - volumes:read_write
- requestBody:
- description: The requested size to increase your Volume to.
- required: true
- content:
- application/json:
- schema:
- type: object
- required:
- - size
- properties:
- size:
- $ref: '#/components/schemas/Volume/properties/size'
- responses:
- '200':
- description: Volume resize started.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Volume'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Content-Type: application/json" \
- -H "Authorization: Bearer $TOKEN" \
- -X POST -d '{
- "size": 30
- }' \
- https://api.linode.com/v4/volumes/12345/resize
- - lang: CLI
- source: >
- linode-cli volumes resize 12345 \
- --size 30
- /vpcs:
- x-linode-cli-command: vpcs
- get:
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- tags:
- - VPCs
- summary: VPCs List
- servers:
- - url: https://api.linode.com/v4
- description: |
- Display all VPCs on your account.
- operationId: getVPCs
- x-linode-cli-action:
- - list
- - ls
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: A paginated list of VPC objects.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/VPC'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli vpcs list
- post:
- x-linode-grant: add_vpcs
- tags:
- - VPCs
- summary: VPC Create
- servers:
- - url: https://api.linode.com/v4
- description: |
- Create a new VPC and optionally associated VPC Subnets.
- * Users must have the `add_vpc` grant to access this command.
- * A successful request triggers a `vpc_create` event and `subnet_create` events for any created VPC Subnets.
-
- Once a VPC is created, it can be attached to a Linode by assigning a VPC Subnet to one of the Linode's Configuration Profile Interfaces. This step can be accomplished with the following commands:
- * Linode Create ([POST /linode/instances](/docs/api/linode-instances/#linode-create))
- * Configuration Profile Create ([POST /linode/instances/{linodeId}/configs](/docs/api/linode-instances/#configuration-profile-create))
- * Configuration Profile Update ([PUT /linode/instances/{linodeId}/configs/{configId}](/docs/api/linode-instances/#configuration-profile-update))
- * Configuration Profile Interface Add ([POST /linode/instances/{linodeId}/configs/{configId}/interfaces](/docs/api/linode-instances/#configuration-profile-interface-add))
- operationId: createVPC
- x-linode-cli-action: create
- security:
- - personalAccessToken: []
- - oauth:
- - vpc:read_write
- requestBody:
- description: |
- VPC Create request object.
- required: true
- content:
- application/json:
- schema:
- allOf:
- - required:
- - label
- - region
- - properties:
- subnets:
- required:
- - ipv4
- - label
- - $ref: '#/components/schemas/VPC'
- responses:
- '200':
- description: The new VPC.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VPC'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "description": "A description of my VPC.",
- "label": "cool-vpc",
- "region": "us-east",
- "subnets": [
- {
- "label": "cool-vpc-subnet",
- "ipv4": "10.0.1.0/24"
- }
- ]
- }'
- - lang: CLI
- source: >
- linode-cli vpcs create \
- --description "A description of my VPC." \
- --label cool-vpc \
- --region us-east \
- --subnets.label cool-vpc-subnet \
- --subnets.ipv4 10.0.1.0/24
- /vpcs/{vpcId}:
- x-linode-cli-command: vpcs
- parameters:
- - $ref: '#/components/parameters/vpcId'
- delete:
- x-linode-grant: read_write
- summary: VPC Delete
- servers:
- - url: https://api.linode.com/v4
- description: |
- Delete a single VPC and all of its Subnets.
- * The User accessing this command must have `read_write` grants to the VPC.
- * A successful request triggers a `vpc_delete` event and `subnet_delete` events for each deleted VPC Subnet.
- * All of the VPC's Subnets must be eligible for deletion. Accordingly, all Configuration Profile Interfaces that each Subnet is assigned to must first be deleted. If those Interfaces are active, the associated Linodes must first be shut down before they can be removed. If any Subnet cannot be deleted, then neither the VPC nor any of its Subnets are deleted.
- tags:
- - VPCs
- operationId: deleteVPC
- x-linode-cli-action: delete
- security:
- - personalAccessToken: []
- - oauth:
- - vpc:read_write
- responses:
- '200':
- description: Delete request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE
- - lang: CLI
- source: >
- linode-cli vpcs delete $vpcId
- get:
- summary: VPC View
- servers:
- - url: https://api.linode.com/v4
- description: |
- Get information about a single VPC.
- tags:
- - VPCs
- operationId: getVPC
- x-linode-cli-action: view
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: A VPC object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VPC'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli vpcs view $vpcId
- put:
- x-linode-grant: read_write
- tags:
- - VPCs
- summary: VPC Update
- servers:
- - url: https://api.linode.com/v4
- description: |
- Update an existing VPC.
- * The User accessing this command must have `read_write` grants to the VPC.
- * A successful request triggers a `vpc_update` event.
-
- To update a VPC's Subnet, use the [VPC Subnet Update](#vpc-subnet-update) command.
- operationId: updateVPC
- x-linode-cli-action: update
- security:
- - personalAccessToken: []
- - oauth:
- - vpc:read_write
- requestBody:
- description: |
- VPC Update request object.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: A VPC Update request object.
- properties:
- description:
- $ref: '#/components/schemas/VPC/properties/description'
- label:
- $ref: '#/components/schemas/VPC/properties/label'
- responses:
- '200':
- description: The updated VPC.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VPC'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X PUT -d '{
- "description": "A description of my VPC.",
- "label": "cool-vpc"
- }'
- - lang: CLI
- source: >
- linode-cli vpcs update $vpcId \
- --description "A description of my VPC."
- --label cool-vpc
- /vpcs/ips:
- get:
- x-linode-grant: read_only
- tags:
- - VPCs
- summary: VPC IP Addresses List
- servers:
- - url: https://api.linode.com/v4
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- Returns a paginated list of all VPC IP addresses and address ranges on your account.
-
- **Note**: If a Linode has several configuration profiles that include a VPC interface, address information for all of them is listed in the response. Since VPCs can use the same address space, you may see duplicate IP addresses.
- operationId: getAllVPCIPs
- x-linode-cli-action:
- - ip-list
- - ip-ls
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_only
- responses:
- '200':
- description: A paginated list of VPC interface IP addresses.
- content:
- application/json:
- schema:
- properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/IPAddressesVPC'
- page:
- $ref: '#/components/schemas/PaginationEnvelope/properties/page'
- pages:
- $ref: '#/components/schemas/PaginationEnvelope/properties/pages'
- results:
- $ref: '#/components/schemas/PaginationEnvelope/properties/results'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/networking/vpcs/ips
- - lang: CLI
- source: >
- linode-cli vpcs ip list
- /vpcs/{vpcId}/ips:
- parameters:
- - $ref: '#/components/parameters/vpcId'
- get:
- tags:
- - VPCs
- summary: VPC IP Addresses View
- servers:
- - url: https://api.linode.com/v4
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- Returns a paginated list of IP addresses for a single VPC.
- operationId: getVPCIPs
- x-linode-cli-action:
- - ip-list
- - ip-ls
- security:
- - personalAccessToken: []
- - oauth:
- - ips:read_only
- responses:
- '200':
- description: The IP addresses for the requested VPC.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/IPAddressesVPC'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl -H "Authorization: Bearer $TOKEN" \
- https://api.linode.com/v4/vpcs/123/ips
- - lang: CLI
- source: >
- linode-cli vpcs ip-list 123
- /vpcs/{vpcId}/subnets:
- x-linode-cli-command: vpcs
- parameters:
- - $ref: '#/components/parameters/vpcId'
- get:
- tags:
- - VPCs
- summary: VPC Subnets List
- servers:
- - url: https://api.linode.com/v4
- parameters:
- - $ref: '#/components/parameters/pageOffset'
- - $ref: '#/components/parameters/pageSize'
- description: |
- Get information about all VPC Subnets associated with a VPC.
- operationId: getVPCSubnets
- x-linode-cli-action:
- - subnets-list
- - subnets-ls
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: A paginated list of VPC Subnet objects.
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/VPCSubnet'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId/subnets \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli vpcs subnets-list $vpcId
- post:
- x-linode-grant: read_write
- tags:
- - VPCs
- summary: VPC Subnet Create
- servers:
- - url: https://api.linode.com/v4
- description: |
- Create a VPC Subnet.
- * The User accessing this command must have `read_write` grants to the VPC.
- * A successful request triggers a `subnet_create` event.
-
- Once a VPC Subnet is created, it can be attached to a Linode by assigning the Subnet to one of the Linode's Configuration Profile Interfaces. This step can be accomplished with the following commands:
- * Linode Create ([POST /linode/instances](/docs/api/linode-instances/#linode-create))
- * Configuration Profile Create ([POST /linode/instances/{linodeId}/configs](/docs/api/linode-instances/#configuration-profile-create))
- * Configuration Profile Update ([PUT /linode/instances/{linodeId}/configs/{configId}](/docs/api/linode-instances/#configuration-profile-update))
- * Configuration Profile Interface Add ([POST /linode/instances/{linodeId}/configs/{configId}/interfaces](/docs/api/linode-instances/#configuration-profile-interface-add))
- operationId: createVPCSubnet
- x-linode-cli-action: subnet-create
- security:
- - personalAccessToken: []
- - oauth:
- - vpc:read_write
- requestBody:
- description: |
- VPC Subnet Create request object.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: VPC Subnet Create request object
- required:
- - ipv4
- - label
- properties:
- label:
- $ref: '#/components/schemas/VPCSubnet/properties/label'
- ipv4:
- $ref: '#/components/schemas/VPCSubnet/properties/ipv4'
- # ipv6:
- # $ref: '#/components/schemas/VPCSubnet/properties/ipv6'
- responses:
- '200':
- description: The new VPC Subnet.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VPCSubnet'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId/subnets \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X POST -d '{
- "label": "cool-vpc-subnet",
- "ipv4": "10.0.1.0/24",
- }'
- - lang: CLI
- source: >
- linode-cli vpcs subnet-create $vpcId \
- --label cool-vpc-subnet \
- --ipv4 10.0.1.0/24
- /vpcs/{vpcId}/subnets/{vpcSubnetId}:
- x-linode-cli-command: vpcs
- parameters:
- - $ref: '#/components/parameters/vpcId'
- - $ref: '#/components/parameters/vpcSubnetId'
- delete:
- x-linode-grant: read_write
- summary: VPC Subnet Delete
- servers:
- - url: https://api.linode.com/v4
- description: |
- Delete a single VPC Subnet.
-
- The user accessing this command must have `read_write` grants to the VPC. A successful request triggers a `subnet_delete` event.
-
- **Note:** You need to delete all the Configuration Profile Interfaces that this Subnet is assigned to before you can delete it. If those Interfaces are active, the associated Linode needs to be shut down before they can be removed.
- tags:
- - VPCs
- operationId: deleteVPCSubnet
- x-linode-cli-action: subnet-delete
- security:
- - personalAccessToken: []
- - oauth:
- - vpc:read_write
- responses:
- '200':
- description: Delete request successful.
- content:
- application/json:
- schema:
- type: object
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId/subnets/$vpcSubnetId \
- -H "Authorization: Bearer $TOKEN" \
- -X DELETE
- - lang: CLI
- source: >
- linode-cli vpcs subnet-delete $vpcId $vpcSubnetId
- get:
- summary: VPC Subnet View
- servers:
- - url: https://api.linode.com/v4
- description: |
- Get information about a single VPC Subnet.
- tags:
- - VPCs
- operationId: getVPCSubnet
- x-linode-cli-action: subnet-view
- security:
- - personalAccessToken: []
- - oauth: []
- responses:
- '200':
- description: A VPC Subnet object.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VPCSubnet'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId/subnets/$vpcSubnetId \
- -H "Authorization: Bearer $TOKEN"
- - lang: CLI
- source: >
- linode-cli vpcs subnet-view $vpcId #vpcSubnetId
- put:
- x-linode-grant: read_write
- tags:
- - VPCs
- summary: VPC Subnet Update
- servers:
- - url: https://api.linode.com/v4
- description: |
- Update a VPC Subnet.
- * The User accessing this command must have `read_write` grants to the VPC.
- * A successful request triggers a `subnet_update` event.
- operationId: updateVPCSubnet
- x-linode-cli-action: subnet-update
- security:
- - personalAccessToken: []
- - oauth:
- - vpc:read_write
- requestBody:
- description: |
- VPC Update request object.
- required: true
- content:
- application/json:
- schema:
- type: object
- description: A VPC Subnet Update request object.
- properties:
- label:
- $ref: '#/components/schemas/VPCSubnet/properties/label'
- responses:
- '200':
- description: The updated VPC Subnet.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/VPCSubnet'
- default:
- $ref: '#/components/responses/ErrorResponse'
- x-code-samples:
- - lang: Shell
- source: >
- curl https://api.linode.com/v4/vpcs/$vpcId/subnets/$vpcSubnetId \
- -H "Authorization: Bearer $TOKEN" \
- -H "Content-Type: application/json" \
- -X PUT -d '{
- "label": "cool-vpc-subnet"
- }'
- - lang: CLI
- source: >
- linode-cli vpcs subnet-update $vpcId \
- --label cool-vpc-subnet
-components:
- securitySchemes:
- personalAccessToken:
- type: http
- scheme: bearer
- oauth:
- type: oauth2
- flows:
- authorizationCode:
- authorizationUrl: 'https://login.linode.com/oauth/authorize'
- tokenUrl: 'https://login.linode.com/oauth/token'
- scopes:
- 'account:read_only': Allows access to GET information about your Account.
- 'account:read_write': Allows access to all endpoints related to your Account.
- 'domains:read_only': Allows access to GET Domains on your Account.
- 'domains:read_write': Allows access to all Domain endpoints.
- 'events:read_only': Allows access to GET your Events.
- 'events:read_write': Allows access to all endpoints related to your Events.
- 'firewall:read_only': Allows access to GET information about your Firewalls.
- 'firewall:read_write': Allows acces to all Firewall endpoints.
- 'images:read_only': Allows access to GET your Images.
- 'images:read_write': Allows access to all endpoints related to your Images.
- 'ips:read_only': Allows access to GET your ips.
- 'ips:read_write': Allows access to all endpoints related to your ips.
- 'linodes:read_only': Allows access to GET Linodes on your Account.
- 'linodes:read_write': Allow access to all endpoints related to your Linodes.
- 'lke:read_only': Allows access to GET LKE Clusters on your Account.
- 'lke:read_write': Allows access to all endpoints related to LKE Clusters on your Account.
- 'longview:read_only': Allows access to GET your Longview Clients.
- 'longview:read_write': Allows access to all endpoints related to your Longview Clients.
- 'nodebalancers:read_only': Allows access to GET NodeBalancers on your Account.
- 'nodebalancers:read_write': Allows access to all NodeBalancer endpoints.
- 'object_storage:read_only': Allows access to GET information related to your Object Storage.
- 'object_storage:read_write': Allows access to all Object Storage endpoints.
- 'stackscripts:read_only': Allows access to GET your StackScripts.
- 'stackscripts:read_write': Allows access to all endpoints related to your StackScripts.
- 'volumes:read_only': Allows access to GET your Volumes.
- 'volumes:read_write': Allows access to all endpoints related to your Volumes.
- 'vpc:read_write': Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion.
- responses:
- AcceptedResponse:
- description: |
- Accepted with warning.
-
- A warnings array is included with the standard 200 response body.
- content:
- application/json:
- schema:
- type: object
- properties:
- warnings:
- type: array
- items:
- $ref: '#/components/schemas/WarningObject'
- DeprecatedResponse:
- description: |
- Request successful. This endpoint is deprecated and may be removed in a future release.
-
- A warnings array is included with the standard 200 response body.
- content:
- application/json:
- schema:
- type: object
- properties:
- warnings:
- type: array
- items:
- $ref: '#/components/schemas/WarningObject'
- ErrorResponse:
- description: Error
- content:
- application/json:
- schema:
- type: object
- properties:
- errors:
- type: array
- items:
- $ref: '#/components/schemas/ErrorObject'
- parameters:
- betaId:
- name: betaId
- in: path
- description: The ID of the Beta Program.
- required: true
- schema:
- type: string
- configId:
- name: configId
- in: path
- description: The `id` of the Configuration Profile.
- required: true
- schema:
- type: integer
- linodeId:
- name: linodeId
- in: path
- description: The `id` of the Linode.
- required: true
- schema:
- type: integer
- pageOffset:
- name: page
- in: query
- description: The page of a collection to return.
- required: false
- schema:
- type: integer
- minimum: 1
- default: 1
- pageSize:
- name: page_size
- in: query
- description: The number of items to return per page.
- schema:
- type: integer
- minimum: 25
- maximum: 500
- default: 100
- vpcId:
- name: vpcId
- in: path
- schema:
- type: integer
- required: true
- description: The `id` of the VPC.
- vpcSubnetId:
- name: vpcSubnetId
- in: path
- schema:
- type: integer
- required: true
- description: The `id` of the VPC Subnet.
- links:
- bootLinode:
- operationId: bootLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- rebootLinode:
- operationId: rebootLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- shutdownLinode:
- operationId: shutdownLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- updateLinode:
- operationId: updateLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- deleteLinode:
- operationId: deleteLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- rebuildLinode:
- operationId: rebuildLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- mutateLinode:
- operationId: mutateLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- resizeLinode:
- operationId: resizeLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- rescueLinode:
- operationId: rescueLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- cloneLinode:
- operationId: cloneLinodeInstance
- parameters:
- linodeId: '$request.body#/id'
- attachVolume:
- operationId: attachVolume
- parameters:
- volumeID: '$request.body#/id'
- cloneVolume:
- operationId: cloneVolume
- parameters:
- volumeId: '$request.body#/id'
- detachVolume:
- operationId: detachVolume
- parameters:
- volumeId: '$request.body#/id'
- resizeVolume:
- operationId: resizeVolume
- parameters:
- volumeId: '$request.body#/id'
- schemas:
- Account:
- type: object
- description: Account object
- properties:
- active_promotions:
- type: array
- readOnly: true
- items:
- $ref: '#/components/schemas/Promotion'
- active_since:
- type: string
- format: date-time
- description: The date and time the account was activated.
- example: '2018-01-01T00:01:01'
- readOnly: true
- address_1:
- type: string
- description: First line of this Account's billing address.
- maxLength: 64
- example: 123 Main Street
- address_2:
- type: string
- description: Second line of this Account's billing address.
- maxLength: 64
- example: Suite A
- balance:
- type: number
- readOnly: true
- description: This Account's balance, in US dollars.
- example: 200
- x-linode-cli-display: 4
- balance_uninvoiced:
- type: number
- readOnly: true
- description: >
- This Account's current estimated invoice in US dollars. This is not
- your final invoice balance. Transfer charges are not included in
- the estimate.
- example: 145
- x-linode-cli-display: 4
- billing_source:
- type: string
- readOnly: true
- enum:
- - akamai
- - linode
- description: >
- The source of service charges for this Account, as determined by its relationship with Akamai.
-
- Accounts that are associated with Akamai-specific customers return a value of `akamai`.
-
- All other Accounts return a value of `linode`.
- example: akamai
- capabilities:
- type: array
- items:
- type: string
- description: >
- A list of capabilities your account supports.
- example:
- - Linodes
- - NodeBalancers
- - Block Storage
- - Object Storage
+ description: "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details."
+ type: "boolean"
+ example: false
+ x-linode-filterable: true
+ label:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "Test_Client_1"
+ maxLength: 512
+ thumbnail_url:
readOnly: true
- city:
- type: string
- description: The city for this Account's billing address.
- maxLength: 24
- example: Philadelphia
- credit_card:
- type: object
+ example: "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
+ format: "url"
+ nullable: true
+ description: "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set."
+ type: "string"
+ status:
+ x-linode-cli-color:
+ suspended: "red"
+ default_: "white"
readOnly: true
- description: Credit Card information associated with this Account.
- properties:
- last_four:
- type: string
- description: >
- The last four digits of the credit card associated with this
- Account.
- example: 1111
- expiry:
- type: string
- description: The expiration month and year of the credit card.
- example: 11/2022
- company:
- type: string
- description: |
- The company name associated with this Account.
-
- Must not include any of the following characters: `<` `>` `(` `)` `"` `=`
- maxLength: 128
- example: Linode LLC
- country:
- type: string
- description: >
- The two-letter ISO 3166 country code of this Account's billing address.
- example: US
- email:
- type: string
- description: The email address of the person associated with this Account.
- maxLength: 128
- example: john.smith@linode.com
+ enum:
+ - "active"
+ - "disabled"
+ - "suspended"
+ example: "active"
x-linode-cli-display: 3
- first_name:
- type: string
- description: |
- The first name of the person associated with this Account.
-
- Must not include any of the following characters: `<` `>` `(` `)` `"` `=`
- maxLength: 50
- example: John
- x-linode-cli-display: 1
- last_name:
- type: string
- description: |
- The last name of the person associated with this Account.
-
- Must not include any of the following characters: `<` `>` `(` `)` `"` `=`
- maxLength: 50
- example: Smith
- x-linode-cli-display: 2
- phone:
- type: string
- description: The phone number associated with this Account.
+ description: "__Read-only__ The status of this application. `active` by default."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/oauth-client.yaml"
+ description: "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application."
+ type: "object"
+ added-post-promo-credit:
+ type: "object"
+ properties:
+ promo_code:
maxLength: 32
- example: 215-555-1212
- state:
- type: string
- description: >
- If billing address is in the United States (US) or Canada (CA), only the two-letter
- ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside
- the US or CA, this is the Province associated with the Account's billing
- address.
- maxLength: 24
- example: PA
- tax_id:
- type: string
- description: >
- The tax identification number associated with this Account,
- for tax calculations in some countries.
- If you do not live in a country that collects tax, this should be an empty string (`""`).
- maxLength: 25
- example: ATU99999999
- euuid:
- type: string
- description: >
- An external unique identifier for this account.
- format: uuid
+ minLength: 1
+ description: "The Promo Code."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/added-post-promo-credit.yaml"
+ required:
+ - "promo_code"
+ additionalProperties: false
+ proxy-user-token:
+ description: "The token generated manually for a child account so its proxy user can access the API and CLI without going through an OAuth login."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/proxy-user-token.yaml"
+ properties:
+ label:
+ example: "parent1_1234_2024-05-01T00:01:01"
+ maxLength: 100
+ x-linode-filterable: true
+ minLength: 1
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The name of the token. The API automatically sets this to `__`. It's composed of the `username` for your parent account user, the unique `uid` Akamai assigned to identify your user, and the `time` the API generated the token. This is for display purposes only, but you can use it to help track how you're using each proxy user token."
+ type: "string"
+ token:
+ type: "string"
+ description: "__Read-only__ The proxy user token that can be used to access the API and CLI. After you [create](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) a token, you can see the full token in the response. All other operations that contain this token only show the first 16 characters in their response."
+ x-linode-cli-display: 5
+ example: "abcdefghijklmnop"
readOnly: true
- example: E1AF5EEC-526F-487D-B317EBEB34C87D71
- zip:
- type: string
- description: |
- The zip code of this Account's billing address. The following restrictions apply:
-
- - Can only contain ASCII letters, numbers, and hyphens (`-`).
- - Must not contain more than 9 letter or number characters.
- example: 19102-1234
- AccountAvailability:
- type: object
- description: Account Service Availability object
- properties:
- region:
- type: string
+ id:
readOnly: true
- description: >
- The Akamai cloud computing data center (region), represented by a slug value. You can view a full list of regions and their associated slugs via the [GET /regions](/docs/api/regions/#regions-list) endpoint.
- example: us-east
+ example: 918
x-linode-cli-display: 1
- available:
- type: array
- items:
- type: string
+ description: "__Read-only__ The proxy user token's unique ID, which can be used to revoke it."
+ type: "integer"
+ scopes:
+ description: "__Read-only__ The scopes this token was created with. Defaults to `*`. Proxy user tokens automatically inherit all the permissions of the proxy user."
+ type: "string"
+ x-linode-cli-display: 3
+ format: "oauth-scopes"
+ example: "*"
readOnly: true
- description: |
- A list of services *available* to your account in the `region`.
- example:
- - "Linodes"
- - "NodeBalancers"
- unavailable:
- type: array
- items:
- type: string
+ created:
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The date and time this token was created."
+ type: "string"
readOnly: true
- description: >
- A list of services *unavailable* to your account in the `region`.
- example:
- - "Kubernetes"
- - "Block Storage"
- x-linode-cli-display: 3
- AccountSettings:
- type: object
- description: Account Settings object
- properties:
- managed:
- type: boolean
+ example: "2024-05-01T00:01:01"
+ x-linode-filterable: true
+ expiry:
+ x-linode-cli-display: 6
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this token expires. This is default set to 15 minutes from the time of creation. Proxy user tokens can't be renewed. After this time, Akamai revokes the token and you need to generate a new one."
readOnly: true
- description: >
- Our 24/7 incident response service. This robust, multi-homed
- monitoring system distributes monitoring checks to ensure that your
- servers remain online and available at all times. Linode Managed can
- monitor any service or software stack reachable over TCP or HTTP.
- Once you add a service to Linode Managed, we'll monitor it for
- connectivity, response, and total request time.
+ example: "2024-05-01T00:16:01"
+ additionalProperties: false
+ entity-transfer:
+ properties:
+ status:
+ x-linode-cli-color:
+ pending: "yellow"
+ stale: "red"
+ failed: "red"
+ accepted: "yellow"
+ completed: "green"
+ canceled: "red"
+ default_: "white"
+ x-linode-filterable: true
+ example: "pending"
+ enum:
+ - "accepted"
+ - "canceled"
+ - "completed"
+ - "failed"
+ - "pending"
+ - "stale"
+ description: "__Filterable__ The status of the transfer request:\n\n`accepted`: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.\n`canceled`: The transfer has been canceled by the sender.\n`completed`: The transfer has completed successfully.\n`failed`: The transfer has failed after initiation.\n`pending`: The transfer is ready to be accepted.\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or canceled."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ updated:
+ example: "2021-02-11T16:37:03"
+ description: "When this transfer was last updated."
+ type: "string"
+ format: "date-time"
+ is_sender:
+ x-linode-filterable: true
example: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ type: "boolean"
+ description: "__Filterable__ If the requesting account created this transfer."
+ expiry:
+ example: "2021-02-12T16:37:03"
x-linode-cli-display: 3
- longview_subscription:
- type: string
- readOnly: true
- description: >
- The Longview Pro tier you are currently subscribed to. The value must be
- a [Longview Subscription](/docs/api/longview/#longview-subscriptions-list)
- ID or `null` for Longview Free.
- example: longview-3
- x-linode-cli-display: 2
- network_helper:
- type: boolean
- description: >
- Enables network helper across all users by default for
- new Linodes and Linode Configs.
- example: false
+ format: "date-time"
+ description: "When this transfer expires. Transfers will automatically expire 24 hours after creation."
+ type: "string"
+ entities:
+ properties:
+ linodes:
+ example:
+ - 111
+ - 222
+ items:
+ type: "integer"
+ x-linode-cli-display: 5
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ type: "array"
+ description: "A collection of the entities to include in this transfer request, separated by type."
+ type: "object"
+ additionalProperties: false
+ created:
+ format: "date-time"
+ description: "When this transfer was created."
+ type: "string"
+ example: "2021-02-11T16:37:03"
+ token:
+ example: "123E4567-E89B-12D3-A456-426614174000"
x-linode-cli-display: 1
- backups_enabled:
- type: boolean
- description: >
- Account-wide backups default. If `true`, all Linodes created will
- automatically be enrolled in the Backups service. If `false`, Linodes
- will not be enrolled by default, but may still be enrolled on creation
- or later.
+ format: "uuid"
+ type: "string"
+ description: "The token used to identify and accept or cancel this transfer."
+ x-akamai:
+ file-path: "schemas/entity-transfer.yaml"
+ type: "object"
+ description: "An object representing an Entity Transfer."
+ additionalProperties: false
+ added-post-payment-method:
+ properties:
+ type:
+ description: "The type of Payment Method.\n\nAlternative Payment Methods including Google Pay and PayPal can be added using the Cloud Manager. See the [Manage Payment Methods](https://www.linode.com/docs/products/platform/billing/guides/payment-methods/) guide\nfor details and instructions."
+ type: "string"
+ example: "credit_card"
+ enum:
+ - "credit_card"
+ is_default:
+ type: "boolean"
+ description: "Whether this Payment Method is the default method for automatically processing service charges."
+ x-linode-cli-display: 3
example: true
- x-linode-cli-display: 4
- object_storage:
- type: string
+ data:
+ required:
+ - "card_number"
+ - "expiry_month"
+ - "expiry_year"
+ - "cvv"
+ x-akamai:
+ file-path: "schemas/credit-card.yaml"
+ properties:
+ expiry_month:
+ example: 12
+ type: "integer"
+ description: "A value from 1-12 representing the expiration month of your credit card.\n\n - 1 = January\n - 2 = February\n - 3 = March\n - Etc."
+ minimum: 1
+ maximum: 12
+ card_number:
+ example: 4111111111111111
+ maxLength: 24
+ minLength: 14
+ format: "digits"
+ type: "string"
+ description: "Your credit card number. No spaces or hyphens (`-`) allowed."
+ cvv:
+ description: "CVV (Card Verification Value) of the credit card, typically found on the back of the card."
+ type: "string"
+ format: "digits"
+ minLength: 3
+ maxLength: 4
+ example: "123"
+ expiry_year:
+ type: "integer"
+ description: "A four-digit integer representing the expiration year of your credit card.\n\nThe combination of `expiry_month` and `expiry_year` must result in a month/year combination of the current month or in the future. An expiration date set in the past is invalid."
+ example: 2020
+ maxLength: 4
+ minLength: 4
+ type: "object"
+ description: "An object representing the credit card information you have on file with Linode to make Payments against your Account."
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-post-payment-method.yaml"
+ description: "Payment Method Request Object."
+ type: "object"
+ additionalProperties: false
+ required:
+ - "type"
+ - "data"
+ - "is_default"
+ added-get-payments-200:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-payments-200.yaml"
+ properties:
+ results:
readOnly: true
- enum:
- - disabled
- - suspended
- - active
- description: >
- A string describing the status of this account's Object Storage
- service enrollment.
- default: disabled
- example: active
- x-linode-cli-display: 5
- AuthorizedApp:
- type: object
- description: >
- An application you have authorized access to your Account through OAuth.
- properties:
- id:
- type: integer
- description: >
- This authorization's ID, used for revoking access.
- example: 123
+ example: 1
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ pages:
+ example: 1
readOnly: true
- x-linode-cli-display: 1
- label:
- type: string
- description: >
- The name of the application you've authorized.
- example: example-app
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ items:
+ description: "Payment object response."
+ type: "object"
+ properties:
+ usd:
+ example: "120.50"
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount, in US dollars, of the Payment."
+ x-linode-cli-display: 3
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of the Payment."
+ type: "integer"
+ readOnly: true
+ example: 123
+ date:
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 2
+ description: "__Read-only__ When the Payment was made."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/payment.yaml"
+ additionalProperties: false
+ type: "array"
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
readOnly: true
- x-linode-filterable: true
- x-linode-cli-display: 2
- thumbnail_url:
- type: string
- format: url
- description: >
- The URL at which this app's thumbnail may be accessed.
- example: null
+ type: "object"
+ account:
+ additionalProperties: false
+ description: "Account object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/account.yaml"
+ properties:
+ first_name:
+ description: "The first name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ type: "string"
+ x-linode-cli-display: 1
+ maxLength: 50
+ example: "John"
+ zip:
+ description: "The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Must not contain more than 9 letter or number characters."
+ type: "string"
+ example: "19102-1234"
+ address_2:
+ description: "Second line of this Account's billing address."
+ type: "string"
+ maxLength: 64
+ example: "Suite A"
+ capabilities:
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of capabilities your account supports."
readOnly: true
- scopes:
- type: string
- format: oauth-scopes
- description: >
- The OAuth scopes this app was authorized with. This defines what parts of your
- Account the app is allowed to access.
- example: linodes:read_only
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ - "Placement Groups"
+ credit_card:
readOnly: true
- x-linode-cli-display: 3
- created:
- type: string
- format: date-time
- description: When this app was authorized.
- example: '2018-01-01T00:01:01'
+ additionalProperties: false
+ type: "object"
+ description: "__Read-only__ Credit Card information associated with this Account."
+ properties:
+ last_four:
+ description: "The last four digits of the credit card associated with this Account."
+ type: "string"
+ example: 1111
+ expiry:
+ type: "string"
+ description: "The expiration month and year of the credit card."
+ example: "11/2022"
+ active_since:
+ description: "__Read-only__ The date and time the account was activated."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
readOnly: true
- x-linode-filterable: true
- x-linode-cli-display: 5
- expiry:
- type: string
- format: date-time
- description: >
- When the app's access to your account expires. If `null`, the app's
- access must be revoked manually.
- example: '2018-01-15T00:01:01'
+ balance:
+ x-linode-cli-display: 4
+ description: "__Read-only__ This Account's balance, in US dollars."
+ type: "number"
readOnly: true
- x-linode-cli-display: 6
- x-linode-filterable: true
- nullable: true
- website:
- type: string
- format: url
- description: >
- The website where you can get more information about this app.
- example: example.org
+ example: 200
+ city:
+ description: "The city for this Account's billing address."
+ type: "string"
+ example: "Philadelphia"
+ maxLength: 24
+ state:
+ description: "If billing address is in the United States (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account's billing address."
+ type: "string"
+ maxLength: 24
+ example: "PA"
+ country:
+ description: "The two-letter ISO 3166 country code of this Account's billing address."
+ type: "string"
+ example: "US"
+ last_name:
+ description: "The last name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ type: "string"
+ x-linode-cli-display: 2
+ example: "Smith"
+ maxLength: 50
+ euuid:
+ example: "E1AF5EEC-526F-487D-B317EBEB34C87D71"
readOnly: true
- x-linode-cli-display: 4
- Backup:
- type: object
- description: >
- An object representing a Backup or snapshot for a Linode with Backup service
- enabled.
- properties:
- id:
- type: integer
+ description: "__Read-only__ An external unique identifier for this account."
+ type: "string"
+ format: "uuid"
+ address_1:
+ example: "123 Main Street"
+ maxLength: 64
+ type: "string"
+ description: "First line of this Account's billing address."
+ company:
+ maxLength: 128
+ example: "Linode LLC"
+ type: "string"
+ description: "The company name associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ phone:
+ example: "215-555-1212"
+ maxLength: 32
+ description: "The phone number associated with this Account."
+ type: "string"
+ active_promotions:
+ type: "array"
+ items:
+ additionalProperties: false
+ readOnly: true
+ description: "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first."
+ type: "object"
+ properties:
+ summary:
+ example: "$10 off your Linode a month!"
+ x-linode-cli-display: 10
+ type: "string"
+ description: "Short details of this promotion."
+ expire_dt:
+ x-linode-cli-display: 2
+ description: "When this promotion's credits expire."
+ type: "string"
+ example: "2018-01-31T23:59:59"
+ service_type:
+ enum:
+ - "all"
+ - "backup"
+ - "blockstorage"
+ - "db_mysql"
+ - "ip_v4"
+ - "linode"
+ - "linode_disk"
+ - "linode_memory"
+ - "loadbalancer"
+ - "longview"
+ - "managed"
+ - "nodebalancer"
+ - "objectstorage"
+ - "placement_group"
+ - "transfer_tx"
+ example: "all"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The service to which this promotion applies."
+ this_month_credit_remaining:
+ x-linode-cli-display: 4
+ type: "string"
+ description: "The amount of credit left for this month for this promotion."
+ example: "10.00"
+ description:
+ description: "A detailed description of this promotion."
+ type: "string"
+ example: "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends."
+ image_url:
+ example: "https://linode.com/10_a_month_promotion.svg"
+ description: "The location of an image for this promotion."
+ type: "string"
+ credit_monthly_cap:
+ description: "The amount available to spend per month."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "10.00"
+ credit_remaining:
+ description: "The total amount of credit left for this promotion."
+ type: "string"
+ x-linode-cli-display: 3
+ example: "50.00"
+ x-akamai:
+ file-path: "schemas/promotion.yaml"
readOnly: true
- description: The unique ID of this Backup.
- example: 123456
- x-linode-cli-display: 1
- type:
- type: string
- enum:
- - auto
- - snapshot
+ tax_id:
+ type: "string"
+ description: "The tax identification number associated with this Account, for tax calculations in some countries. If you do not live in a country that collects tax, this should be an empty string (`\"\"`)."
+ maxLength: 25
+ example: "ATU99999999"
+ balance_uninvoiced:
readOnly: true
- description: >
- This indicates whether the Backup is an automatic Backup or manual snapshot taken by the User at a specific point in time.
- example: snapshot
+ example: 145
+ x-linode-cli-display: 4
+ description: "__Read-only__ This Account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ type: "number"
+ email:
x-linode-cli-display: 3
- status:
- type: string
- enum:
- - paused
- - pending
- - running
- - needsPostProcessing
- - successful
- - failed
- - userAborted
- readOnly: true
- description: The current state of a specific Backup.
- example: successful
- x-linode-cli-display: 2
- x-linode-cli-color:
- successful: green
- failed: red
- userAborted: f
- default_: yellow
- available:
- type: boolean
- description: |
- Whether this Backup is available for restoration.
-
- Backups undergoing maintenance are not available for restoration.
- example: true
+ description: "The email address of the person associated with this Account."
+ type: "string"
+ maxLength: 128
+ example: "john.smith@linode.com"
+ billing_source:
readOnly: true
- created:
- type: string
- format: date-time
+ enum:
+ - "akamai"
+ - "linode"
+ example: "akamai"
+ type: "string"
+ description: "__Read-only__ The source of service charges for this Account, as determined by its relationship with Akamai. Accounts that are associated with Akamai-specific customers return a value of `akamai`. All other Accounts return a value of `linode`."
+ added-post-cancel-account-200:
+ properties:
+ survey_link:
+ description: "A link to Linode's exit survey."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/added-post-cancel-account-200.yaml"
+ type: "object"
+ additionalProperties: false
+ example:
+ survey_link: "https://alinktothesurvey.com"
+ added-get-clients-200:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-clients-200.yaml"
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
readOnly: true
- description: The date the Backup was taken.
- example: '2018-01-15T00:01:01'
- x-linode-cli-display: 4
- updated:
- type: string
- format: date-time
+ data:
+ items:
+ additionalProperties: false
+ description: "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/oauth-client.yaml"
+ properties:
+ public:
+ x-linode-filterable: true
+ example: false
+ default: false
+ description: "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ label:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "Test_Client_1"
+ maxLength: 512
+ status:
+ type: "string"
+ description: "__Read-only__ The status of this application. `active` by default."
+ x-linode-cli-color:
+ default_: "white"
+ suspended: "red"
+ x-linode-cli-display: 3
+ example: "active"
+ enum:
+ - "active"
+ - "disabled"
+ - "suspended"
+ readOnly: true
+ thumbnail_url:
+ example: "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set."
+ format: "url"
+ id:
+ example: "2737bf16b39ab5d7b4a1"
+ readOnly: true
+ description: "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret)."
+ type: "string"
+ x-linode-cli-display: 1
+ secret:
+ description: "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly."
+ type: "string"
+ example: ""
+ readOnly: true
+ redirect_uri:
+ type: "string"
+ description: "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange."
+ format: "url"
+ x-linode-cli-display: 5
+ example: "https://example.org/oauth/callback"
+ type: "array"
+ page:
+ example: 1
readOnly: true
- description: The date the Backup was most recently updated.
- example: '2018-01-15T00:01:01'
- finished:
- type: string
- format: date-time
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
readOnly: true
- description: The date the Backup completed.
- example: '2018-01-15T00:01:01'
- label:
- type: string
- description: A label for Backups that are of type `snapshot`.
- example: Webserver-Backup-2018
- x-linode-cli-display: 5
- nullable: true
- configs:
- type: array
- items:
- type: string
- example: My Debian 9 Config
+ additionalProperties: false
+ notification:
+ additionalProperties: false
+ properties:
+ entity:
+ additionalProperties: false
readOnly: true
- description: >
- A list of the labels of the Configuration profiles that are part
- of the Backup.
- disks:
- type: array
- items:
- type: object
- properties:
- size:
- type: integer
- example: 9001
- filesystem:
- $ref: '#/components/schemas/Disk/properties/filesystem'
- label:
- type: string
- example: My Debian 9 Disk
+ description: "__Read-only__ Detailed information about the Notification."
+ type: "object"
+ properties:
+ id:
+ nullable: true
+ description: "The unique ID of the Notification's entity, based on the entity type.\n\nReturns `null` for the following entity types:\n\n- `account`\n- `promotion`"
+ type: "integer"
+ example: 3456
+ label:
+ example: "Linode not booting."
+ nullable: true
+ description: "The current label for this Notification's entity.\n\nReturns `null` for the following entity types:\n\n- `entity_transfer`\n- `promotion`\n- `region`"
+ type: "string"
+ type:
+ enum:
+ - "account"
+ - "entity_transfer"
+ - "linode"
+ - "loadbalancers"
+ - "nodebalancer"
+ - "promotion"
+ - "region"
+ - "ticket"
+ - "volume"
+ example: "ticket"
+ description: "The type of entity this is related to."
+ type: "string"
+ url:
+ example: "/support/tickets/3456"
+ nullable: true
+ type: "string"
+ description: "The URL where you can access the object this Notification is for. If a relative URL, it is relative to the domain you retrieved the Notification from.\n\nReturns `null` for the `promotion` entity type."
+ label:
readOnly: true
- description: >
- A list of the disks that are part of the Backup.
- BetaProgram:
- type: object
- description: An object representing Beta Program information.
- properties:
- id:
- type: string
- description: The unique identifier of the Beta Program.
- example: example_open
+ example: "You have an important ticket open!"
x-linode-cli-display: 1
- label:
- type: string
+ description: "__Read-only__ A short description of this Notification."
+ type: "string"
+ type:
+ type: "string"
+ description: "__Read-only__ The type of Notification this is."
+ enum:
+ - "migration_scheduled"
+ - "migration_imminent"
+ - "migration_pending"
+ - "reboot_scheduled"
+ - "outage"
+ - "payment_due"
+ - "ticket_important"
+ - "ticket_abuse"
+ - "notice"
+ - "maintenance"
+ - "promotion"
+ example: "ticket_important"
readOnly: true
- x-linode-filterable: true
- description: The name of the Beta Program.
- example: Example Open Beta
- x-linode-cli-display: 2
- description:
- type: string
+ when:
+ format: "date-time"
+ x-linode-cli-display: 4
+ x-linode-cli-color:
+ default_: "white"
+ None: "black"
+ type: "string"
+ description: "__Read-only__ If this Notification is of an Event that will happen at a fixed, future time, this is when the named action will be taken. For example, if a Linode is to be migrated in response to a Security Advisory, this field will contain the approximate time the Linode will be taken offline for migration."
readOnly: true
- nullable: true
- description: Additional details regarding the Beta Program.
- example: "This is an open public beta for an example feature."
+ example: null
+ severity:
x-linode-cli-display: 3
- greenlight_only:
- type: boolean
- readOnly: true
- x-linode-filterable: true
- description: Whether the Beta Program requires [Green Light](https://www.linode.com/green-light/) participation for enrollment.
- example: true
- x-linode-cli-display: 4
- started:
- type: string
- format: date-time
+ type: "string"
+ description: "__Read-only__ The severity of this Notification. This field can be used to decide how prominently to display the Notification, what color to make the display text, etc."
readOnly: true
- x-linode-filterable: true
- description: The start date-time of the Beta Program.
- example: '2023-07-11T00:00:00'
+ example: "major"
+ enum:
+ - "minor"
+ - "major"
+ - "critical"
+ x-linode-cli-color:
+ critical: "b"
+ minor: "blue"
+ default_: "white"
+ until:
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ type: "string"
+ description: "__Read-only__ If this Notification has a duration, this will be the ending time for the Event/action. For example, if there is scheduled maintenance for one of our systems, `until` would be set to the end of the maintenance window."
+ format: "date-time"
x-linode-cli-display: 5
- ended:
- type: string
- format: date-time
+ example: null
readOnly: true
- nullable: true
- x-linode-filterable: true
- description: |
- The date-time that the Beta Program ended.
-
- `null` indicates that the Beta Program is ongoing.
+ body:
example: null
- x-linode-cli-display: 6
- more_info:
- type: string
readOnly: true
+ type: "string"
+ description: "__Read-only__ A full description of this Notification, in markdown format. Not all Notifications include bodies."
nullable: true
- description: Additional source of information for the Beta Program.
- example: https://www.linode.com/green-light/
- x-linode-cli-display: 7
- BetaProgramEnrolled:
- type: object
- description: An object representing an enrolled Beta Program for the Account.
- properties:
- id:
- $ref: '#/components/schemas/BetaProgram/properties/id'
- x-linode-cli-display: 1
- label:
- $ref: '#/components/schemas/BetaProgram/properties/label'
+ message:
+ readOnly: true
+ example: "You have an important ticket open!"
x-linode-cli-display: 2
- description:
- $ref: '#/components/schemas/BetaProgram/properties/description'
- x-linode-cli-display: 3
- started:
- $ref: '#/components/schemas/BetaProgram/properties/started'
- x-linode-cli-display: 4
- ended:
- $ref: '#/components/schemas/BetaProgram/properties/ended'
- x-linode-cli-display: 5
- enrolled:
- type: string
- format: date-time
+ type: "string"
+ description: "__Read-only__ A human-readable description of the Notification."
+ x-akamai:
+ file-path: "schemas/notification.yaml"
+ type: "object"
+ description: "An important, often time-sensitive item related to your Account."
+ user-type:
+ type: "object"
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ properties:
+ user_type:
+ type: "string"
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
readOnly: true
- x-linode-filterable: true
- description: The date-time of Account enrollment to the Beta Program.
- example: '2023-09-11T00:00:00'
- x-linode-cli-display: 6
- ChildAccount:
- type: object
- description: Child account object
- properties:
- active_since:
- type: string
- format: date-time
- description: The activation date and time for the child account.
- example: '2018-01-01T00:01:01'
+ example: "parent"
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ additionalProperties: false
+ credit-card-data:
+ properties:
+ card_type:
+ description: "__Read-only__ The type of credit card."
+ type: "string"
+ example: "Discover"
readOnly: true
- address_1:
- type: string
- description: First line of this child account's billing address.
- maxLength: 64
- example: 123 Main Street
- x-linode-filterable: true
- address_2:
- type: string
- description: Second line of this child account's billing address, if applicable.
- maxLength: 64
- example: Suite A
- x-linode-filterable: true
- balance:
- type: number
+ last_four:
+ description: "__Read-only__ The last four digits of the credit card number."
+ type: "string"
+ example: "1234"
readOnly: true
- description: This child account's balance, in US dollars.
- example: 200
- x-linode-cli-display: 4
- balance_uninvoiced:
- type: number
+ expiry:
+ format: "MM/YYYY"
+ description: "__Read-only__ The expiration month and year of the credit card."
+ type: "string"
readOnly: true
- description: >
- This child account's current estimated invoice in US dollars. This is not
- your final invoice balance. Transfer charges are not included in
- the estimate.
- example: 145
- x-linode-cli-display: 4
- billing_source:
- type: string
+ example: "06/2022"
+ x-akamai:
+ file-path: "schemas/credit-card-data.yaml"
+ type: "object"
+ description: "Credit card information."
+ additionalProperties: false
+ title: "Credit card"
+ paypal:
+ required:
+ - "cancel_url"
+ - "redirect_url"
+ - "usd"
+ type: "object"
+ description: "An object representing the staging of a Payment via PayPal."
+ properties:
+ cancel_url:
+ example: "https://example.org"
+ type: "string"
+ description: "The URL to have PayPal redirect to when Payment is canceled."
+ redirect_url:
+ example: "https://example.org"
+ description: "The URL to have PayPal redirect to when Payment is approved."
+ type: "string"
+ usd:
+ example: "120.50"
+ description: "The payment amount in USD. Minimum accepted value of $5 USD. Maximum accepted value of $500 USD or credit card payment limit; whichever value is highest. PayPal's maximum transaction limit is $10,000 USD."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/paypal.yaml"
+ additionalProperties: false
+ added-post-pay-pal-payment-200:
+ type: "object"
+ properties:
+ checkout_token:
+ type: "string"
+ description: "__Read-only__ The checkout token generated for this Payment."
readOnly: true
- enum:
- - external
- description: |
- The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment.
- example: external
- capabilities:
- type: array
- items:
- type: string
- description: >
- A list of the capabilities the child account supports.
- example:
- - Linodes
- - NodeBalancers
- - Block Storage
- - Object Storage
+ example: "EC-1A2B3C4D5E6F7G8H9"
+ payment_id:
+ example: "PAY-1234567890ABCDEFGHIJKLMN"
+ type: "string"
+ description: "The paypal-generated ID for this Payment. Used when authorizing the Payment in PayPal's interface."
+ x-akamai:
+ file-path: "schemas/added-post-pay-pal-payment-200.yaml"
+ additionalProperties: false
+ login:
+ additionalProperties: false
+ type: "object"
+ description: "An object representing a previous successful login for a User."
+ properties:
+ username:
+ description: "__Read-only__ The username of the User that attempted the login."
+ type: "string"
+ x-linode-cli-display: 4
+ example: "example_user"
readOnly: true
- city:
- type: string
- description: The city for this child account's billing address.
- maxLength: 24
- example: San Diego
- x-linode-filterable: true
- credit_card:
- type: object
+ ip:
readOnly: true
- description: Information for the credit card you've assigned to this child account.
- properties:
- last_four:
- type: string
- description: >
- The last four digits of the credit card.
- example: 1111
- expiry:
- type: string
- description: The expiration month and year of the credit card.
- example: 11/2024
- company:
- type: string
- description: |
- The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value.
- maxLength: 128
- example: Acme
- x-linode-filterable: true
- country:
- type: string
- description: >
- The two-letter ISO 3166 country code for this child account's billing address.
- example: US
- x-linode-filterable: true
- email:
- type: string
- description: The email address of the owner of this child account.
- maxLength: 128
- example: john.smith@linode.com
+ example: "192.0.2.0"
+ format: "ip"
x-linode-cli-display: 3
- x-linode-filterable: true
- first_name:
- type: string
- description: |
- The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `"` `=`.
- maxLength: 50
- example: John
- x-linode-cli-display: 1
- x-linode-filterable: true
- last_name:
- type: string
- description: |
- The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `"` `=`.
- maxLength: 50
- example: Smith
- x-linode-cli-display: 2
- x-linode-filterable: true
- phone:
- type: string
- description: The phone number for the owner of this child account.
- maxLength: 32
- example: 858-555-1212
- x-linode-filterable: true
- state:
- type: string
- description: |
- The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.
-
- **Note:** If this is a US military address, use state abbreviations (AA, AE, AP).
- maxLength: 24
- example: CA
- x-linode-filterable: true
- tax_id:
- type: string
- description: >
- The tax identification number for this child account. Use this for tax calculations in some countries.
- If you live in a country that doesn't collect taxes, ensure this is an empty string (`""`).
- maxLength: 25
- example: ATU99999999
- euuid:
- type: string
- description: >
- An external, unique identifier that Akamai assigned to the child account.
- format: uuid
+ type: "string"
+ description: "__Read-only__ The remote IP address that requested the login."
+ status:
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
readOnly: true
- example: A1BC2DEF-34GH-567I-J890KLMN12O34P56
- zip:
- type: string
- description: |
- The zip code of this Account's billing address. The following restrictions apply:
-
- - Can only contain ASCII letters, numbers, and hyphens (`-`).
- - Can't contain more than 9 letter or number characters.
- example: 92111-1234
- x-linode-filterable: true
- CreditCard:
- type: object
- description: |
- An object representing the credit card information you have on file with
- Linode to make Payments against your Account.
- required:
- - card_number
- - expiry_month
- - expiry_year
- - cvv
- properties:
- card_number:
- type: string
- description: Your credit card number. No spaces or hyphens (`-`) allowed.
- minLength: 14
- maxLength: 24
- format: digits
- example: 4111111111111111
- expiry_month:
- type: integer
- minimum: 1
- maximum: 12
- description: >
- A value from 1-12 representing the expiration month of your credit card.
-
- * 1 = January
- * 2 = February
- * 3 = March
- * Etc.
- example: 12
- expiry_year:
- type: integer
- minLength: 4
- maxLength: 4
- description: |
- A four-digit integer representing the expiration year of
- your credit card.
-
- The combination of `expiry_month` and `expiry_year`
- must result in a month/year combination of the current month or in
- the future. An expiration date set in the past is invalid.
- example: 2020
- cvv:
- type: string
- minLength: 3
- maxLength: 4
- format: digits
- description: >
- CVV (Card Verification Value) of the credit card, typically found on the back of the card.
- example: '123'
- Database:
- type: object
- description: A general Managed Database instance object containing properties that are identical for all database types.
- properties:
- id:
- type: integer
- description: A unique ID that can be used to identify and reference the Managed Database.
- example: 123
- x-linode-cli-display: 1
+ description: "__Read-only__ Whether the login attempt succeeded or failed."
+ type: "string"
+ x-linode-cli-display: 5
+ id:
+ example: 1234
readOnly: true
- label:
- type: string
- maxLength: 32
- minLength: 3
- x-linode-filterable: true
- example: example-db
- description: A unique, user-defined string referring to the Managed Database.
- x-linode-cli-display: 2
- type:
- type: string
- description: The Linode Instance type used by the Managed Database for its nodes.
- example: g6-dedicated-2
- x-linode-filterable: true
- x-linode-cli-display: 4
- engine:
- type: string
- enum:
- - mysql
- - postgresql
- description: The Managed Database engine type.
- example: mysql
- x-linode-filterable: true
+ description: "__Read-only__ The unique ID of this login object."
+ type: "integer"
+ x-linode-cli-display: 1
+ restricted:
+ description: "__Read-only__ True if the User that attempted the login was a restricted User, false otherwise."
+ type: "boolean"
x-linode-cli-display: 6
+ example: true
readOnly: true
- version:
- type: string
- description: The Managed Database engine version.
- example: "8.0.26"
- x-linode-filterable: true
- x-linode-cli-display: 7
- readOnly: true
- region:
- type: string
- description: The [Region](/docs/api/regions/) ID for the Managed Database.
- example: us-east
- x-linode-filterable: true
- x-linode-cli-display: 3
- status:
- type: string
- enum:
- - provisioning
- - active
- - suspending
- - suspended
- - resuming
- - restoring
- - failed
- - degraded
- - updating
- - backing_up
- description: The operating status of the Managed Database.
- example: active
- x-linode-filterable: true
- x-linode-cli-display: 100
- x-linode-cli-color:
- provisioning: yellow
- active: green
- resuming: yellow
- restoring: yellow
- failed: red
- degraded: red
- updating: yellow
- default_: white
- readOnly: true
- encrypted:
- type: boolean
- default: false
- description: Whether the Managed Databases is encrypted.
- example: false
- allow_list:
- type: array
- example:
- - "203.0.113.1/32"
- - "192.0.1.0/24"
- description: |
- A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.
-
- By default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.
-
- If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.
- items:
- type: string
- format: ipv4/prefix_length
- pattern: '^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'
- cluster_size:
- type: integer
- enum:
- - 1
- - 3
- example: 3
- default: 1
- description: |
- The number of Linode Instance nodes deployed to the Managed Database.
-
- Choosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes.
- x-linode-cli-display: 5
- hosts:
- type: object
+ datetime:
readOnly: true
- description: The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete.
- properties:
- primary:
- type: string
- description: The primary host for the Managed Database.
- example: lin-123-456-mysql-mysql-primary.servers.linodedb.net
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ When the login was initiated."
+ x-akamai:
+ file-path: "schemas/login.yaml"
+ added-put-user-200:
+ x-akamai:
+ file-path: "schemas/added-put-user-200.yaml"
+ allOf:
+ -
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ type: "object"
+ properties:
+ last_login:
nullable: true
- secondary:
- type: string
- description: |
- The secondary/private network host for the Managed Database.
-
- A private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.
-
- **Note**: The secondary hostname is publicly viewable and accessible.
- example: lin-123-456-mysql-primary-private.servers.linodedb.net
+ type: "object"
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ properties:
+ login_datetime:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ status:
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ type: "string"
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ additionalProperties: false
+ readOnly: true
+ username:
+ minLength: 3
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
+ maxLength: 32
+ example: "example_user"
+ x-linode-filterable: true
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ verified_phone_number:
+ format: "phone"
+ type: "string"
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
nullable: true
- created:
- type: string
- format: date-time
- description: When this Managed Database was created.
- example: '2022-01-01T00:01:01'
- readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Managed Database was last updated.
- example: '2022-01-01T00:01:01'
- readOnly: true
- updates:
- type: object
- description: Configuration settings for automated patch update maintenance for the Managed Database.
- properties:
- frequency:
- type: string
- default: weekly
- enum:
- - weekly
- - monthly
- description: Whether maintenance occurs on a weekly or monthly basis.
- example: weekly
- duration:
- type: integer
- minimum: 1
- maximum: 3
- description: The maximum maintenance window time in hours.
- example: 3
- hour_of_day:
- type: integer
- minimum: 0
- maximum: 23
- description: The hour to begin maintenance based in UTC time.
- example: 0
- day_of_week:
- type: integer
- minimum: 1
- maximum: 7
- description: The day to perform maintenance. 1=Monday, 2=Tuesday, etc.
- example: 1
- week_of_month:
- type: integer
- minimum: 1
- maximum: 4
+ readOnly: true
+ example: "+5555555555"
+ restricted:
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ example: true
+ ssh_keys:
+ items:
+ type: "string"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ email:
+ example: "example_user@linode.com"
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ x-linode-cli-display: 2
+ format: "email"
+ tfa_enabled:
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ type: "boolean"
+ readOnly: true
+ example: true
+ password_created:
+ format: "date-time"
nullable: true
- description: |
- The week of the month to perform `monthly` frequency updates. Defaults to `null`.
-
- * Required for `monthly` frequency updates.
-
- * Must be `null` for `weekly` frequency updates.
- example: null
- instance_uri:
- type: string
- example: "/v4/databases/mysql/instances/123"
- description: |
- Append this to `https://api.linode.com` to run commands for the Managed Database.
- readOnly: true
- DatabaseBackup:
- type: object
- description: A database backup object.
- properties:
- id:
- type: integer
- description: The ID of the database backup object.
+ type: "string"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ additionalProperties: false
+ -
+ type: "object"
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ properties:
+ user_type:
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ example: "parent"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
+ additionalProperties: false
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ label:
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The name of the Beta Program."
+ readOnly: true
+ example: "Example Open Beta"
+ x-linode-filterable: true
+ added-post-payment:
+ additionalProperties: false
+ properties:
+ payment_method_id:
example: 123
- x-linode-cli-display: 1
- type:
- type: string
- enum:
- - snapshot
- - auto
- description: The type of database backup, determined by how the backup was created.
- example: auto
- x-linode-filterable: true
- x-linode-cli-display: 3
- label:
- type: string
- maxLength: 30
- description: |
- The database backup's label, for display purposes only.
-
- Must include only ASCII letters or numbers.
- example: Scheduled - 02/04/22 11:11 UTC-XcCRmI
- x-linode-cli-display: 2
- created:
- type: string
- format: date-time
- example: '2022-01-01T00:01:01'
- description: A time value given in a combined date and time format that represents when the database backup was created.
- x-linode-filterable: true
- x-linode-cli-display: 4
- DatabaseBackupSnapshot:
- type: object
- description: Managed Database request object for snapshot backup.
- required:
- - label
- properties:
- label:
- type: string
- minLength: 1
- maxLength: 30
- description: |
- The label for the Database snapshot backup.
-
- * Can only contain ASCII letters, numbers, and underscores (`_`).
- * Must be unique among other backup labels for this Database.
- example: db-snapshot
- target:
- type: string
- enum:
- - primary
- - secondary
- default: primary
- description: |
- The Database cluster target.
- If the Database is a high availability cluster, choosing `secondary` creates a snapshot backup of a replica node.
- example: primary
- DatabaseCredentials:
- type: object
- description: Managed Database object for database credentials.
- properties:
- username:
- type: string
+ description: "The ID of the Payment Method to apply to the Payment."
+ type: "integer"
+ usd:
+ example: "$120.50"
+ pattern: "^\\$?\\d+\\.\\d{2}$"
+ type: "string"
+ description: "The amount in US Dollars of the Payment.\n\n- Can begin with or without `$`.\n- Commas (`,`) are not accepted.\n- Must end with a decimal expression, such as `.00` or `.99`.\n- Minimum: `$5.00` or the Account balance, whichever is lower.\n- Maximum: `$2000.00` or the Account balance up to `$50000.00`, whichever is greater."
+ x-akamai:
+ file-path: "schemas/added-post-payment.yaml"
+ type: "object"
+ warning-object:
+ additionalProperties: false
+ properties:
+ title:
+ example: "Unable to reboot Linode."
+ description: "The general warning message."
+ type: "string"
+ details:
+ description: "Specific information related to the warning."
+ type: "string"
+ example: "Linode 123 could not be rebooted."
+ x-akamai:
+ file-path: "schemas/warning-object.yaml"
+ description: "An object for describing a single warning associated with a response."
+ type: "object"
+ added-get-service-transfers-200:
+ additionalProperties: false
+ type: "object"
+ properties:
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
readOnly: true
- description: The root username for the Managed Database instance.
- example: linroot
- x-linode-cli-display: 1
- password:
- type: string
+ data:
+ type: "array"
+ items:
+ properties:
+ token:
+ example: "123E4567-E89B-12D3-A456-426614174000"
+ type: "string"
+ description: "The token used to identify and accept or cancel this transfer."
+ x-linode-cli-display: 1
+ format: "uuid"
+ entities:
+ properties:
+ linodes:
+ type: "array"
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ x-linode-cli-display: 5
+ items:
+ type: "integer"
+ example:
+ - 111
+ - 222
+ type: "object"
+ description: "A collection of the services to include in this transfer request, separated by type."
+ additionalProperties: false
+ created:
+ format: "date-time"
+ description: "When this transfer was created."
+ type: "string"
+ example: "2021-02-11T16:37:03"
+ is_sender:
+ type: "boolean"
+ description: "__Filterable__ If the requesting account created this transfer."
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: true
+ x-linode-filterable: true
+ expiry:
+ example: "2021-02-12T16:37:03"
+ format: "date-time"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "When this transfer expires. Transfers will automatically expire 24 hours after creation."
+ updated:
+ format: "date-time"
+ description: "When this transfer was last updated."
+ type: "string"
+ example: "2021-02-11T16:37:03"
+ status:
+ x-linode-filterable: true
+ example: "pending"
+ enum:
+ - "accepted"
+ - "canceled"
+ - "completed"
+ - "failed"
+ - "pending"
+ - "stale"
+ x-linode-cli-color:
+ failed: "red"
+ pending: "yellow"
+ stale: "red"
+ completed: "green"
+ default_: "white"
+ canceled: "red"
+ accepted: "yellow"
+ type: "string"
+ description: "__Filterable__ The status of the transfer request.\n\n`accepted`: The transfer has been accepted by another user and is currently in progress.\nTransfers can take up to 3 hours to complete.\n\n`canceled`: The transfer has been canceled by the sender.\n\n`completed`: The transfer has completed successfully.\n\n`failed`: The transfer has failed after initiation.\n\n`pending`: The transfer is ready to be accepted.\n\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or\ncanceled."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-akamai:
+ file-path: "schemas/service-transfer.yaml"
+ type: "object"
+ description: "An object representing a Service Transfer."
+ additionalProperties: false
+ page:
readOnly: true
- description: The randomly-generated root password for the Managed Database instance.
- example: s3cur3P@ssw0rd
- x-linode-cli-display: 2
- DatabaseEngine:
- type: object
- description: Managed Database engine object.
- properties:
- id:
- type: string
- example: mysql/8.0.26
- description: The Managed Database engine ID in engine/version format.
- x-linode-cli-display: 1
- engine:
- type: string
- example: mysql
- description: The Managed Database engine type.
- x-linode-filterable: true
- x-linode-cli-display: 2
- version:
- type: string
- example: "8.0.26"
- description: The Managed Database engine version.
- x-linode-filterable: true
- x-linode-cli-display: 3
- total_disk_size_gb:
- type: integer
- example: 15
- description: The total disk size of the database in GB.
- x-linode-cli-display: 4
- used_disk_size_gb:
- type: integer
- example: 2
- description: The used space of the database in GB.
- x-linode-cli-display: 5
- DatabaseMySQL:
- type: object
- description: Managed MySQL Databases object.
- properties:
- id:
- $ref: '#/components/schemas/Database/properties/id'
- x-linode-cli-display: 1
- label:
- $ref: '#/components/schemas/Database/properties/label'
- x-linode-cli-display: 2
- type:
- $ref: '#/components/schemas/Database/properties/type'
- x-linode-cli-display: 4
- engine:
- type: string
- description: The Managed Database engine type.
- example: mysql
- x-linode-filterable: true
- x-linode-cli-display: 8
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
readOnly: true
- version:
- type: string
- description: The Managed Database engine version.
- example: "8.0.26"
- x-linode-filterable: true
- x-linode-cli-display: 9
+ x-akamai:
+ file-path: "schemas/added-get-service-transfers-200.yaml"
+ added-get-enrolled-beta-programs-200:
+ allOf:
+ -
+ additionalProperties: false
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ readOnly: true
+ example: 1
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ -
+ properties:
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object representing an enrolled Beta Program for the Account."
+ type: "object"
+ properties:
+ enrolled:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of Account enrollment to the Beta Program."
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 6
+ x-linode-filterable: true
+ example: "2023-09-11T00:00:00"
+ readOnly: true
+ id:
+ type: "string"
+ description: "The unique identifier of the Beta Program."
+ x-linode-cli-display: 1
+ example: "example_open"
+ label:
+ x-linode-filterable: true
+ example: "Example Open Beta"
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The name of the Beta Program."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description:
+ example: "This is an open public beta for an example feature."
+ readOnly: true
+ nullable: true
+ description: "__Read-only__ Additional details regarding the Beta Program."
+ type: "string"
+ x-linode-cli-display: 3
+ started:
+ readOnly: true
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The start date-time of the Beta Program."
+ ended:
+ x-linode-filterable: true
+ example: null
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing."
+ type: "string"
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ format: "date-time"
+ x-akamai:
+ file-path: "schemas/beta-program-enrolled.yaml"
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-enrolled-beta-programs-200.yaml"
+ page:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ added-get-payment-methods-200:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-payment-methods-200.yaml"
+ properties:
+ page:
+ example: 1
readOnly: true
- region:
- $ref: '#/components/schemas/Database/properties/region'
- x-linode-cli-display: 3
- status:
- $ref: '#/components/schemas/Database/properties/status'
- x-linode-cli-display: 100
- x-linode-cli-color:
- provisioning: yellow
- active: green
- resuming: yellow
- restoring: yellow
- failed: red
- degraded: red
- default_: white
- encrypted:
- $ref: '#/components/schemas/Database/properties/encrypted'
- allow_list:
- $ref: '#/components/schemas/Database/properties/allow_list'
- cluster_size:
- $ref: '#/components/schemas/Database/properties/cluster_size'
- x-linode-cli-display: 7
- hosts:
- $ref: '#/components/schemas/Database/properties/hosts'
- ssl_connection:
- type: boolean
- default: true
- example: true
- description: |
- Whether to require SSL credentials to establish a connection to the Managed Database.
-
- Use the **Managed MySQL Database Credentials View** ([GET /databases/mysql/instances/{instanceId}/credentials](/docs/api/databases/#managed-mysql-database-credentials-view)) command for access information.
- replication_type:
- type: string
- enum:
- - none
- - asynch
- - semi_synch
- example: semi_synch
- description: |
- The replication method used for the Managed Database.
-
- Defaults to `none` for a single cluster and `semi_synch` for a high availability cluster.
-
- Must be `none` for a single node cluster.
-
- Must be `asynch` or `semi_synch` for a high availability cluster.
- x-linode-cli-display: 99
- port:
- type: integer
- description: The access port for this Managed Database.
- example: 3306
- x-linode-cli-display: 98
- created:
- $ref: '#/components/schemas/Database/properties/created'
- updated:
- $ref: '#/components/schemas/Database/properties/updated'
- updates:
- $ref: '#/components/schemas/Database/properties/updates'
- total_disk_size_gb:
- type: integer
- example: 15
- description: The total disk size of the database in GB.
- x-linode-cli-display: 5
- used_disk_size_gb:
- type: integer
- example: 2
- description: The used space of the database in GB.
- x-linode-cli-display: 6
- DatabaseMySQLRequest:
- type: object
- description: Managed MySQL Database request object.
- required:
- - label
- - type
- - engine
- - region
- properties:
- label:
- $ref: '#/components/schemas/DatabaseMySQL/properties/label'
- type:
- $ref: '#/components/schemas/DatabaseMySQL/properties/type'
- engine:
- type: string
- example: mysql/8.0.26
- description: The Managed Database engine in engine/version format.
- region:
- $ref: '#/components/schemas/DatabaseMySQL/properties/region'
- encrypted:
- $ref: '#/components/schemas/DatabaseMySQL/properties/encrypted'
- allow_list:
- $ref: '#/components/schemas/DatabaseMySQL/properties/allow_list'
- cluster_size:
- $ref: '#/components/schemas/DatabaseMySQL/properties/cluster_size'
- ssl_connection:
- $ref: '#/components/schemas/DatabaseMySQL/properties/ssl_connection'
- replication_type:
- $ref: '#/components/schemas/DatabaseMySQL/properties/replication_type'
- DatabasePostgreSQL:
- type: object
- description: Managed PostgreSQL Databases object.
- properties:
- id:
- $ref: '#/components/schemas/Database/properties/id'
- x-linode-cli-display: 1
- label:
- $ref: '#/components/schemas/Database/properties/label'
- x-linode-cli-display: 2
- type:
- $ref: '#/components/schemas/Database/properties/type'
- x-linode-cli-display: 4
- engine:
- type: string
- description: The Managed Database engine type.
- example: postgresql
- x-linode-filterable: true
- x-linode-cli-display: 6
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/payment-method.yaml"
+ properties:
+ is_default:
+ description: "Whether this Payment Method is the default method for automatically processing service charges."
+ type: "boolean"
+ x-linode-cli-display: 3
+ example: true
+ created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When the Payment Method was added to the Account."
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ data:
+ x-linode-cli-format: "json"
+ x-linode-cli-display: 4
+ oneOf:
+ -
+ x-linode-ref-name: "Credit Card"
+ title: "Credit card"
+ additionalProperties: false
+ properties:
+ expiry:
+ example: "06/2022"
+ readOnly: true
+ description: "__Read-only__ The expiration month and year of the credit card."
+ type: "string"
+ format: "MM/YYYY"
+ last_four:
+ description: "__Read-only__ The last four digits of the credit card number."
+ type: "string"
+ readOnly: true
+ example: "1234"
+ card_type:
+ readOnly: true
+ example: "Discover"
+ description: "__Read-only__ The type of credit card."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/credit-card-data.yaml"
+ description: "Credit card information."
+ type: "object"
+ -
+ x-akamai:
+ file-path: "schemas/google-pay-data.yaml"
+ properties:
+ card_type:
+ type: "string"
+ description: "__Read-only__ The type of credit card."
+ example: "Discover"
+ readOnly: true
+ last_four:
+ type: "string"
+ description: "__Read-only__ The last four digits of the credit card number."
+ example: "1234"
+ readOnly: true
+ expiry:
+ example: "06/2022"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The expiration month and year of the credit card."
+ format: "MM/YYYY"
+ description: "Google Pay information."
+ type: "object"
+ additionalProperties: false
+ title: "Google Pay"
+ x-linode-ref-name: "Google Pay"
+ -
+ title: "Paypal"
+ x-linode-ref-name: "Paypal"
+ additionalProperties: false
+ description: "PayPal information."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/paypal-data.yaml"
+ properties:
+ email:
+ description: "__Read-only__ The email address associated with your PayPal account."
+ type: "string"
+ example: "example@linode.com"
+ readOnly: true
+ paypal_id:
+ type: "string"
+ description: "__Read-only__ PayPal Merchant ID associated with your PayPal account."
+ readOnly: true
+ example: "ABC1234567890"
+ type:
+ example: "credit_card"
+ enum:
+ - "credit_card"
+ - "google_pay"
+ - "paypal"
+ description: "The type of Payment Method."
+ type: "string"
+ x-linode-cli-display: 2
+ id:
+ x-linode-cli-display: 1
+ description: "The unique ID of this Payment Method."
+ type: "integer"
+ example: 123
+ description: "Payment Method Response Object."
+ type: "object"
+ pages:
+ example: 1
readOnly: true
- version:
- type: string
- description: The Managed Database engine version.
- example: "13.2"
- x-linode-filterable: true
- x-linode-cli-display: 7
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ results:
readOnly: true
- region:
- $ref: '#/components/schemas/Database/properties/region'
- x-linode-cli-display: 3
- status:
- $ref: '#/components/schemas/Database/properties/status'
- x-linode-cli-display: 100
- x-linode-cli-color:
- provisioning: yellow
- active: green
- resuming: yellow
- restoring: yellow
- failed: red
- degraded: red
- default_: white
- encrypted:
- $ref: '#/components/schemas/Database/properties/encrypted'
- allow_list:
- $ref: '#/components/schemas/Database/properties/allow_list'
- cluster_size:
- $ref: '#/components/schemas/Database/properties/cluster_size'
- x-linode-cli-display: 5
- hosts:
- type: object
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ added-get-maintenance-200:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-maintenance-200.yaml"
+ properties:
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
readOnly: true
- description: The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete.
- properties:
- primary:
- type: string
- description: The primary host for the Managed Database.
- example: lin-0000-000-pgsql-primary.servers.linodedb.net
- nullable: true
- secondary:
- type: string
- description: |
- The secondary/private network host for the Managed Database.
-
- A private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.
-
- **Note**: The secondary hostname is publicly viewable and accessible.
- example: lin-0000-000-pgsql-primary-private.servers.linodedb.net
- nullable: true
- ssl_connection:
- type: boolean
- default: true
- example: true
- description: |
- Whether to require SSL credentials to establish a connection to the Managed Database.
-
- Use the **Managed PostgreSQL Database Credentials View** ([GET /databases/postgresql/instances/{instanceId}/credentials](/docs/api/databases/#managed-postgresql-database-credentials-view)) command for access information.
- replication_type:
- type: string
- enum:
- - none
- - asynch
- example: async
- description: |
- The replication method used for the Managed Database.
-
- Defaults to `none` for a single cluster and `asynch` for a high availability cluster.
-
- Must be `none` for a single node cluster.
-
- Must be `asynch` for a high availability cluster.
- x-linode-cli-display: 99
- replication_commit_type:
- type: string
- enum:
- - 'on'
- - 'local'
- - 'remote_write'
- - 'remote_apply'
- - 'off'
- default: local
- example: local
- description: |
- The synchronization level of the replicating server.
-
- Must be `local` or `off` for the `asynch` replication type.
- x-linode-cli-display: 100
- port:
- type: integer
- description: The access port for this Managed Database.
- example: 3306
- x-linode-cli-display: 98
- created:
- $ref: '#/components/schemas/Database/properties/created'
- updated:
- $ref: '#/components/schemas/Database/properties/updated'
- updates:
- $ref: '#/components/schemas/Database/properties/updates'
- total_disk_size_gb:
- type: integer
- example: 15
- description: The total disk size of the database in GB.
- x-linode-cli-display: 8
- used_disk_size_gb:
- type: integer
- example: 2
- description: The used space of the database in GB.
- x-linode-cli-display: 9
- DatabasePostgreSQLRequest:
- type: object
- description: Managed PostgreSQL Database request object.
- required:
- - label
- - type
- - engine
- - region
- properties:
- label:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/label'
- type:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/type'
- engine:
- type: string
- example: postgresql/13.2
- description: The Managed Database engine in engine/version format.
- region:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/region'
- encrypted:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/encrypted'
- allow_list:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/allow_list'
- cluster_size:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/cluster_size'
- ssl_connection:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/ssl_connection'
- replication_type:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/replication_type'
- replication_commit_type:
- $ref: '#/components/schemas/DatabasePostgreSQL/properties/replication_commit_type'
- DatabaseSSL:
- type: object
- description: Managed Database SSL object.
- properties:
- ca_certificate:
- type: string
- format: base64
- description: The base64-encoded SSL CA certificate for the Managed Database instance.
- example: LS0tLS1CRUdJ...==
- x-linode-cli-display: 1
- DatabaseType:
- type: object
- description: Managed Database plan type object.
- properties:
- id:
- type: string
- description: The ID representing the Managed Database node plan type.
+ example: 1
+ page:
+ example: 1
readOnly: true
- example: g6-nanode-1
- x-linode-cli-display: 1
- label:
- type: string
- description: A human-readable string that describes each plan type. For display purposes only.
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ items:
+ additionalProperties: false
+ description: "Information about maintenance affecting an entity."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/maintenance.yaml"
+ properties:
+ entity:
+ properties:
+ label:
+ type: "string"
+ description: "The label of the entity being affected by maintenance."
+ example: "demo-linode"
+ url:
+ example: "https://api.linode.com/v4/linode/instances/{linodeId}"
+ type: "string"
+ description: "The API endpoint prefix to use in combination with the entity id to find specific information about the entity."
+ type:
+ type: "string"
+ description: "The type of entity."
+ example: "Linode"
+ id:
+ type: "number"
+ description: "The id of the entity being affected by maintenance."
+ example: 1234
+ description: "The entity being affected by maintenance."
+ type: "object"
+ additionalProperties: false
+ type:
+ x-linode-filterable: true
+ example: "reboot"
+ enum:
+ - "reboot"
+ - "cold_migration"
+ - "live_migration"
+ type: "string"
+ description: "__Filterable__ The type of maintenance."
+ x-akamai:
+ labels:
+ - "Filterable"
+ when:
+ type: "string"
+ description: "__Filterable__ When the maintenance will begin.\n\n[Filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with the following parameters:\n\n- A single value in date-time string format (`%Y-%m-%dT%H:%M:%S`), which returns only matches to that value.\n\n- A dictionary containing pairs of inequality operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single date-time string format values (`%Y-%m-%dT%H:%M:%S`). `+or` accepts an array of values that may consist of single date-time strings or dictionaries of inequality operator pairs."
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "2020-07-09T00:01:01"
+ x-linode-filterable: true
+ reason:
+ type: "string"
+ description: "The reason maintenance is being performed."
+ example: "This maintenance will allow us to update the BIOS on the host's motherboard."
+ status:
+ description: "__Filterable__ The maintenance status.\n\nMaintenance progresses in the following sequence: pending, started, then completed."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "started"
+ enum:
+ - "completed"
+ - "pending"
+ - "started"
+ x-linode-filterable: true
+ type: "array"
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
readOnly: true
- example: DBaaS - Nanode 1GB
- x-linode-cli-display: 2
- engines:
- type: object
- properties:
- mysql:
- type: array
- description: Pricing details for MySQL Managed Databases.
- items:
- $ref: '#/components/schemas/DatabaseTypeEngine'
- postgresql:
- type: array
- description: Pricing details for PostgreSQL Managed Databases.
- items:
- $ref: '#/components/schemas/DatabaseTypeEngine'
- memory:
- type: integer
- description: The amount of RAM allocated to Database created of this plan type. The value is represented in megabytes.
- example: 1024
- x-linode-cli-display: 3
- disk:
- type: integer
- description: The amount of disk space set aside for Databases of this plan type. The value is represented in megabytes.
- example: 25600
- x-linode-cli-display: 4
- vcpus:
- type: integer
- description: The integer of number CPUs allocated to databases of this plan type.
example: 1
- x-linode-cli-display: 5
- deprecated:
- type: boolean
- description: Whether this Database plan type has been deprecated and is no longer available.
- example: false
- x-linode-filterable: true
- x-linode-cli-display: 6
- class:
- type: string
- description: The compute class category.
- example: nanode
- DatabaseTypeEngine:
- type: object
- properties:
- quantity:
- type: integer
- enum:
- - 1
- - 2
- - 3
- description: The number of nodes for the Managed Database cluster for this subscription tier.
+ type: "object"
+ added-empty-obj:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ pagination-envelope:
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
example: 1
- price:
- type: object
- description: Cost in US dollars, broken down into hourly and monthly charges.
- properties:
- hourly:
- type: number
- description: Cost (in US dollars) per hour for this subscription tier.
- example: 0.03
- monthly:
- type: number
- description: Maximum cost (in US dollars) per month for this subscription tier.
- example: 20
- Device:
- type: object
- description: >
- Device can be either a Disk or Volume identified by `disk_id` or
- `volume_id`. Only one type per slot allowed. Can be null.
-
- Devices mapped from _sde_ through _sdh_ are unavailable in `fullvirt` virt_mode.
- properties:
- disk_id:
- type: integer
- description: The Disk ID, or `null` if a Volume is assigned to this slot.
- example: 124458
- volume_id:
- type: integer
- description: The Volume ID, or `null` if a Disk is assigned to this slot.
- example: null
- Devices:
- type: object
- description: >
- A dictionary of device disks to use as a device map in a Linode's configuration profile.
-
- * An empty device disk dictionary or a dictionary with empty values for device slots is allowed.
-
- * If no devices are specified, booting from this configuration will hold until a device exists that allows the boot process to start.
- properties:
- sda:
- $ref: '#/components/schemas/Device'
- sdb:
- $ref: '#/components/schemas/Device'
- sdc:
- $ref: '#/components/schemas/Device'
- sdd:
- $ref: '#/components/schemas/Device'
- sde:
- $ref: '#/components/schemas/Device'
- sdf:
- $ref: '#/components/schemas/Device'
- sdg:
- $ref: '#/components/schemas/Device'
- sdh:
- $ref: '#/components/schemas/Device'
- Disk:
- type: object
- properties:
- id:
- type: integer
- description: >
- This Disk's ID which must be provided for all
- operations impacting this Disk.
- example: 25674
- readOnly: true
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- description: >
- The Disk's label is for display purposes only.
- example: Debian 9 Disk
- minLength: 1
- maxLength: 48
- x-linode-cli-display: 2
- status:
- type: string
- description: >
- A brief description of this Disk's current state. This field may change without
- direct action from you, as a result of operations performed to the Disk
- or the Linode containing the Disk.
- example: ready
readOnly: true
- enum:
- - ready
- - not ready
- - deleting
- x-linode-cli-display: 3
- x-linode-cli-color:
- ready: green
- not ready: red
- default_: yellow
- size:
- x-linode-filterable: true
- type: integer
- description: The size of the Disk in MB.
- example: 48640
- x-linode-cli-display: 4
- filesystem:
- type: string
- description: >
- The Disk filesystem can be one of:
-
- * raw - No filesystem, just a raw binary stream.
- * swap - Linux swap area.
- * ext3 - The ext3 journaling filesystem for Linux.
- * ext4 - The ext4 journaling filesystem for Linux.
- * initrd - initrd (uncompressed initrd, ext2, max 32 MB).
- example: ext4
- enum:
- - raw
- - swap
- - ext3
- - ext4
- - initrd
- x-linode-cli-display: 5
- created:
- type: string
- format: date-time
- description: When this Disk was created.
- example: '2018-01-01T00:01:01'
+ page:
+ example: 1
readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Disk was last updated.
- example: '2018-01-01T00:01:01'
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
readOnly: true
- DiskRequest:
- type: object
- description: Disk object request.
- properties:
- size:
- x-linode-filterable: true
- type: integer
- description: |
- The size of the Disk in MB.
-
- Images require a minimum size. Access the Image View ([GET /images/{imageID}](/docs/api/images/#image-view)) endpoint to view its size.
- example: 48640
- label:
- $ref: '#/components/schemas/Disk/properties/label'
- filesystem:
- $ref: '#/components/schemas/Disk/properties/filesystem'
- image:
- type: string
- description: |
- An Image ID to deploy the Linode Disk from.
-
- Access the Images List ([GET /images](/docs/api/images/#images-list)) endpoint with authentication to view
- all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating
- a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Access the User's
- Grant Update ([PUT /account/users/{username}/grants](/docs/api/account/#users-grants-update)) endpoint to
- adjust permissions for an Account Image.
- example: linode/debian9
- authorized_keys:
- type: array
- items:
- type: string
- writeOnly: true
- example:
- - ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer
- description: |
- A list of public SSH keys that will be automatically appended
- to the root user's `~/.ssh/authorized_keys` file when deploying from an Image.
- authorized_users:
- type: array
- items:
- type: string
- writeOnly: true
- example:
- - myUser
- - secondaryUser
- description: >
- A list of usernames. If the usernames have associated
- SSH keys, the keys will be appended to the root users
- `~/.ssh/authorized_keys` file automatically when deploying from an Image.
- root_pass:
- type: string
- format: password
- writeOnly: true
- example: aComplexP@ssword
- minLength: 7
- maxLength: 128
- description: |
- This sets the root user's password on a newly-created Linode Disk when deploying from an Image.
-
- * **Required** when creating a Linode Disk from an Image, including when using a StackScript.
-
- * Must meet a password strength score requirement that is calculated internally by the API.
- If the strength requirement is not met, you will receive a `Password does not meet strength requirement` error.
- stackscript_id:
- type: integer
- example: 10079
- description: |
- A StackScript ID that will cause the referenced StackScript to be run during
- deployment of this Linode. A compatible `image` is required to use a
- StackScript. To get a list of available StackScript and their permitted Images
- see [/stackscripts](/docs/api/stackscripts/#stackscripts-list).
- This field cannot be used when deploying from a Backup or a Private Image.
- stackscript_data:
- type: object
- example:
- gh_username: linode
- description: |
- This field is required only if the StackScript being deployed requires input data from the User for successful completion. See [User Defined Fields (UDFs)](/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more details.
-
- This field is required to be valid JSON.
-
- Total length cannot exceed 65,535 characters.
- maxLength: 65535
- Domain:
- type: object
- description: >
- A domain zonefile in our DNS system. You must own the domain name and
- tell your registrar to use Linode's nameservers in order for a domain
- in our system to be treated as authoritative.
- properties:
- id:
- type: integer
- description: This Domain's unique ID
- example: 1234
- readOnly: true
- x-linode-cli-display: 1
- type:
- type: string
- enum:
- - master
- - slave
- description: >
- Whether this Domain represents the authoritative source of information for the domain
- it describes ("master"), or whether it is a read-only copy of a master ("slave").
- example: master
- x-linode-cli-display: 3
- domain:
- type: string
- pattern: ^(\*\.)?([a-zA-Z0-9-_]{1,63}\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$
- minLength: 1
- maxLength: 253
- description: >
- The domain this Domain represents. Domain labels cannot be longer than
- 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035).
- Domains must be unique on Linode's platform, including across different Linode
- accounts; there cannot be two Domains representing the same domain.
- example: example.org
+ example: 1
+ additionalProperties: false
+ added-get-entity-transfers-200:
+ allOf:
+ -
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ properties:
+ page:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ additionalProperties: false
+ -
+ properties:
+ data:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/entity-transfer.yaml"
+ properties:
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "When this transfer was last updated."
+ example: "2021-02-11T16:37:03"
+ status:
+ x-linode-filterable: true
+ example: "pending"
+ enum:
+ - "accepted"
+ - "canceled"
+ - "completed"
+ - "failed"
+ - "pending"
+ - "stale"
+ x-linode-cli-color:
+ stale: "red"
+ pending: "yellow"
+ failed: "red"
+ completed: "green"
+ default_: "white"
+ canceled: "red"
+ accepted: "yellow"
+ type: "string"
+ description: "__Filterable__ The status of the transfer request:\n\n`accepted`: The transfer has been accepted by another user and is currently in progress. Transfers can take up to 3 hours to complete.\n`canceled`: The transfer has been canceled by the sender.\n`completed`: The transfer has completed successfully.\n`failed`: The transfer has failed after initiation.\n`pending`: The transfer is ready to be accepted.\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or canceled."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ token:
+ description: "The token used to identify and accept or cancel this transfer."
+ type: "string"
+ format: "uuid"
+ x-linode-cli-display: 1
+ example: "123E4567-E89B-12D3-A456-426614174000"
+ created:
+ example: "2021-02-11T16:37:03"
+ type: "string"
+ description: "When this transfer was created."
+ format: "date-time"
+ entities:
+ properties:
+ linodes:
+ items:
+ type: "integer"
+ x-linode-cli-display: 5
+ type: "array"
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ example:
+ - 111
+ - 222
+ description: "A collection of the entities to include in this transfer request, separated by type."
+ type: "object"
+ additionalProperties: false
+ is_sender:
+ example: true
+ x-linode-filterable: true
+ description: "__Filterable__ If the requesting account created this transfer."
+ type: "boolean"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ expiry:
+ description: "When this transfer expires. Transfers will automatically expire 24 hours after creation."
+ type: "string"
+ x-linode-cli-display: 3
+ format: "date-time"
+ example: "2021-02-12T16:37:03"
+ type: "object"
+ description: "An object representing an Entity Transfer."
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-entity-transfers-200.yaml"
+ maintenance:
+ description: "Information about maintenance affecting an entity."
+ type: "object"
+ properties:
+ status:
x-linode-filterable: true
- x-linode-cli-display: 2
- group:
- deprecated: true
- type: string
- description: >
- The group this Domain belongs to. This is for display purposes
- only.
- example: null
- minLength: 1
- maxLength: 50
+ example: "started"
+ enum:
+ - "completed"
+ - "pending"
+ - "started"
+ description: "__Filterable__ The maintenance status.\n\nMaintenance progresses in the following sequence: pending, started, then completed."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ reason:
+ type: "string"
+ description: "The reason maintenance is being performed."
+ example: "This maintenance will allow us to update the BIOS on the host's motherboard."
+ when:
+ example: "2020-07-09T00:01:01"
x-linode-filterable: true
- status:
- type: string
- enum:
- - disabled
- - active
- default: active
- description: >
- Used to control whether this Domain is currently being rendered.
- example: active
- x-linode-cli-display: 4
- x-linode-cli-color:
- active: green
- disabled: yellow
- edit_mode: yellow
- default_: red
- description:
- type: string
- minLength: 1
- maxLength: 253
- description: |
- A description for this Domain. This is for display purposes only.
- example: null
- soa_email:
- type: string
- format: email
- description: >
- Start of Authority email address. This is required for `type` master
- Domains.
- example: admin@example.org
- x-linode-cli-display: 5
- retry_sec:
- type: integer
- default: 0
- description: |
- The interval, in seconds, at which a failed refresh should be retried.
-
- * Valid values are
- 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.
-
- * Any other value is rounded up to the nearest valid value.
-
- * A value of 0 is equivalent to the default value of 14400.
- example: 300
- master_ips:
- type: array
- items:
- type: string
- format: ip
- description: >
- The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters.
- example: []
- axfr_ips:
- type: array
- items:
- type: string
- format: ip
- description: |
- The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.
-
- **Note**: This is potentially dangerous, and should be set to an empty list unless you intend to use it.
- example: []
- expire_sec:
- type: integer
- default: 0
- description: |
- The amount of time in seconds that may pass before this Domain is no longer
- authoritative.
-
- * Valid values are
- 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.
-
- * Any other value is rounded up to the nearest valid value.
-
- * A value of 0 is equivalent to the default value of 1209600.
- example: 300
- refresh_sec:
- type: integer
- default: 0
- description: |
- The amount of time in seconds before this Domain should be refreshed.
-
- * Valid values are
- 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.
-
- * Any other value is rounded up to the nearest valid value.
-
- * A value of 0 is equivalent to the default value of 14400.
- example: 300
- ttl_sec:
- type: integer
- default: 0
- description: >
- "Time to Live" - the amount of time in seconds that this Domain's
- records may be cached by resolvers or other domain servers.
-
- * Valid values are
- 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.
-
- * Any other value is rounded up to the nearest valid value.
-
- * A value of 0 is equivalent to the default value of 86400.
- example: 300
- tags:
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ When the maintenance will begin.\n\n[Filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with the following parameters:\n\n- A single value in date-time string format (`%Y-%m-%dT%H:%M:%S`), which returns only matches to that value.\n\n- A dictionary containing pairs of inequality operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single date-time string format values (`%Y-%m-%dT%H:%M:%S`). `+or` accepts an array of values that may consist of single date-time strings or dictionaries of inequality operator pairs."
+ type:
x-linode-filterable: true
- description: >
- An array of tags applied to this object. Tags are for organizational
- purposes only.
- type: array
- items:
- type: string
- example:
- - example tag
- - another example
- DomainRecord:
- type: object
- description: >
- A single record on a Domain.
- properties:
- id:
- type: integer
- description: This Record's unique ID.
- example: 123456
+ example: "reboot"
+ enum:
+ - "reboot"
+ - "cold_migration"
+ - "live_migration"
+ description: "__Filterable__ The type of maintenance."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ entity:
+ additionalProperties: false
+ properties:
+ label:
+ example: "demo-linode"
+ type: "string"
+ description: "The label of the entity being affected by maintenance."
+ type:
+ type: "string"
+ description: "The type of entity."
+ example: "Linode"
+ url:
+ description: "The API endpoint prefix to use in combination with the entity id to find specific information about the entity."
+ type: "string"
+ example: "https://api.linode.com/v4/linode/instances/{linodeId}"
+ id:
+ example: 1234
+ type: "number"
+ description: "The id of the entity being affected by maintenance."
+ type: "object"
+ description: "The entity being affected by maintenance."
+ x-akamai:
+ file-path: "schemas/maintenance.yaml"
+ additionalProperties: false
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ error-object:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ account-availability:
+ type: "object"
+ description: "Account Service Availability object."
+ properties:
+ available:
+ items:
+ type: "string"
+ description: "__Read-only__ A list of services _available_ to your account in the `region`."
+ type: "array"
readOnly: true
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ region:
x-linode-cli-display: 1
- type:
- type: string
- enum:
- - A
- - AAAA
- - NS
- - MX
- - CNAME
- - TXT
- - SRV
- - PTR
- - CAA
- description: >
- The type of Record this is in the DNS system. For example, A
- records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. For more information, see the guides on [DNS Record Types](/docs/products/networking/dns-manager/guides/#dns-record-types).
- example: A
- x-linode-filterable: true
- x-linode-cli-display: 2
- name:
- type: string
- description: |
- The name of this Record. For requests, this property's actual usage and whether it is required depends
- on the type of record this represents:
-
- `A` and `AAAA`: The hostname or FQDN of the Record.
-
- `NS`: The subdomain, if any, to use with the Domain of the Record. Wildcard NS records (`*`) are not supported.
-
- `MX`: The mail subdomain. For example, `sub` for the address `user@sub.example.com` under the `example.com`
- Domain.
- * The left-most subdomain component may be an asterix (`*`) to designate a wildcard subdomain.
- * Other subdomain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.
- * Must be an empty string (`""`) for a Null MX Record.
-
- `CNAME`: The hostname. Must be unique. Required.
-
- `TXT`: The hostname.
-
- `SRV`: Unused. Use the `service` property to set the service name for this record.
-
- `CAA`: The subdomain. Omit or enter an empty string (`""`) to apply to the entire Domain.
-
- `PTR`: See our guide on how to [Configure Your Linode for Reverse DNS
- (rDNS)](/docs/guides/configure-rdns/).
- minLength: 1
- maxLength: 100
- example: test
- x-linode-filterable: true
+ type: "string"
+ description: "__Read-only__ The Akamai cloud computing data center (region), represented by a slug value. You can view a full list of regions and their associated slugs with the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation."
+ readOnly: true
+ example: "us-east"
+ unavailable:
+ readOnly: true
+ example:
+ - "Kubernetes"
+ - "Block Storage"
x-linode-cli-display: 3
- target:
- type: string
- description: |
- The target for this Record. For requests, this property's actual usage and whether it is required depends
- on the type of record this represents:
-
- `A` and `AAAA`: The IP address. Use `[remote_addr]` to submit the IPv4 address of the request. Required.
-
- `NS`: The name server. Must be a valid domain. Required.
-
- `MX`: The mail server. Must be a valid domain unless creating a Null MX Record. Required.
- * Must have less than 254 total characters.
- * The left-most domain component may be an asterix (`*`) to designate a wildcard domain.
- * Other domain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.
- * To create a [Null MX Record](https://datatracker.ietf.org/doc/html/rfc7505), first [remove](/docs/api/domains/#domain-record-delete) any additional MX records, then create an MX record with empty strings (`""`) for the `target` and `name`. If a Domain has a Null MX record, new MX records cannot be created.
-
- `CNAME`: The alias. Must be a valid domain. Required.
-
- `TXT`: The value. Required.
-
- `SRV`: The target domain or subdomain. If a subdomain is entered, it is automatically used with the Domain.
- To configure for a different domain, enter a valid FQDN. For example, the value `www` with a Domain for
- `example.com` results in a target set to `www.example.com`, whereas the value `sample.com` results in a
- target set to `sample.com`. Required.
-
- `CAA`: The value. For `issue` or `issuewild` tags, the domain of your certificate issuer. For the `iodef`
- tag, a contact or submission URL (domain, http, https, or mailto). Requirements depend on the tag for this record:
- * `issue`: The domain of your certificate issuer. Must include a valid domain. May include additional parameters separated with semicolons (`;`), for example: `www.example.com; foo=bar`
- * `issuewild`: The domain of your wildcard certificate issuer. Must be a valid domain and must not start with an asterisk (`*`).
- * `iodef`: Must be either (1) a valid domain, (2) a valid domain prepended with `http://` or `https://`, or (3) a valid email address prepended with `mailto:`.
-
- `PTR`: Required. See our guide on how to [Configure Your Linode for Reverse DNS
- (rDNS)](/docs/guides/configure-rdns/).
-
- With the exception of A, AAAA, and CAA records, this field accepts a trailing period.
- example: 192.0.2.0
- x-linode-filterable: true
- x-linode-cli-display: 4
- maxLength: 65535
- priority:
- type: integer
- minimum: 0
- maximum: 255
- description: |
- The priority of the target host for this Record. Lower values are preferred. Only valid for
- MX and SRV record requests. Required for SRV record requests.
-
- Defaults to `0` for MX record requests. Must be `0` for Null MX records.
- example: 50
+ items:
+ type: "string"
+ description: "__Read-only__ A list of services _unavailable_ to your account in the `region`."
+ type: "array"
+ x-akamai:
+ file-path: "schemas/account-availability.yaml"
+ additionalProperties: false
+ added-get-availability-200:
+ allOf:
+ -
+ properties:
+ data:
+ items:
+ x-akamai:
+ file-path: "schemas/account-availability.yaml"
+ properties:
+ available:
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ A list of services _available_ to your account in the `region`."
+ items:
+ type: "string"
+ unavailable:
+ items:
+ type: "string"
+ x-linode-cli-display: 3
+ description: "__Read-only__ A list of services _unavailable_ to your account in the `region`."
+ type: "array"
+ readOnly: true
+ example:
+ - "Kubernetes"
+ - "Block Storage"
+ region:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The Akamai cloud computing data center (region), represented by a slug value. You can view a full list of regions and their associated slugs with the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation."
+ type: "string"
+ readOnly: true
+ example: "us-east"
+ description: "Account Service Availability object."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ -
+ properties:
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ readOnly: true
+ example: 1
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-availability-200.yaml"
+ added-get-user-200:
+ allOf:
+ -
+ properties:
+ verified_phone_number:
+ readOnly: true
+ example: "+5555555555"
+ format: "phone"
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ type: "string"
+ nullable: true
+ username:
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
+ x-linode-filterable: true
+ example: "example_user"
+ maxLength: 32
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ last_login:
+ properties:
+ login_datetime:
+ format: "date-time"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ status:
+ type: "string"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ nullable: true
+ additionalProperties: false
+ readOnly: true
+ ssh_keys:
+ example:
+ - "home-pc"
+ - "laptop"
+ readOnly: true
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ items:
+ type: "string"
+ email:
+ x-linode-cli-display: 2
+ format: "email"
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ example: "example_user@linode.com"
+ restricted:
+ example: true
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ type: "boolean"
+ x-linode-cli-display: 3
+ password_created:
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
+ nullable: true
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ type: "string"
+ tfa_enabled:
+ example: true
+ readOnly: true
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ type: "boolean"
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ type: "object"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ additionalProperties: false
+ -
+ additionalProperties: false
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ type: "object"
+ properties:
+ user_type:
+ example: "parent"
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ readOnly: true
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ x-akamai:
+ file-path: "schemas/added-get-user-200.yaml"
+ added-post-cancel-account:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-cancel-account.yaml"
+ properties:
+ comments:
+ type: "string"
+ description: "Any reason for cancelling the account, and any other comments you might have about your Linode service."
+ example: "I'm consolidating multiple accounts into one."
+ additionalProperties: false
+ added-post-user:
+ x-akamai:
+ file-path: "schemas/added-post-user.yaml"
+ required:
+ - "username"
+ - "email"
+ allOf:
+ -
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ properties:
+ verified_phone_number:
+ readOnly: true
+ example: "+5555555555"
+ format: "phone"
+ nullable: true
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ type: "string"
+ username:
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ minLength: 3
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ x-linode-filterable: true
+ example: "example_user"
+ maxLength: 32
+ last_login:
+ properties:
+ login_datetime:
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ status:
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ type: "string"
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ nullable: true
+ readOnly: true
+ additionalProperties: false
+ password_created:
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ type: "string"
+ nullable: true
+ format: "date-time"
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ tfa_enabled:
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ example: true
+ readOnly: true
+ email:
+ example: "example_user@linode.com"
+ x-linode-cli-display: 2
+ format: "email"
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ ssh_keys:
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ items:
+ type: "string"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ restricted:
+ example: true
+ type: "boolean"
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ x-linode-cli-display: 3
+ type: "object"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ additionalProperties: false
+ added-get-invoice-items-200:
+ type: "object"
+ properties:
+ data:
+ type: "array"
+ items:
+ type: "object"
+ description: "An InvoiceItem object."
+ x-akamai:
+ file-path: "schemas/invoice-item.yaml"
+ properties:
+ label:
+ description: "__Read-only__ The Invoice Item's display label."
+ type: "string"
+ x-linode-cli-display: 1
+ example: "Linode 123"
+ readOnly: true
+ type:
+ enum:
+ - "hourly"
+ - "misc"
+ example: "hourly"
+ readOnly: true
+ description: "__Read-only__ The type of service, ether `hourly` or `misc`."
+ type: "string"
+ to:
+ example: "2018-01-31T11:59:59"
+ readOnly: true
+ description: "__Read-only__ The date the Invoice Item ended, based on month."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 3
+ amount:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The price, in US dollars, of the Invoice Item. Equal to the unit price multiplied by quantity."
+ type: "number"
+ readOnly: true
+ example: 20.2
+ quantity:
+ type: "integer"
+ description: "__Read-only__ The quantity of this Item for the specified Invoice."
+ readOnly: true
+ example: 4
+ from:
+ x-linode-cli-display: 2
+ format: "date-time"
+ description: "__Read-only__ The date the Invoice Item started, based on month."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ tax:
+ readOnly: true
+ example: 1.25
+ x-linode-cli-display: 5
+ type: "number"
+ description: "__Read-only__ The amount of tax levied on this Item in US Dollars."
+ unit_price:
+ example: 5.05
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The monthly service fee in US Dollars for this Item."
+ total:
+ example: 21.45
+ readOnly: true
+ description: "__Read-only__ The price of this Item after taxes in US Dollars."
+ type: "number"
+ x-linode-cli-display: 6
+ region:
+ readOnly: true
+ example: "us-west"
+ x-linode-cli-display: 7
+ description: "__Read-only__ The ID of the applicable Region associated with this Invoice Item.\n\n`null` if there is no applicable Region."
+ type: "string"
+ nullable: true
+ additionalProperties: false
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ x-akamai:
+ file-path: "schemas/added-get-invoice-items-200.yaml"
+ additionalProperties: false
+ invoice-item:
+ additionalProperties: false
+ type: "object"
+ description: "An InvoiceItem object."
+ properties:
+ quantity:
+ description: "__Read-only__ The quantity of this Item for the specified Invoice."
+ type: "integer"
+ readOnly: true
+ example: 4
+ from:
+ format: "date-time"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The date the Invoice Item started, based on month."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ tax:
+ readOnly: true
+ example: 1.25
+ x-linode-cli-display: 5
+ type: "number"
+ description: "__Read-only__ The amount of tax levied on this Item in US Dollars."
+ unit_price:
+ description: "__Read-only__ The monthly service fee in US Dollars for this Item."
+ type: "string"
+ readOnly: true
+ example: 5.05
+ total:
+ readOnly: true
+ example: 21.45
x-linode-cli-display: 6
- weight:
- type: integer
- description: >
- The relative weight of this Record used in the case of identical priority. Higher values are preferred.
- Only valid and required for SRV record requests.
- example: 50
- minimum: 0
- maximum: 65535
+ type: "number"
+ description: "__Read-only__ The price of this Item after taxes in US Dollars."
+ region:
+ readOnly: true
+ example: "us-west"
x-linode-cli-display: 7
- port:
- type: integer
- description: >
- The port this Record points to. Only valid and required for SRV record requests.
- example: 80
- minimum: 0
- maximum: 65535
- service:
- type: string
- nullable: true
- description: >
- The name of the service. An underscore (`_`) is prepended and a period (`.`) is appended automatically to the
- submitted value for this property. Only valid and required for SRV record requests.
- example: null
- protocol:
- type: string
- nullable: true
- description: >
- The protocol this Record's service communicates with. An underscore (`_`) is prepended
- automatically to the submitted value for this property. Only valid
- for SRV record requests.
- example: null
- ttl_sec:
- type: integer
- description: >
- "Time to Live" - the amount of time in seconds that this Domain's
- records may be cached by resolvers or other domain servers. Valid
- values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800,
- 345600, 604800, 1209600, and 2419200 - any other value will be
- rounded to the nearest valid value.
- example: 604800
- x-linode-cli-display: 5
- tag:
- type: string
- enum:
- - issue
- - issuewild
- - iodef
+ type: "string"
+ description: "__Read-only__ The ID of the applicable Region associated with this Invoice Item.\n\n`null` if there is no applicable Region."
nullable: true
- description: >
- The tag portion of a CAA record. Only valid and required for CAA record requests.
- example: null
- x-linode-filterable: true
- created:
- type: string
- format: date-time
- description: When this Domain Record was created.
- example: '2018-01-01T00:01:01'
+ type:
+ description: "__Read-only__ The type of service, ether `hourly` or `misc`."
+ type: "string"
+ example: "hourly"
+ enum:
+ - "hourly"
+ - "misc"
readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Domain Record was last updated.
- example: '2018-01-01T00:01:01'
+ label:
readOnly: true
- EntityTransfer:
- type: object
- description: >
- An object representing an Entity Transfer.
- properties:
- token:
+ example: "Linode 123"
x-linode-cli-display: 1
- type: string
- format: uuid
- description: >
- The token used to identify and accept or cancel this transfer.
- example: "123E4567-E89B-12D3-A456-426614174000"
- status:
+ type: "string"
+ description: "__Read-only__ The Invoice Item's display label."
+ to:
+ example: "2018-01-31T11:59:59"
+ readOnly: true
+ description: "__Read-only__ The date the Invoice Item ended, based on month."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 3
+ amount:
+ example: 20.2
+ readOnly: true
+ description: "__Read-only__ The price, in US dollars, of the Invoice Item. Equal to the unit price multiplied by quantity."
+ type: "number"
+ x-linode-cli-display: 4
+ x-akamai:
+ file-path: "schemas/invoice-item.yaml"
+ added-get-child-accounts-200:
+ x-akamai:
+ file-path: "schemas/added-get-child-accounts-200.yaml"
+ properties:
+ page:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Child account object."
+ x-akamai:
+ file-path: "schemas/child-account.yaml"
+ properties:
+ zip:
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Can't contain more than 9 letter or number characters."
+ type: "string"
+ x-linode-filterable: true
+ example: "92111-1234"
+ capabilities:
+ type: "array"
+ description: "__Read-only__ A list of the capabilities the child account supports."
+ items:
+ type: "string"
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ readOnly: true
+ address_2:
+ type: "string"
+ description: "__Filterable__ Second line of this child account's billing address, if applicable."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "Suite A"
+ maxLength: 64
+ first_name:
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ maxLength: 50
+ example: "John"
+ x-linode-filterable: true
+ active_since:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The activation date and time for the child account."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ balance:
+ readOnly: true
+ example: 200
+ x-linode-cli-display: 4
+ description: "__Read-only__ This child account's balance, in US dollars."
+ type: "number"
+ city:
+ type: "string"
+ description: "__Filterable__ The city for this child account's billing address."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ maxLength: 24
+ example: "San Diego"
+ state:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.\n\n__Note__. If this is a US military address, use state abbreviations (AA, AE, AP)."
+ example: "CA"
+ maxLength: 24
+ x-linode-filterable: true
+ credit_card:
+ description: "__Read-only__ Information for the credit card you've assigned to this child account."
+ type: "object"
+ properties:
+ last_four:
+ description: "The last four digits of the credit card."
+ type: "string"
+ example: 1111
+ expiry:
+ example: "11/2024"
+ description: "The expiration month and year of the credit card."
+ type: "string"
+ additionalProperties: false
+ readOnly: true
+ euuid:
+ format: "uuid"
+ description: "__Read-only__ An external, unique identifier that Akamai assigned to the child account."
+ type: "string"
+ readOnly: true
+ example: "A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ address_1:
+ x-linode-filterable: true
+ maxLength: 64
+ example: "123 Main Street"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ First line of this child account's billing address."
+ type: "string"
+ country:
+ type: "string"
+ description: "__Filterable__ The two-letter ISO 3166 country code for this child account's billing address."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "US"
+ last_name:
+ description: "__Filterable__ The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ maxLength: 50
+ example: "Smith"
+ balance_uninvoiced:
+ x-linode-cli-display: 4
+ description: "__Read-only__ This child account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ type: "number"
+ readOnly: true
+ example: 145
+ email:
+ type: "string"
+ description: "__Filterable__ The email address of the owner of this child account."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ x-linode-filterable: true
+ maxLength: 128
+ example: "john.smith@linode.com"
+ billing_source:
+ type: "string"
+ description: "__Read-only__ The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment."
+ readOnly: true
+ enum:
+ - "external"
+ example: "external"
+ company:
+ type: "string"
+ description: "__Filterable__ The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ maxLength: 128
+ example: "Acme"
+ phone:
+ description: "__Filterable__ The phone number for the owner of this child account."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "858-555-1212"
+ maxLength: 32
+ x-linode-filterable: true
+ tax_id:
+ example: "ATU99999999"
+ maxLength: 25
+ type: "string"
+ description: "The tax identification number for this child account. Use this for tax calculations in some countries. If you live in a country that doesn't collect taxes, ensure this is an empty string (`\"\"`)."
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ type: "object"
+ additionalProperties: false
+ event:
+ additionalProperties: false
+ properties:
+ status:
+ readOnly: true
+ enum:
+ - "failed"
+ - "finished"
+ - "notification"
+ - "scheduled"
+ - "started"
+ x-linode-cli-display: 8
+ description: "__Read-only__ The current status of this Event."
+ type: "string"
+ x-linode-cli-color:
+ failed: "red"
+ default_: "white"
+ finished: "green"
+ started: "yellow"
+ duration:
+ readOnly: true
+ example: 300.56
+ x-linode-cli-display: 7
+ description: "__Read-only__ The total duration in seconds that it takes for the Event to complete."
+ type: "number"
+ username:
+ nullable: true
+ description: "__Read-only__ The username of the User who caused the Event."
+ type: "string"
x-linode-cli-display: 2
+ example: "exampleUser"
+ readOnly: true
+ secondary_entity:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ Detailed information about the Event's secondary entity, which provides additional information for events such as, but not limited to, `linode_boot`, `linode_reboot`, `linode_create`, and `linode_clone` Event actions."
+ properties:
+ type:
+ type: "string"
+ description: "__Read-only__ The type of entity that is being referenced by the Event."
+ example: "linode"
+ readOnly: true
+ label:
+ example: "linode1234"
+ description: "The label of this object."
+ type: "string"
+ url:
+ example: "/v4/linode/instances/1234"
+ type: "string"
+ description: "The URL where you can access the object this Event is for. If a relative URL, it is relative to the domain you retrieved the Event from."
+ id:
+ description: "The ID of the object that is the secondary entity."
+ type: "string"
+ example: "linode/debian9"
+ message:
+ x-linode-cli-display: 9
+ nullable: true
+ description: "Provides additional information about the event. Additional information may include, but is not limited to, a more detailed representation of events which can help diagnose non-obvious failures."
+ type: "string"
+ example: "None"
+ created:
+ example: "2018-01-01T00:01:01"
x-linode-filterable: true
- x-linode-cli-color:
- accepted: yellow
- canceled: red
- completed: green
- failed: red
- pending: yellow
- stale: red
- default_: white
- type: string
- enum:
- - accepted
- - canceled
- - completed
- - failed
- - pending
- - stale
- description: >
- The status of the transfer request.
-
-
- `accepted`: The transfer has been accepted by another user and is currently in progress.
- Transfers can take up to 3 hours to complete.
-
-
- `canceled`: The transfer has been canceled by the sender.
-
-
- `completed`: The transfer has completed successfully.
-
-
- `failed`: The transfer has failed after initiation.
-
-
- `pending`: The transfer is ready to be accepted.
-
-
- `stale`: The transfer has exceeded its expiration date. It can no longer be accepted or
- canceled.
- example: 'pending'
- created:
- type: string
- format: date-time
- description: >
- When this transfer was created.
- example: '2021-02-11T16:37:03'
- updated:
- type: string
- format: date-time
- description: >
- When this transfer was last updated.
- example: '2021-02-11T16:37:03'
- is_sender:
- x-linode-cli-display: 4
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this Event was created."
+ x-linode-cli-display: 6
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ read:
x-linode-filterable: true
- type: boolean
- description: >
- If the requesting account created this transfer.
example: true
- expiry:
- x-linode-cli-display: 3
- type: string
- format: date-time
- description: >
- When this transfer expires. Transfers will automatically expire 24 hours after creation.
- example: '2021-02-12T16:37:03'
- entities:
- type: object
- description: >
- A collection of the entities to include in this transfer request, separated by type.
- properties:
- linodes:
- x-linode-cli-display: 5
- type: array
- items:
- type: integer
- description: >
- An array containing the IDs of each of the Linodes included in this transfer.
- example: [111, 222]
- ErrorObject:
- type: object
- description: >
- An object for describing a single error that occurred during the processing of a request.
- properties:
- reason:
- type: string
- description: >
- What happened to cause this error. In most cases, this can be fixed immediately by
- changing the data you sent in the request, but in some cases you will be instructed to
- [open a Support Ticket](/docs/api/support/#support-ticket-open) or perform some
- other action before you can complete the request successfully.
- example: fieldname must be a valid value
- field:
- type: string
- description: >
- The field in the request that caused this error. This may be a path, separated by
- periods in the case of nested fields. In some cases this may come back as "null" if the
- error is not specific to any single element of the request.
- example: fieldname
- Event:
- type: object
- description: >
- A collection of Event objects. An Event is an action taken against an
- entity related to your Account. For example, booting a Linode would
- create an Event.
-
- The Events returned depends on your grants.
- properties:
- id:
- type: integer
readOnly: true
- description: The unique ID of this Event.
- example: 123
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ If this Event has been read."
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of this Event."
+ x-akamai:
+ labels:
+ - "Filterable"
x-linode-cli-display: 1
x-linode-filterable: true
- action:
- type: string
- enum:
- - account_update
- - account_settings_update
- - backups_enable
- - backups_cancel
- - backups_restore
- - community_question_reply
- - community_like
- - credit_card_updated
- - disk_create
- - disk_delete
- - disk_update
- - disk_duplicate
- - disk_imagize
- - disk_resize
- - dns_record_create
- - dns_record_delete
- - dns_record_update
- - dns_zone_create
- - dns_zone_delete
- - dns_zone_import
- - dns_zone_update
- - entity_transfer_accept
- - entity_transfer_cancel
- - entity_transfer_create
- - entity_transfer_fail
- - entity_transfer_stale
- - firewall_create
- - firewall_delete
- - firewall_disable
- - firewall_enable
- - firewall_update
- - firewall_device_add
- - firewall_device_remove
- - host_reboot
- - image_delete
- - image_update
- - image_upload
- - ipaddress_update
- - lassie_reboot
- - lish_boot
- - linode_addip
- - linode_boot
- - linode_clone
- - linode_create
- - linode_delete
- - linode_update
- - linode_deleteip
- - linode_migrate
- - linode_migrate_datacenter
- - linode_migrate_datacenter_create
- - linode_mutate
- - linode_mutate_create
- - linode_reboot
- - linode_rebuild
- - linode_resize
- - linode_resize_create
- - linode_shutdown
- - linode_snapshot
- - linode_config_create
- - linode_config_delete
- - linode_config_update
- - lke_node_create
- - longviewclient_create
- - longviewclient_delete
- - longviewclient_update
- - managed_disabled
- - managed_enabled
- - managed_service_create
- - managed_service_delete
- - nodebalancer_create
- - nodebalancer_delete
- - nodebalancer_update
- - nodebalancer_config_create
- - nodebalancer_config_delete
- - nodebalancer_config_update
- - nodebalancer_node_create
- - nodebalancer_node_delete
- - nodebalancer_node_update
- - oauth_client_create
- - oauth_client_delete
- - oauth_client_secret_reset
- - oauth_client_update
- - obj_access_key_create
- - obj_access_key_delete
- - obj_access_key_update
- - password_reset
- - payment_method_add
- - payment_submitted
- - profile_update
- - stackscript_create
- - stackscript_delete
- - stackscript_update
- - stackscript_publicize
- - stackscript_revise
- - subnet_create
- - subnet_delete
- - subnet_update
- - tag_create
- - tag_delete
- - tfa_disabled
- - tfa_enabled
- - ticket_attachment_upload
- - ticket_create
- - ticket_update
- - token_create
- - token_delete
- - token_update
- - user_create
- - user_update
- - user_delete
- - user_ssh_key_add
- - user_ssh_key_delete
- - user_ssh_key_update
- - vlan_attach
- - vlan_detach
- - volume_attach
- - volume_clone
- - volume_create
- - volume_delete
- - volume_update
- - volume_detach
- - volume_resize
- - vpc_create
- - vpc_delete
- - vpc_update
+ example: 123
readOnly: true
- description: >
- The action that caused this Event. New actions may be added in the future.
- example: ticket_create
- x-linode-cli-display: 3
- x-linode-filterable: true
- created:
- type: string
+ time_remaining:
+ type: "string"
+ description: "__Read-only__ The estimated time remaining until the completion of this Event. This value is only returned for some in-progress migration events. For all other in-progress events, the `percent_complete` attribute will indicate about how much more work is to be done."
+ nullable: true
readOnly: true
- format: date-time
- description: When this Event was created.
- example: '2018-01-01T00:01:01'
- x-linode-cli-display: 6
+ example: null
+ action:
+ example: "ticket_create"
+ enum:
+ - "account_update"
+ - "account_settings_update"
+ - "aclb_create"
+ - "aclb_update"
+ - "aclb_delete"
+ - "aclb_config_create"
+ - "aclb_config_update"
+ - "aclb_config_delete"
+ - "aclb_route_create"
+ - "aclb_route_update"
+ - "aclb_route_delete"
+ - "aclb_servicetarget_create"
+ - "aclb_servicetarget_update"
+ - "aclb_servicetarget_delete"
+ - "aclb_certificate_create"
+ - "aclb_certificate_update"
+ - "aclb_certificate_delete"
+ - "backups_enable"
+ - "backups_cancel"
+ - "backups_restore"
+ - "community_question_reply"
+ - "community_like"
+ - "credit_card_updated"
+ - "disk_create"
+ - "disk_delete"
+ - "disk_update"
+ - "disk_duplicate"
+ - "disk_imagize"
+ - "disk_resize"
+ - "dns_record_create"
+ - "dns_record_delete"
+ - "dns_record_update"
+ - "dns_zone_create"
+ - "dns_zone_delete"
+ - "dns_zone_import"
+ - "dns_zone_update"
+ - "entity_transfer_accept"
+ - "entity_transfer_cancel"
+ - "entity_transfer_create"
+ - "entity_transfer_fail"
+ - "entity_transfer_stale"
+ - "firewall_create"
+ - "firewall_delete"
+ - "firewall_disable"
+ - "firewall_enable"
+ - "firewall_update"
+ - "firewall_device_add"
+ - "firewall_device_remove"
+ - "host_reboot"
+ - "image_delete"
+ - "image_update"
+ - "image_upload"
+ - "ipaddress_update"
+ - "lassie_reboot"
+ - "lish_boot"
+ - "linode_addip"
+ - "linode_boot"
+ - "linode_clone"
+ - "linode_create"
+ - "linode_delete"
+ - "linode_update"
+ - "linode_deleteip"
+ - "linode_migrate"
+ - "linode_migrate_datacenter"
+ - "linode_migrate_datacenter_create"
+ - "linode_mutate"
+ - "linode_mutate_create"
+ - "linode_reboot"
+ - "linode_rebuild"
+ - "linode_resize"
+ - "linode_resize_create"
+ - "linode_shutdown"
+ - "linode_snapshot"
+ - "linode_config_create"
+ - "linode_config_delete"
+ - "linode_config_update"
+ - "lke_node_create"
+ - "longviewclient_create"
+ - "longviewclient_delete"
+ - "longviewclient_update"
+ - "managed_disabled"
+ - "managed_enabled"
+ - "managed_service_create"
+ - "managed_service_delete"
+ - "nodebalancer_create"
+ - "nodebalancer_delete"
+ - "nodebalancer_update"
+ - "nodebalancer_config_create"
+ - "nodebalancer_config_delete"
+ - "nodebalancer_config_update"
+ - "nodebalancer_node_create"
+ - "nodebalancer_node_delete"
+ - "nodebalancer_node_update"
+ - "oauth_client_create"
+ - "oauth_client_delete"
+ - "oauth_client_secret_reset"
+ - "oauth_client_update"
+ - "obj_access_key_create"
+ - "obj_access_key_delete"
+ - "obj_access_key_update"
+ - "password_reset"
+ - "payment_method_add"
+ - "payment_submitted"
+ - "placement_group_assign"
+ - "placement_group_became_compliant"
+ - "placement_group_became_non_compliant"
+ - "placement_group_create"
+ - "placement_group_delete"
+ - "placement_group_unassign"
+ - "placement_group_update"
+ - "profile_update"
+ - "stackscript_create"
+ - "stackscript_delete"
+ - "stackscript_update"
+ - "stackscript_publicize"
+ - "stackscript_revise"
+ - "subnet_create"
+ - "subnet_delete"
+ - "subnet_update"
+ - "tag_create"
+ - "tag_delete"
+ - "tfa_disabled"
+ - "tfa_enabled"
+ - "ticket_attachment_upload"
+ - "ticket_create"
+ - "ticket_update"
+ - "token_create"
+ - "token_delete"
+ - "token_update"
+ - "user_create"
+ - "user_update"
+ - "user_delete"
+ - "user_ssh_key_add"
+ - "user_ssh_key_delete"
+ - "user_ssh_key_update"
+ - "vlan_attach"
+ - "vlan_detach"
+ - "volume_attach"
+ - "volume_clone"
+ - "volume_create"
+ - "volume_delete"
+ - "volume_update"
+ - "volume_detach"
+ - "volume_resize"
+ - "vpc_create"
+ - "vpc_delete"
+ - "vpc_update"
x-linode-filterable: true
- duration:
- type: number
- readOnly: true
- description: >
- The total duration in seconds that it takes for the Event to complete.
- example: 300.56
- x-linode-cli-display: 7
- entity:
- type: object
readOnly: true
- description: >
- Detailed information about the Event's entity, including ID, type,
- label, and URL used to access it.
- properties:
- id:
- type: integer
- description: |
- The unique ID for an Event's entity.
-
-
- Some Event entities do not have IDs associated with them, so they
- will not be returned when filtering by ID. These Events include:
- * `account`
- * `profile`
-
- Entities for some Events are assigned the ID of the Linode they correspond to.
- When filtering by ID for these Events, use the corresponding Linode's ID.
- These Events include:
- * `disks`
- * `backups`
-
-
- Tag Events use a tag's name for the entity ID field. When filtering by ID
- for tag Events, supply the name of the tag.
- example: 11111
+ type: "string"
+ description: "__Filterable__, __Read-only__ The action that caused this Event. New actions may be added in the future."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ entity:
+ properties:
+ id:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "integer"
+ description: "__Filterable__ The unique ID for an Event's entity.\n\nSome Event entities do not have IDs associated with them, so they will not be returned when filtering by ID. These Events include:\n\n - `account`\n - `profile`\n\nEntities for some Events are assigned the ID of the Linode they correspond to. When filtering by ID for these Events, use the corresponding Linode's ID. These Events include:\n\n - `disks`\n - `backups`\n\nTag Events use a tag's name for the entity ID field. When filtering by ID for tag Events, supply the name of the tag."
x-linode-filterable: true
- label:
- type: string
- description: >
- The current label of this object. The label may reflect changes
- that occur with this Event.
- example: Problem booting my Linode
+ example: 11111
+ url:
+ type: "string"
+ description: "The URL where you can access the object this Event is for. If a relative URL, it is relative to the domain you retrieved the Event from."
+ example: "/v4/support/tickets/11111"
+ label:
+ example: "Problem booting my Linode"
x-linode-cli-display: 5
- type:
- type: string
- enum:
- - account
- - backups
- - community
- - disks
- - domain
- - entity_transfer
- - firewall
- - image
- - ipaddress
- - linode
- - longview
- - managed_service
- - nodebalancer
- - oauth_client
- - profile
- - stackscript
- - tag
- - ticket
- - token
- - user
- - user_ssh_key
- - volume
+ type: "string"
+ description: "The current label of this object. The label may reflect changes that occur with this Event."
+ type:
readOnly: true
- description: >
- The type of entity that is being referenced by the Event.
- example: ticket
x-linode-filterable: true
- url:
- type: string
- description: >
- The URL where you can access the object this Event is for. If
- a relative URL, it is relative to the domain you retrieved the
- Event from.
- example: /v4/support/tickets/11111
- secondary_entity:
- type: object
+ example: "ticket"
+ enum:
+ - "account"
+ - "backups"
+ - "community"
+ - "disks"
+ - "domain"
+ - "entity_transfer"
+ - "firewall"
+ - "image"
+ - "ipaddress"
+ - "linode"
+ - "longview"
+ - "loadbalancer"
+ - "managed_service"
+ - "nodebalancer"
+ - "oauth_client"
+ - "profile"
+ - "stackscript"
+ - "tag"
+ - "ticket"
+ - "token"
+ - "user"
+ - "user_ssh_key"
+ - "volume"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The type of entity that is being referenced by the Event."
+ type: "string"
+ type: "object"
+ description: "__Read-only__ Detailed information about the Event's entity, including ID, type, label, and URL used to access it."
readOnly: true
- description: |
- Detailed information about the Event's secondary entity, which provides additional information
- for events such as, but not limited to, `linode_boot`, `linode_reboot`, `linode_create`, and `linode_clone` Event actions.
- properties:
- id:
- type: string
- description: >
- The ID of the object that is the secondary entity.
- example: linode/debian9
- label:
- type: string
- description: >
- The label of this object.
- example: linode1234
- type:
- type: string
- readOnly: true
- description: >
- The type of entity that is being referenced by the Event.
- example: linode
- url:
- type: string
- description: >
- The URL where you can access the object this Event is for. If
- a relative URL, it is relative to the domain you retrieved the
- Event from.
- example: /v4/linode/instances/1234
- percent_complete:
- type: integer
+ additionalProperties: false
+ seen:
readOnly: true
- description: >
- A percentage estimating the amount of time remaining for an Event.
-
- Returns `null` for notification events.
+ example: true
+ description: "__Read-only__ If this Event has been seen."
+ type: "boolean"
+ percent_complete:
+ type: "integer"
+ description: "__Read-only__ A percentage estimating the amount of time remaining for an Event. Returns `null` for notification events."
example: null
- rate:
- type: string
readOnly: true
- description: >
- The rate of completion of the Event. Only some Events will return
- rate; for example, migration and resize Events.
- example: null
- read:
- type: boolean
+ rate:
readOnly: true
- description: If this Event has been read.
+ example: null
+ description: "__Read-only__ The rate of completion of the Event. Only some Events will return rate; for example, migration and resize Events."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/event.yaml"
+ type: "object"
+ description: "A collection of Event objects. An Event is an action taken against an entity related to your Account. For example, booting a Linode would create an Event. The Events returned depends on your grants."
+ agreements:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/agreements.yaml"
+ properties:
+ master_service_agreement:
+ type: "boolean"
+ description: "The acknowledgement status for Akamai's [master service agreement](https://www.linode.com/legal-msa/)."
example: true
- x-linode-filterable: true
- seen:
- type: boolean
- readOnly: true
- description: If this Event has been seen.
+ eu_model:
+ example: true
+ type: "boolean"
+ description: "The acknowledgement status for the [cross-border data transfer](https://www.akamai.com/legal/compliance/privacy-trust-center/cross-border-data-transfer-statement) agreement."
+ privacy_policy:
+ type: "boolean"
+ description: "The acknowledgement status for Akamai's [privacy statement](https://www.akamai.com/legal/privacy-statement)."
example: true
- status:
- type: string
+ description: "Acknowledgment status for agreements on your account. When acknowledging any agreements, set them to `true` and omit any remainders."
+ type: "object"
+ added-get-events-200:
+ type: "object"
+ properties:
+ page:
+ example: 1
readOnly: true
- description: The current status of this Event.
- enum:
- - failed
- - finished
- - notification
- - scheduled
- - started
- x-linode-cli-display: 8
- x-linode-cli-color:
- failed: red
- finished: green
- started: yellow
- default_: white
- time_remaining:
- type: string
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "A collection of Event objects. An Event is an action taken against an entity related to your Account. For example, booting a Linode would create an Event. The Events returned depends on your grants."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/event.yaml"
+ properties:
+ entity:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ label:
+ x-linode-cli-display: 5
+ description: "The current label of this object. The label may reflect changes that occur with this Event."
+ type: "string"
+ example: "Problem booting my Linode"
+ type:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The type of entity that is being referenced by the Event."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "ticket"
+ enum:
+ - "account"
+ - "backups"
+ - "community"
+ - "disks"
+ - "domain"
+ - "entity_transfer"
+ - "firewall"
+ - "image"
+ - "ipaddress"
+ - "linode"
+ - "longview"
+ - "loadbalancer"
+ - "managed_service"
+ - "nodebalancer"
+ - "oauth_client"
+ - "profile"
+ - "stackscript"
+ - "tag"
+ - "ticket"
+ - "token"
+ - "user"
+ - "user_ssh_key"
+ - "volume"
+ x-linode-filterable: true
+ readOnly: true
+ url:
+ type: "string"
+ description: "The URL where you can access the object this Event is for. If a relative URL, it is relative to the domain you retrieved the Event from."
+ example: "/v4/support/tickets/11111"
+ id:
+ type: "integer"
+ description: "__Filterable__ The unique ID for an Event's entity.\n\nSome Event entities do not have IDs associated with them, so they will not be returned when filtering by ID. These Events include:\n\n - `account`\n - `profile`\n\nEntities for some Events are assigned the ID of the Linode they correspond to. When filtering by ID for these Events, use the corresponding Linode's ID. These Events include:\n\n - `disks`\n - `backups`\n\nTag Events use a tag's name for the entity ID field. When filtering by ID for tag Events, supply the name of the tag."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 11111
+ x-linode-filterable: true
+ description: "__Read-only__ Detailed information about the Event's entity, including ID, type, label, and URL used to access it."
+ type: "object"
+ action:
+ readOnly: true
+ enum:
+ - "account_update"
+ - "account_settings_update"
+ - "aclb_create"
+ - "aclb_update"
+ - "aclb_delete"
+ - "aclb_config_create"
+ - "aclb_config_update"
+ - "aclb_config_delete"
+ - "aclb_route_create"
+ - "aclb_route_update"
+ - "aclb_route_delete"
+ - "aclb_servicetarget_create"
+ - "aclb_servicetarget_update"
+ - "aclb_servicetarget_delete"
+ - "aclb_certificate_create"
+ - "aclb_certificate_update"
+ - "aclb_certificate_delete"
+ - "backups_enable"
+ - "backups_cancel"
+ - "backups_restore"
+ - "community_question_reply"
+ - "community_like"
+ - "credit_card_updated"
+ - "disk_create"
+ - "disk_delete"
+ - "disk_update"
+ - "disk_duplicate"
+ - "disk_imagize"
+ - "disk_resize"
+ - "dns_record_create"
+ - "dns_record_delete"
+ - "dns_record_update"
+ - "dns_zone_create"
+ - "dns_zone_delete"
+ - "dns_zone_import"
+ - "dns_zone_update"
+ - "entity_transfer_accept"
+ - "entity_transfer_cancel"
+ - "entity_transfer_create"
+ - "entity_transfer_fail"
+ - "entity_transfer_stale"
+ - "firewall_create"
+ - "firewall_delete"
+ - "firewall_disable"
+ - "firewall_enable"
+ - "firewall_update"
+ - "firewall_device_add"
+ - "firewall_device_remove"
+ - "host_reboot"
+ - "image_delete"
+ - "image_update"
+ - "image_upload"
+ - "ipaddress_update"
+ - "lassie_reboot"
+ - "lish_boot"
+ - "linode_addip"
+ - "linode_boot"
+ - "linode_clone"
+ - "linode_create"
+ - "linode_delete"
+ - "linode_update"
+ - "linode_deleteip"
+ - "linode_migrate"
+ - "linode_migrate_datacenter"
+ - "linode_migrate_datacenter_create"
+ - "linode_mutate"
+ - "linode_mutate_create"
+ - "linode_reboot"
+ - "linode_rebuild"
+ - "linode_resize"
+ - "linode_resize_create"
+ - "linode_shutdown"
+ - "linode_snapshot"
+ - "linode_config_create"
+ - "linode_config_delete"
+ - "linode_config_update"
+ - "lke_node_create"
+ - "longviewclient_create"
+ - "longviewclient_delete"
+ - "longviewclient_update"
+ - "managed_disabled"
+ - "managed_enabled"
+ - "managed_service_create"
+ - "managed_service_delete"
+ - "nodebalancer_create"
+ - "nodebalancer_delete"
+ - "nodebalancer_update"
+ - "nodebalancer_config_create"
+ - "nodebalancer_config_delete"
+ - "nodebalancer_config_update"
+ - "nodebalancer_node_create"
+ - "nodebalancer_node_delete"
+ - "nodebalancer_node_update"
+ - "oauth_client_create"
+ - "oauth_client_delete"
+ - "oauth_client_secret_reset"
+ - "oauth_client_update"
+ - "obj_access_key_create"
+ - "obj_access_key_delete"
+ - "obj_access_key_update"
+ - "password_reset"
+ - "payment_method_add"
+ - "payment_submitted"
+ - "placement_group_assign"
+ - "placement_group_became_compliant"
+ - "placement_group_became_non_compliant"
+ - "placement_group_create"
+ - "placement_group_delete"
+ - "placement_group_unassign"
+ - "placement_group_update"
+ - "profile_update"
+ - "stackscript_create"
+ - "stackscript_delete"
+ - "stackscript_update"
+ - "stackscript_publicize"
+ - "stackscript_revise"
+ - "subnet_create"
+ - "subnet_delete"
+ - "subnet_update"
+ - "tag_create"
+ - "tag_delete"
+ - "tfa_disabled"
+ - "tfa_enabled"
+ - "ticket_attachment_upload"
+ - "ticket_create"
+ - "ticket_update"
+ - "token_create"
+ - "token_delete"
+ - "token_update"
+ - "user_create"
+ - "user_update"
+ - "user_delete"
+ - "user_ssh_key_add"
+ - "user_ssh_key_delete"
+ - "user_ssh_key_update"
+ - "vlan_attach"
+ - "vlan_detach"
+ - "volume_attach"
+ - "volume_clone"
+ - "volume_create"
+ - "volume_delete"
+ - "volume_update"
+ - "volume_detach"
+ - "volume_resize"
+ - "vpc_create"
+ - "vpc_delete"
+ - "vpc_update"
+ example: "ticket_create"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The action that caused this Event. New actions may be added in the future."
+ time_remaining:
+ nullable: true
+ description: "__Read-only__ The estimated time remaining until the completion of this Event. This value is only returned for some in-progress migration events. For all other in-progress events, the `percent_complete` attribute will indicate about how much more work is to be done."
+ type: "string"
+ example: null
+ readOnly: true
+ rate:
+ type: "string"
+ description: "__Read-only__ The rate of completion of the Event. Only some Events will return rate; for example, migration and resize Events."
+ example: null
+ readOnly: true
+ percent_complete:
+ readOnly: true
+ example: null
+ type: "integer"
+ description: "__Read-only__ A percentage estimating the amount of time remaining for an Event. Returns `null` for notification events."
+ seen:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ If this Event has been seen."
+ username:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The username of the User who caused the Event."
+ nullable: true
+ readOnly: true
+ example: "exampleUser"
+ secondary_entity:
+ type: "object"
+ description: "__Read-only__ Detailed information about the Event's secondary entity, which provides additional information for events such as, but not limited to, `linode_boot`, `linode_reboot`, `linode_create`, and `linode_clone` Event actions."
+ properties:
+ id:
+ type: "string"
+ description: "The ID of the object that is the secondary entity."
+ example: "linode/debian9"
+ type:
+ description: "__Read-only__ The type of entity that is being referenced by the Event."
+ type: "string"
+ readOnly: true
+ example: "linode"
+ label:
+ example: "linode1234"
+ type: "string"
+ description: "The label of this object."
+ url:
+ example: "/v4/linode/instances/1234"
+ description: "The URL where you can access the object this Event is for. If a relative URL, it is relative to the domain you retrieved the Event from."
+ type: "string"
+ readOnly: true
+ additionalProperties: false
+ duration:
+ readOnly: true
+ example: 300.56
+ x-linode-cli-display: 7
+ description: "__Read-only__ The total duration in seconds that it takes for the Event to complete."
+ type: "number"
+ status:
+ readOnly: true
+ enum:
+ - "failed"
+ - "finished"
+ - "notification"
+ - "scheduled"
+ - "started"
+ x-linode-cli-display: 8
+ type: "string"
+ description: "__Read-only__ The current status of this Event."
+ x-linode-cli-color:
+ started: "yellow"
+ finished: "green"
+ failed: "red"
+ default_: "white"
+ id:
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of this Event."
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ read:
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ If this Event has been read."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: true
+ x-linode-filterable: true
+ readOnly: true
+ created:
+ description: "__Filterable__, __Read-only__ When this Event was created."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ readOnly: true
+ message:
+ x-linode-cli-display: 9
+ description: "Provides additional information about the event. Additional information may include, but is not limited to, a more detailed representation of events which can help diagnose non-obvious failures."
+ type: "string"
+ nullable: true
+ example: "None"
+ pages:
readOnly: true
- nullable: true
- description: >
- The estimated time remaining until the completion of this Event.
- This value is only returned for some in-progress migration events.
- For all other in-progress events, the `percent_complete` attribute
- will indicate about how much more work is to be done.
- example: null
- username:
- type: string
+ example: 1
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ results:
+ example: 1
readOnly: true
- nullable: true
- description: >
- The username of the User who caused the Event.
- example: exampleUser
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-get-events-200.yaml"
+ additionalProperties: false
+ service-transfer:
+ additionalProperties: false
+ properties:
+ token:
+ description: "The token used to identify and accept or cancel this transfer."
+ type: "string"
+ x-linode-cli-display: 1
+ format: "uuid"
+ example: "123E4567-E89B-12D3-A456-426614174000"
+ is_sender:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ description: "__Filterable__ If the requesting account created this transfer."
+ type: "boolean"
+ x-linode-filterable: true
+ example: true
+ expiry:
+ example: "2021-02-12T16:37:03"
+ type: "string"
+ description: "When this transfer expires. Transfers will automatically expire 24 hours after creation."
+ x-linode-cli-display: 3
+ format: "date-time"
+ entities:
+ type: "object"
+ description: "A collection of the services to include in this transfer request, separated by type."
+ properties:
+ linodes:
+ example:
+ - 111
+ - 222
+ items:
+ type: "integer"
+ x-linode-cli-display: 5
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ type: "array"
+ additionalProperties: false
+ created:
+ type: "string"
+ description: "When this transfer was created."
+ format: "date-time"
+ example: "2021-02-11T16:37:03"
+ status:
x-linode-cli-display: 2
- message:
- type: string
- nullable: true
- description: >
- Provides additional information about the event. Additional
- information may include, but is not limited to, a more detailed
- representation of events which can help diagnose non-obvious failures.
- example: None
- x-linode-cli-display: 9
- Firewall:
- type: object
- description: >
- A resource that controls incoming and outgoing network traffic to a compute service. Only one enabled Firewall can be attached to a particular service at any given time.
- [Create a Firewall Device](/docs/api/networking/#firewall-create)
- to assign a Firewall to a service. Currently, Firewalls can assigned to Linode compute instances and NodeBalancers.
- properties:
- id:
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The status of the transfer request.\n\n`accepted`: The transfer has been accepted by another user and is currently in progress.\nTransfers can take up to 3 hours to complete.\n\n`canceled`: The transfer has been canceled by the sender.\n\n`completed`: The transfer has completed successfully.\n\n`failed`: The transfer has failed after initiation.\n\n`pending`: The transfer is ready to be accepted.\n\n`stale`: The transfer has exceeded its expiration date. It can no longer be accepted or\ncanceled."
+ type: "string"
+ x-linode-cli-color:
+ accepted: "yellow"
+ canceled: "red"
+ default_: "white"
+ completed: "green"
+ pending: "yellow"
+ stale: "red"
+ failed: "red"
+ enum:
+ - "accepted"
+ - "canceled"
+ - "completed"
+ - "failed"
+ - "pending"
+ - "stale"
+ example: "pending"
x-linode-filterable: true
- type: integer
+ updated:
+ format: "date-time"
+ description: "When this transfer was last updated."
+ type: "string"
+ example: "2021-02-11T16:37:03"
+ x-akamai:
+ file-path: "schemas/service-transfer.yaml"
+ description: "An object representing a Service Transfer."
+ type: "object"
+ added-post-entity-transfer:
+ additionalProperties: false
+ type: "object"
+ properties:
+ entities:
+ additionalProperties: false
+ description: "A collection of the entities to include in this transfer request, separated by type."
+ type: "object"
+ properties:
+ linodes:
+ example:
+ - 111
+ - 222
+ type: "array"
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ x-linode-cli-display: 5
+ items:
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-post-entity-transfer.yaml"
+ required:
+ - "entities"
+ added-get-invoices-200:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-invoices-200.yaml"
+ properties:
+ results:
+ example: 1
readOnly: true
- description: >
- The Firewall's unique ID.
- example: 123
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- description: |
- The Firewall's label, for display purposes only.
-
- Firewall labels have the following constraints:
-
- * Must begin and end with an alphanumeric character.
- * May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).
- * Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row.
- * Must be between 3 and 32 characters.
- * Must be unique.
- example: firewall123
- minLength: 3
- maxLength: 32
- pattern: '^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$'
- x-linode-cli-display: 2
- created:
- x-linode-filterable: true
- type: string
- format: date-time
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ items:
+ properties:
+ total:
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The amount of the Invoice after taxes in US Dollars."
+ type: "number"
+ readOnly: true
+ example: 132.5
+ x-linode-filterable: true
+ tax:
+ type: "number"
+ description: "__Read-only__ The amount of tax levied on the Invoice in US Dollars."
+ x-linode-cli-display: 5
+ example: 12.25
+ readOnly: true
+ billing_source:
+ type: "string"
+ description: "__Filterable__, __Read-only__ `akamai`: This Invoice was generated according to the terms of an agreement between the customer and Akamai.\n\n`linode`: This Invoice was generated according to the default terms, prices, and discounts."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3.5
+ x-linode-filterable: true
+ enum:
+ - "akamai"
+ - "linode"
+ example: "linode"
+ readOnly: true
+ tax_summary:
+ readOnly: true
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ tax:
+ example: 12.25
+ type: "number"
+ description: "The amount of tax subtotal attributable to this source."
+ name:
+ type: "string"
+ description: "The source of this tax subtotal."
+ example: "PA STATE TAX"
+ type: "array"
+ description: "__Read-only__ The amount of tax broken down into subtotals by source."
+ id:
+ description: "__Read-only__ The Invoice's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 123
+ readOnly: true
+ date:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ format: "date-time"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ When this Invoice was generated."
+ type: "string"
+ subtotal:
+ description: "__Read-only__ The amount of the Invoice before taxes in US Dollars."
+ type: "number"
+ x-linode-cli-display: 4
+ example: 120.25
+ readOnly: true
+ label:
+ example: "Invoice"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The Invoice's display label."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-akamai:
+ file-path: "schemas/invoice.yaml"
+ type: "object"
+ description: "Account Invoice object."
+ additionalProperties: false
+ type: "array"
+ page:
readOnly: true
- description: >
- When this Firewall was created.
- example: '2018-01-01T00:01:01'
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "object"
+ account-settings:
+ description: "Account Settings object."
+ type: "object"
+ properties:
+ backups_enabled:
+ description: "Account-wide backups default. If `true`, all Linodes created will automatically be enrolled in the Backups service. If `false`, Linodes will not be enrolled by default, but may still be enrolled on creation or later."
+ type: "boolean"
x-linode-cli-display: 4
- updated:
- x-linode-filterable: true
- type: string
- format: date-time
+ example: true
+ managed:
readOnly: true
- description: >
- When this Firewall was last updated.
- example: '2018-01-02T00:01:01'
+ example: true
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time."
+ object_storage:
+ type: "string"
+ description: "__Read-only__ A string describing the status of this account's Object Storage service enrollment."
x-linode-cli-display: 5
- status:
- type: string
+ default: "disabled"
+ example: "active"
+ enum:
+ - "disabled"
+ - "suspended"
+ - "active"
readOnly: true
- description: >
- The status of this Firewall.
-
- * When a Firewall is first created its status is `enabled`.
- * Use the [Update Firewall](/docs/api/networking/#firewall-update) endpoint to set a Firewall's status to `enabled` or `disabled`.
- * Use the [Delete Firewall](/docs/api/networking/#firewall-delete) endpoint to delete a Firewall.
- enum:
- - enabled
- - disabled
- - deleted
- example: enabled
- x-linode-cli-display: 3
- rules:
- type: object
- description: |
- The inbound and outbound access rules to apply to the Firewall.
-
- A Firewall may have up to 25 rules across its inbound and outbound rulesets.
-
- Multiple rules are applied in order. If two rules conflict, the first rule takes precedence. For example, if the first rule accepts inbound traffic from an address, and the second rule drops inbound traffic the same address, the first rule applies and inbound traffic from that address is accepted.
- properties:
- inbound:
- type: array
- x-linode-cli-format: json
- description: |
- The inbound rules for the firewall, as a JSON array.
- items:
- $ref: '#/components/schemas/FirewallRuleConfig'
- outbound:
- type: array
- x-linode-cli-format: json
- description: |
- The outbound rules for the firewall, as a JSON array.
- items:
- $ref: '#/components/schemas/FirewallRuleConfig'
- inbound_policy:
- type: string
- enum:
- - ACCEPT
- - DROP
- description: |
- The default behavior for inbound traffic. This setting can be overridden by [updating](/docs/api/networking/#firewall-rules-update) the `inbound.action` property of the Firewall Rule.
- example: DROP
- outbound_policy:
- type: string
- enum:
- - ACCEPT
- - DROP
- description: |
- The default behavior for outbound traffic. This setting can be overridden by [updating](/docs/api/networking/#firewall-rules-update) the `outbound.action` property of the Firewall Rule.
- example: DROP
- tags:
- x-linode-filterable: true
- description: >
- An array of tags applied to this object. Tags are for organizational
- purposes only.
- type: array
- items:
- type: string
- example:
- - example tag
- - another example
- FirewallRuleConfig:
- type: object
- description: >
- One of a Firewall's inbound or outbound access rules. The `ports` property
- can be used to allow traffic on a comma-separated list of different ports.
- properties:
- protocol:
- type: string
- enum:
- - TCP
- - UDP
- - ICMP
- - IPENCAP
- description: >
- The type of network traffic affected by this rule.
- example: TCP
- ports:
- type: string
+ longview_subscription:
+ example: "longview-3"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The Longview Pro tier you are currently subscribed to. The value must be a [Longview subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or `null` for Longview Free."
+ x-linode-cli-display: 2
+ network_helper:
+ description: "Enables network helper across all users by default for new Linodes and Linode Configs."
+ type: "boolean"
+ x-linode-cli-display: 1
+ example: false
+ x-akamai:
+ file-path: "schemas/account-settings.yaml"
+ additionalProperties: false
+ added-post-service-transfer:
+ additionalProperties: false
+ type: "object"
+ properties:
+ entities:
+ additionalProperties: false
+ type: "object"
+ description: "A collection of the services to include in this transfer request, separated by type."
+ properties:
+ linodes:
+ x-linode-cli-display: 5
+ items:
+ type: "integer"
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ type: "array"
+ example:
+ - 111
+ - 222
+ required:
+ - "entities"
+ x-akamai:
+ file-path: "schemas/added-post-service-transfer.yaml"
+ user:
+ additionalProperties: false
+ type: "object"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ properties:
+ verified_phone_number:
+ readOnly: true
+ example: "+5555555555"
+ format: "phone"
nullable: true
- description: |
- A string representing the port or ports affected by this rule:
-
- - The string may be a single port, a range of ports, or a comma-separated list of single ports and port ranges. A space is permitted following each comma.
- - A range of ports is inclusive of the start and end values for the range. The end value of the range must be greater than the start value.
- - Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port "080" is not allowed.
- - The ports string can have up to 15 *pieces*, where a single port is treated as one piece, and a port range is treated as two pieces. For example, the string "22-24, 80, 443" has four pieces.
- - If no ports are configured, all ports are affected.
- - Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols.
- example: '22-24, 80, 443'
- addresses:
- type: object
- description: |
- The IPv4 and/or IPv6 addresses affected by this rule. A Rule can have up to 255 total addresses or networks listed across its IPv4 and IPv6 arrays. A network and a single IP are treated as equivalent when accounting for this limit.
-
- Must contain `ipv4`, `ipv6`, or both.
- properties:
- ipv4:
- description: |
- A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.
-
- If "0.0.0.0/0" is included in this list, all IPv4 addresses are affected by this rule.
- type: array
- items:
- type: string
- example:
- - 192.0.2.0/24
- - 198.51.100.2/32
- ipv6:
- description: |
- A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list.
-
- If "::/0" is included in this list, all IPv6 addresses are affected by this rule.
- type: array
- items:
- type: string
- example:
- - 2001:DB8::/128
- action:
- type: string
- enum:
- - ACCEPT
- - DROP
- description: |
- Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule.
- example: ACCEPT
- label:
- type: string
- description: |
- Used to identify this rule. For display purposes only.
- example: firewallrule123
- minLength: 3
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ type: "string"
+ last_login:
+ type: "object"
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ nullable: true
+ properties:
+ status:
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ type: "string"
+ login_datetime:
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ format: "date-time"
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ readOnly: true
+ additionalProperties: false
+ username:
maxLength: 32
- description:
- type: string
- description: |
- Used to describe this rule. For display purposes only.
- example: 'An example firewall rule description.'
- minLength: 1
- maxLength: 100
- FirewallDevices:
- type: object
- description: >
- Associates a Firewall with a Linode or NodeBalancer service. A Firewall can be assigned
- to a single entity at a time. Additional disabled Firewalls can be
- assigned to a service, but they cannot be enabled if another active Firewall
- is already assigned to the same service.
- properties:
- id:
+ example: "example_user"
x-linode-filterable: true
- type: integer
- description: >
- The Device's unique ID
- example: 123
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ minLength: 3
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ restricted:
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ example: true
+ ssh_keys:
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ email:
+ example: "example_user@linode.com"
x-linode-cli-display: 2
- created:
- x-linode-filterable: true
- type: string
- format: date-time
+ format: "email"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ type: "string"
+ tfa_enabled:
readOnly: true
- description: >
- When this Device was created.
- example: '2018-01-01T00:01:01'
- x-linode-cli-display: 3
- updated:
- x-linode-filterable: true
- type: string
- format: date-time
+ example: true
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ password_created:
readOnly: true
- description: >
- When this Device was last updated.
- example: '2018-01-02T00:01:01'
- x-linode-cli-display: 4
- entity:
- type: object
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ type: "string"
+ nullable: true
+ google-pay-data:
+ title: "Google Pay"
+ additionalProperties: false
+ description: "Google Pay information."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/google-pay-data.yaml"
+ properties:
+ last_four:
readOnly: true
- description: >
- The compute service that this Firewall has been applied to.
- properties:
- id:
- description: The entity's ID
- type: integer
- example: 123
- type:
- description: The entity's type.
- type: string
- enum:
- - linode
- - nodebalancer
- example: linode
- label:
- description: The entity's label.
- type: string
- readOnly: true
- example: my-linode
- url:
- description: >
- The API URL path you can use to access this entity.
- type: string
- format: url
- readOnly: true
- example: /v4/linode/instances/123
- Grant:
- type: object
- description: >
- Represents the level of access a restricted User has to a specific
- resource on the Account.
- properties:
- id:
- type: integer
- description: >
- The ID of the entity this grant applies to.
+ example: "1234"
+ type: "string"
+ description: "__Read-only__ The last four digits of the credit card number."
+ expiry:
+ description: "__Read-only__ The expiration month and year of the credit card."
+ type: "string"
+ format: "MM/YYYY"
+ example: "06/2022"
+ readOnly: true
+ card_type:
+ example: "Discover"
+ readOnly: true
+ description: "__Read-only__ The type of credit card."
+ type: "string"
+ payment:
+ description: "Payment object response."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/payment.yaml"
+ properties:
+ date:
+ x-linode-cli-display: 2
+ format: "date-time"
+ description: "__Read-only__ When the Payment was made."
+ type: "string"
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ usd:
+ example: "120.50"
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount, in US dollars, of the Payment."
+ x-linode-cli-display: 3
+ id:
+ type: "integer"
+ description: "__Read-only__ The unique ID of the Payment."
+ x-linode-cli-display: 1
example: 123
- permissions:
- type: string
- nullable: true
- enum:
- - read_only
- - read_write
- description: >
- The level of access this User has to this entity. If null, this
- User has no access.
- example: read_only
- label:
- type: string
- description: >
- The current label of the entity this grant applies to, for display
- purposes.
- example: example-entity
readOnly: true
- GrantsResponse:
- type: object
- description: >
- A structure representing all grants a restricted User has on the
- Account. Not available for unrestricted users, as they have access to
- everything without grants. If retrieved from the `/profile/grants`
- endpoint, entities to which a User has no access will be omitted.
- properties:
- global:
- type: object
- description: >
- A structure containing the Account-level grants a User has.
- properties:
- add_linodes:
- type: boolean
- description: If true, this User may create Linodes.
- example: true
- add_longview:
- type: boolean
- description: If true, this User may create Longview clients and view the current plan.
+ additionalProperties: false
+ credit-card:
+ properties:
+ cvv:
+ description: "CVV (Card Verification Value) of the credit card, typically found on the back of the card."
+ type: "string"
+ format: "digits"
+ minLength: 3
+ maxLength: 4
+ example: "123"
+ expiry_year:
+ description: "A four-digit integer representing the expiration year of your credit card.\n\nThe combination of `expiry_month` and `expiry_year` must result in a month/year combination of the current month or in the future. An expiration date set in the past is invalid."
+ type: "integer"
+ maxLength: 4
+ example: 2020
+ minLength: 4
+ expiry_month:
+ example: 12
+ type: "integer"
+ minimum: 1
+ description: "A value from 1-12 representing the expiration month of your credit card.\n\n - 1 = January\n - 2 = February\n - 3 = March\n - Etc."
+ maximum: 12
+ card_number:
+ minLength: 14
+ type: "string"
+ description: "Your credit card number. No spaces or hyphens (`-`) allowed."
+ format: "digits"
+ example: 4111111111111111
+ maxLength: 24
+ x-akamai:
+ file-path: "schemas/credit-card.yaml"
+ type: "object"
+ description: "An object representing the credit card information you have on file with Linode to make Payments against your Account."
+ additionalProperties: false
+ required:
+ - "card_number"
+ - "expiry_month"
+ - "expiry_year"
+ - "cvv"
+ id:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The unique identifier of the Beta Program."
+ example: "example_open"
+ paypal-data:
+ additionalProperties: false
+ title: "Paypal"
+ x-akamai:
+ file-path: "schemas/paypal-data.yaml"
+ properties:
+ email:
+ readOnly: true
+ example: "example@linode.com"
+ type: "string"
+ description: "__Read-only__ The email address associated with your PayPal account."
+ paypal_id:
+ type: "string"
+ description: "__Read-only__ PayPal Merchant ID associated with your PayPal account."
+ readOnly: true
+ example: "ABC1234567890"
+ type: "object"
+ description: "PayPal information."
+ added-get-notifications-200:
+ properties:
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An important, often time-sensitive item related to your Account."
+ properties:
+ label:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ A short description of this Notification."
+ readOnly: true
+ example: "You have an important ticket open!"
+ entity:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ url:
+ example: "/support/tickets/3456"
+ type: "string"
+ description: "The URL where you can access the object this Notification is for. If a relative URL, it is relative to the domain you retrieved the Notification from.\n\nReturns `null` for the `promotion` entity type."
+ nullable: true
+ type:
+ type: "string"
+ description: "The type of entity this is related to."
+ enum:
+ - "account"
+ - "entity_transfer"
+ - "linode"
+ - "loadbalancers"
+ - "nodebalancer"
+ - "promotion"
+ - "region"
+ - "ticket"
+ - "volume"
+ example: "ticket"
+ label:
+ example: "Linode not booting."
+ type: "string"
+ description: "The current label for this Notification's entity.\n\nReturns `null` for the following entity types:\n\n- `entity_transfer`\n- `promotion`\n- `region`"
+ nullable: true
+ id:
+ example: 3456
+ type: "integer"
+ description: "The unique ID of the Notification's entity, based on the entity type.\n\nReturns `null` for the following entity types:\n\n- `account`\n- `promotion`"
+ nullable: true
+ description: "__Read-only__ Detailed information about the Notification."
+ type: "object"
+ type:
+ enum:
+ - "migration_scheduled"
+ - "migration_imminent"
+ - "migration_pending"
+ - "reboot_scheduled"
+ - "outage"
+ - "payment_due"
+ - "ticket_important"
+ - "ticket_abuse"
+ - "notice"
+ - "maintenance"
+ - "promotion"
+ example: "ticket_important"
+ readOnly: true
+ description: "__Read-only__ The type of Notification this is."
+ type: "string"
+ body:
+ description: "__Read-only__ A full description of this Notification, in markdown format. Not all Notifications include bodies."
+ type: "string"
+ nullable: true
+ example: null
+ readOnly: true
+ message:
+ readOnly: true
+ example: "You have an important ticket open!"
+ x-linode-cli-display: 2
+ description: "__Read-only__ A human-readable description of the Notification."
+ type: "string"
+ when:
+ x-linode-cli-display: 4
+ format: "date-time"
+ description: "__Read-only__ If this Notification is of an Event that will happen at a fixed, future time, this is when the named action will be taken. For example, if a Linode is to be migrated in response to a Security Advisory, this field will contain the approximate time the Linode will be taken offline for migration."
+ type: "string"
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ readOnly: true
+ example: null
+ severity:
+ readOnly: true
+ example: "major"
+ enum:
+ - "minor"
+ - "major"
+ - "critical"
+ x-linode-cli-color:
+ minor: "blue"
+ critical: "b"
+ default_: "white"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Read-only__ The severity of this Notification. This field can be used to decide how prominently to display the Notification, what color to make the display text, etc."
+ until:
+ description: "__Read-only__ If this Notification has a duration, this will be the ending time for the Event/action. For example, if there is scheduled maintenance for one of our systems, `until` would be set to the end of the maintenance window."
+ type: "string"
+ x-linode-cli-display: 5
+ format: "date-time"
+ x-linode-cli-color:
+ default_: "white"
+ None: "black"
+ example: null
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/notification.yaml"
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ x-akamai:
+ file-path: "schemas/added-get-notifications-200.yaml"
+ type: "object"
+ additionalProperties: false
+ is_default:
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "Whether this Payment Method is the default method for automatically processing service charges."
+ example: true
+ added-get-account-logins-200:
+ type: "object"
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ items:
+ type: "object"
+ description: "An object representing a previous successful login for a User."
+ properties:
+ username:
+ example: "example_user"
+ readOnly: true
+ description: "__Read-only__ The username of the User that attempted the login."
+ type: "string"
+ x-linode-cli-display: 4
+ status:
+ readOnly: true
+ example: "successful"
+ enum:
+ - "successful"
+ - "failed"
+ x-linode-cli-display: 5
+ description: "__Read-only__ Whether the login attempt succeeded or failed."
+ type: "string"
+ ip:
+ example: "192.0.2.0"
+ readOnly: true
+ description: "__Read-only__ The remote IP address that requested the login."
+ type: "string"
+ x-linode-cli-display: 3
+ format: "ip"
+ restricted:
+ type: "boolean"
+ description: "__Read-only__ True if the User that attempted the login was a restricted User, false otherwise."
+ x-linode-cli-display: 6
+ example: true
+ readOnly: true
+ id:
+ example: 1234
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The unique ID of this login object."
+ x-linode-cli-display: 1
+ datetime:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When the login was initiated."
+ type: "string"
+ x-linode-cli-display: 2
+ format: "date-time"
+ x-akamai:
+ file-path: "schemas/login.yaml"
+ additionalProperties: false
+ type: "array"
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/added-get-account-logins-200.yaml"
+ additionalProperties: false
+ description:
+ readOnly: true
+ example: "This is an open public beta for an example feature."
+ x-linode-cli-display: 3
+ description: "__Read-only__ Additional details regarding the Beta Program."
+ type: "string"
+ nullable: true
+ grants-response:
+ additionalProperties: false
+ description: "A structure representing all grants a restricted User has on the Account. Not available for unrestricted users, as they have access to everything without grants. If retrieved from the `/profile/grants` endpoint, entities to which a User has no access will be omitted."
+ type: "object"
+ properties:
+ domain:
+ type: "array"
+ description: "The grants this User has for each Domain that is owned by this Account."
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ longview:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ type: "array"
+ description: "The grants this User has for each Longview Client that is owned by this Account."
+ loadbalancer:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ type: "array"
+ description: "The grants this User has for each Cloud Load Balancer that is owned by this Account."
+ vpc:
+ items:
+ additionalProperties: false
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ type: "array"
+ description: "The grants this User has for each VPC that is owned by this Account."
+ volume:
+ items:
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ label:
+ example: "example-entity"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ additionalProperties: false
+ description: "The grants this User has for each Block Storage Volume that is owned by this Account."
+ type: "array"
+ stackscript:
+ items:
+ properties:
+ permissions:
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ label:
+ readOnly: true
+ example: "example-entity"
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ additionalProperties: false
+ description: "The grants this User has for each StackScript that is owned by this Account."
+ type: "array"
+ nodebalancer:
+ items:
+ additionalProperties: false
+ properties:
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "array"
+ description: "The grants this User has for each NodeBalancer that is owned by this Account."
+ database:
+ description: "The grants this User has for each Database that is owned by this Account."
+ type: "array"
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ additionalProperties: false
+ image:
+ description: "The grants this User has for each Image that is owned by this Account."
+ type: "array"
+ items:
+ properties:
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ example: "example-entity"
+ readOnly: true
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ additionalProperties: false
+ linode:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ type: "array"
+ description: "The grants this User has for each Linode that is owned by this Account."
+ placement_group:
+ items:
+ properties:
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ example: "example-entity"
+ readOnly: true
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ additionalProperties: false
+ description: "The grants this User has for each Placement Group that is owned by this Account."
+ type: "array"
+ global:
+ additionalProperties: false
+ type: "object"
+ description: "A structure containing the Account-level grants a User has."
+ properties:
+ add_firewalls:
example: true
- longview_subscription:
- type: boolean
- description: If true, this User may manage the Account's Longview subscription.
+ type: "boolean"
+ description: "If true, this User may add Firewalls."
+ cancel_account:
+ example: false
+ type: "boolean"
+ description: "If true, this User may cancel the entire Account."
+ add_longview:
+ type: "boolean"
+ description: "If true, this User may create Longview clients and view the current plan."
example: true
- account_access:
- type: string
+ child_account_access:
+ description: "In a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this gives a parent account access to endpoints that can be used to manage child accounts. Unrestricted parent account users have access to this grant, while restricted parent users don't. An unrestricted parent user can set this to `true` to add this grant to a restricted parent user. Displayed as `null` for all non-parent accounts."
+ type: "boolean"
nullable: true
- enum:
- - read_only
- - read_write
- description: |
- The level of access this User has to Account-level actions,
- like billing information. A restricted User will never be able
- to manage users.
-
- **Parent and child accounts**
-
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, this grant can be added to a child account user, to give the user `read-write` access. This gives the child user unrestricted access to expected management operations, such as creating other child users. However, child users don't have write access to billing operations. The API issues a specific error message if a write operation is attempted by a child user.
- example: read_only
- cancel_account:
- type: boolean
- description: If true, this User may cancel the entire Account.
- example: false
- add_domains:
- type: boolean
- description: If true, this User may add Domains.
example: true
- add_stackscripts:
- type: boolean
- description: If true, this User may add StackScripts.
+ add_linodes:
example: true
- add_nodebalancers:
- type: boolean
- description: If true, this User may add NodeBalancers.
+ description: "If true, this User may create Linodes."
+ type: "boolean"
+ add_databases:
example: true
- add_images:
- type: boolean
- description: If true, this User may add Images.
+ type: "boolean"
+ description: "If true, this User may add Managed Databases."
+ longview_subscription:
example: true
- add_volumes:
- type: boolean
- description: If true, this User may add Volumes.
+ type: "boolean"
+ description: "If true, this User may manage the Account's Longview subscription."
+ add_domains:
example: true
- add_firewalls:
- type: boolean
- description: If true, this User may add Firewalls.
+ description: "If true, this User may add Domains."
+ type: "boolean"
+ add_images:
+ description: "If true, this User may add Images."
+ type: "boolean"
example: true
- add_databases:
- type: boolean
- description: If true, this User may add Managed Databases.
+ add_nodebalancers:
+ description: "If true, this User may add NodeBalancers."
+ type: "boolean"
example: true
- add_vpcs:
- type: boolean
- description: If true, this User may add VPCs.
+ add_stackscripts:
example: true
- child_account_access:
- type: boolean
- nullable: true
- description: |
- In a [parent and child account](/docs/guides/parent-child-accounts/) environment, this gives a parent account access to endpoints that can be used to manage child accounts. Unrestricted parent account users have access to this grant, while restricted parent users don't. An unrestricted parent user can set this to `true` to add this grant to a restricted parent user. Displayed as `null` for all non-parent accounts.
+ type: "boolean"
+ description: "If true, this User may add StackScripts."
+ add_volumes:
+ description: "If true, this User may add Volumes."
+ type: "boolean"
example: true
- linode:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each Linode that is owned by this Account.
- database:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each Database that is owned by this Account.
- domain:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each Domain that is owned by this Account.
- nodebalancer:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each NodeBalancer that is owned by this Account.
- image:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each Image that is owned by this Account.
- longview:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each Longview Client that is owned by this Account.
- stackscript:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each StackScript that is owned by this Account.
- volume:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each Block Storage Volume that is owned by this Account.
- vpc:
- type: array
- items:
- $ref: '#/components/schemas/Grant'
- description: >
- The grants this User has for each VPC that is owned by this Account.
- Image:
- type: object
- description: Image object
- properties:
- id:
- type: string
- description: The unique ID of this Image.
- example: linode/debian11
- readOnly: true
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- description: >
- A short description of the Image.
- example: Debian 11
- x-linode-cli-display: 2
- created:
- type: string
- format: date-time
- description: When this Image was created.
- example: '2021-08-14T22:44:02'
- readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Image was last updated.
- example: '2021-08-14T22:44:02'
- readOnly: true
- created_by:
- type: string
- description: >
- The name of the User who created this Image, or "linode" for
- public Images.
- example: linode
- readOnly: true
- deprecated:
- x-linode-filterable: true
- type: boolean
- description: >
- Whether or not this Image is deprecated. Will only be true for
- deprecated public Images.
- example: false
+ add_vpcs:
+ example: true
+ type: "boolean"
+ description: "If true, this User may add VPCs."
+ account_access:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ type: "string"
+ description: "The level of access this User has to Account-level actions, like billing information. A restricted User will never be able to manage users.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this grant can be added to a child account user, to give the user `read-write` access. This gives the child user unrestricted access to expected management operations, such as creating other child users. However, child users don't have write access to billing operations. The API issues a specific error message if a write operation is attempted by a child user."
+ nullable: true
+ add_placement_groups:
+ type: "boolean"
+ description: "If true, this User may add Placement Groups."
+ x-akamai:
+ file-path: "schemas/grants-response.yaml"
+ grant:
+ properties:
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
readOnly: true
- description:
- type: string
- description: A detailed description of this Image.
- example: Example Image description.
+ example: "example-entity"
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ permissions:
nullable: true
- minLength: 1
- maxLength: 65000
- x-linode-cli-display: 4
- x-linode-cli-color:
- None: black
- default_: white
- is_public:
- x-linode-filterable: true
- description: True if the Image is a public distribution image. False if Image is private Account-specific Image.
- type: boolean
- example: true
- readOnly: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ additionalProperties: false
+ properties-entities:
+ properties:
+ linodes:
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
+ type: "array"
x-linode-cli-display: 5
- size:
- x-linode-filterable: true
- type: integer
- description: >
- The minimum size this Image needs to deploy. Size is in MB.
- example: 2500
+ items:
+ type: "integer"
+ example:
+ - 111
+ - 222
+ type: "object"
+ description: "A collection of the services to include in this transfer request, separated by type."
+ additionalProperties: false
+ beta-program-enrolled:
+ additionalProperties: false
+ type: "object"
+ description: "An object representing an enrolled Beta Program for the Account."
+ x-akamai:
+ file-path: "schemas/beta-program-enrolled.yaml"
+ properties:
+ started:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ format: "date-time"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The start date-time of the Beta Program."
readOnly: true
- x-linode-cli-display: 6
- type:
- type: string
x-linode-filterable: true
- description: |
- How the Image was created.
-
- "Manual" Images can be created at any time.
-
- "Automatic" Images are created automatically from a deleted Linode.
- enum:
- - manual
- - automatic
- example: manual
- readOnly: true
- expiry:
- type: string
- format: date-time
+ example: "2023-07-11T00:00:00"
+ ended:
nullable: true
- description: >
- Only Images created automatically from a deleted Linode (type=automatic) will expire. `null` for private Images.
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing."
+ format: "date-time"
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
example: null
- readOnly: true
- eol:
- type: string
- format: date-time
- nullable: true
- description: >
- The date of the public Image's planned end of life. `null` for private Images.
- example: '2026-07-01T04:00:00'
- readOnly: true
- vendor:
x-linode-filterable: true
- type: string
- nullable: true
- description: >
- The upstream distribution vendor. `null` for private Images.
- example: Debian
- readOnly: true
- x-linode-cli-display: 3
- x-linode-cli-color:
- None: black
- default_: white
- status:
- x-linode-cli-display: 7
- type: string
readOnly: true
+ enrolled:
x-linode-filterable: true
- enum:
- - creating
- - pending_upload
- - available
- description: |
- The current status of this Image.
-
- Only Images in an "available" status can be deployed. Images in a "creating" status are being created from a Linode Disk, and will become "available" shortly. Images in a "pending_upload" status are waiting for data to be [uploaded](/docs/api/images/#image-upload), and become "available" after the upload and processing are complete.
-
- The "+order_by" and "+order" operators are not available for [filtering](/docs/api/#filtering-and-sorting) on this key.
- example: available
- capabilities:
- x-linode-cli-display: 8
- type: array
- readOnly: true
- description: |
- A list containing the following possible capabilities of this Image:
-
- `cloud-init`: This Image supports cloud-init with [Metadata](/docs/products/compute/compute-instances/guides/metadata/). Only applies to public Images.
- items:
- type: string
- example:
- - cloud-init
- Invoice:
- type: object
- description: Account Invoice object
- properties:
- id:
- type: integer
- readOnly: true
- description: The Invoice's unique ID.
- example: 123
- x-linode-cli-display: 1
- date:
- type: string
- readOnly: true
- format: date-time
- description: When this Invoice was generated.
- example: '2018-01-01T00:01:01'
- x-linode-cli-display: 2
- label:
- type: string
- readOnly: true
- description: The Invoice's display label.
- example: Invoice
- x-linode-cli-display: 3
- subtotal:
- type: number
+ example: "2023-09-11T00:00:00"
readOnly: true
- description: The amount of the Invoice before taxes in US Dollars.
- example: 120.25
- x-linode-cli-display: 4
- tax:
- type: number
- readOnly: true
- description: The amount of tax levied on the Invoice in US Dollars.
- example: 12.25
- x-linode-cli-display: 5
- tax_summary:
- type: array
- readOnly: true
- description: The amount of tax broken down into subtotals by source.
- items:
- type: object
- properties:
- tax:
- type: number
- description: The amount of tax subtotal attributable to this source.
- example: 12.25
- name:
- type: string
- description: The source of this tax subtotal.
- example: PA STATE TAX
- total:
- type: number
- readOnly: true
- description: The amount of the Invoice after taxes in US Dollars.
- example: 132.50
- x-linode-cli-display: 6
- billing_source:
- type: string
- enum:
- - akamai
- - linode
- readOnly: true
- description: |
- `akamai`: This Invoice was generated according to the terms of an agreement between the customer and Akamai.
-
- `linode`: This Invoice was generated according to the default terms, prices, and discounts.
- example: linode
- x-linode-cli-display: 3.5
- InvoiceItem:
- type: object
- description: An InvoiceItem object.
- properties:
- amount:
- type: number
- readOnly: true
- description: The price, in US dollars, of the Invoice Item. Equal to the unit price multiplied by quantity.
- example: 20.20
- x-linode-cli-display: 4
- tax:
- type: number
- readOnly: true
- description: The amount of tax levied on this Item in US Dollars.
- example: 1.25
- x-linode-cli-display: 5
- total:
- type: number
- readOnly: true
- description: The price of this Item after taxes in US Dollars.
- example: 21.45
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of Account enrollment to the Beta Program."
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
x-linode-cli-display: 6
- from:
- type: string
- readOnly: true
- format: date-time
- description: The date the Invoice Item started, based on month.
- example: '2018-01-01T00:01:01'
- x-linode-cli-display: 2
- label:
- type: string
- readOnly: true
- description: The Invoice Item's display label.
- example: Linode 123
+ id:
+ description: "The unique identifier of the Beta Program."
+ type: "string"
x-linode-cli-display: 1
- quantity:
- type: integer
- readOnly: true
- description: The quantity of this Item for the specified Invoice.
- example: 4
- to:
- type: string
- readOnly: true
- format: date-time
- description: The date the Invoice Item ended, based on month.
- example: '2018-01-31T11:59:59'
- x-linode-cli-display: 3
- type:
- type: string
- readOnly: true
- description: The type of service, ether `hourly` or `misc`.
- enum:
- - hourly
- - misc
- example: hourly
- unit_price:
- type: string
- readOnly: true
- description: The monthly service fee in US Dollars for this Item.
- example: 5.05
- region:
- type: string
+ example: "example_open"
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__, __Read-only__ The name of the Beta Program."
readOnly: true
- nullable: true
- description: |
- The ID of the applicable Region associated with this Invoice Item.
-
- `null` if there is no applicable Region.
- example: us-west
- x-linode-cli-display: 7
- IPAddress:
- type: object
- description: >
- An IP address that exists in Linode's system, either IPv4 or IPv6.
- properties:
- address:
- type: string
- format: ip
- description: >
- The IP address.
- example: 97.107.143.141
+ x-linode-filterable: true
+ example: "Example Open Beta"
+ description:
+ example: "This is an open public beta for an example feature."
readOnly: true
- x-linode-cli-display: 1
- gateway:
- type: string
+ description: "__Read-only__ Additional details regarding the Beta Program."
+ type: "string"
nullable: true
- format: ip
- description: >
- The default gateway for this address.
- example: 97.107.143.1
- readOnly: true
- subnet_mask:
- type: string
- format: ip
- description: >
- The mask that separates host bits from network bits for this address.
- example: 255.255.255.0
- readOnly: true
- prefix:
- type: integer
- description: >
- The number of bits set in the subnet mask.
- example: 24
- readOnly: true
- type:
- type: string
- enum:
- - ipv4
- - ipv6
- - ipv6/pool
- - ipv6/range
- description: >
- The type of address this is.
- example: ipv4
+ x-linode-cli-display: 3
+ transfer:
+ type: "object"
+ description: "An object representing your network utilization for the current month, in Gigabytes.\n\nCertain Regions have separate utilization quotas and rates. For Region-specific network utilization data, see `region_transfers`."
+ x-akamai:
+ file-path: "schemas/transfer.yaml"
+ properties:
+ region_transfers:
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ id:
+ description: "The Region ID for this network utilization data."
+ type: "string"
+ example: "us-east"
+ billable:
+ example: 0
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount of your transfer pool that is billable this billing cycle for this Region."
+ used:
+ description: "__Read-only__ The amount of network usage you have used this billing cycle for this Region."
+ type: "integer"
+ example: 1
+ readOnly: true
+ quota:
+ type: "integer"
+ description: "__Read-only__ The amount of network usage allowed this billing cycle for this Region."
+ example: 5010
+ readOnly: true
+ type: "array"
+ billable:
+ x-linode-cli-display: 3
+ description: "__Read-only__ The amount of your transfer pool that is billable this billing cycle."
+ type: "integer"
readOnly: true
+ example: 0
+ used:
x-linode-cli-display: 2
- public:
- type: boolean
- description: >
- Whether this is a public or private IP address.
- example: true
- readOnly: true
- x-linode-cli-display: 3
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address. For public IPv4 addresses,
- this will be set to a default value provided by Linode if not
- explicitly set.
- x-linode-cli-display: 4
- example: test.example.org
- nullable: true
- linode_id:
- type: integer
- description: >
- The ID of the Linode this address currently belongs to. For IPv4
- addresses, this is by default the Linode that this address was
- assigned to on creation, and these addresses my be moved using the
- [/networking/ipv4/assign](/docs/api/networking/#ips-to-linodes-assign)
- endpoint. For SLAAC and link-local addresses, this value may not be changed.
- example: 123
+ type: "integer"
+ description: "__Read-only__ The amount of network usage you have used this billing cycle."
readOnly: true
- x-linode-cli-display: 6
- region:
- type: string
- description: >
- The Region this IP address resides in.
- example: us-east
+ example: 2
+ quota:
+ example: 9141
readOnly: true
+ description: "__Read-only__ The amount of network usage allowed this billing cycle."
+ type: "integer"
+ x-linode-cli-display: 1
+ additionalProperties: false
+ entities:
+ properties:
+ linodes:
+ example:
+ - 111
+ - 222
+ type: "array"
+ description: "An array containing the IDs of each of the Linodes included in this transfer."
x-linode-cli-display: 5
- vpc_nat_1_1:
- type: object
- description: |
- IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.
-
- **Note:** Only allowed for `vpc` type Interfaces.
- properties:
- vpc_id:
- type: integer
- readOnly: true
- nullable: false
- description: |
- The `id` of the VPC configured for this Interface.
- example: 111
- subnet_id:
- type: integer
- nullable: false
- description: |
- The `id` of the VPC Subnet for this Interface.
- example: 101
- address:
- type: string
- format: ipv4
- description: |
- The IPv4 address that is configured as a 1:1 NAT for this VPC interface.
- example: 192.168.0.42
- IPAddressesAssignRequest:
- type: object
- description: Request object for IP Addresses Assign (POST /networking/ips/assign).
- required:
- - region
- - assignments
- properties:
- region:
- type: string
- description: >
- The ID of the Region in which these assignments are to take
- place. All IPs and Linodes must exist in this Region.
- example: us-east
- assignments:
- type: array
- description: >
- The list of assignments to make. You must have read_write
- access to all IPs being assigned and all Linodes being
- assigned to in order for the assignments to succeed.
- required:
- - address
- - linode_id
- items:
- type: object
- properties:
- address:
- type: string
- format: ipv4|ipv6/prefix_length
- description: |
- The IPv4 address or IPv6 range for this assignment.
- * Must be an IPv4 address or an IPv6 range you can access in the Region specified.
- * IPv6 ranges must include a prefix length of `/56` or `/64`, for example: `2001:db8:3c4d:15::/64`.
- * Assignment of an IPv6 range to a Linode updates the route target of the range to the assigned Linode's SLAAC address.
- * May be a public or private address.
- example: 192.0.2.1
- linode_id:
- type: integer
- description: >
- The ID of the Linode to assign this address to. The IP's
- previous Linode will lose this address, and must end up
- with at least one public address and no more than one
- private address once all assignments have been made.
- example: 123
- IPAddressesListResponse:
- description: The response data for the IP Addresses List (GET /networking/ips) command.
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- properties:
- data:
- type: array
- items:
- type: object
- description: >
- An IP address that exists in Linode's system, either IPv4 or IPv6, specific to the response for the IP Addresses List command.
- properties:
- address:
- type: string
- format: ip
- description: >
- The IP address.
- example: 192.0.2.141
- readOnly: true
+ items:
+ type: "integer"
+ type: "object"
+ description: "A collection of the entities to include in this transfer request, separated by type."
+ additionalProperties: false
+ ended:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing."
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 6
+ x-linode-filterable: true
+ example: null
+ readOnly: true
+ added-post-cancel-account-409:
+ properties:
+ errors:
+ items:
+ type: "object"
+ properties:
+ reason:
+ example: "We were unable to charge your credit card for services rendered. We cannot cancel this account until the balance has been paid."
+ description: "A string explaining that the account could not be canceled because there is an outstanding balance on the account that must be paid first."
+ type: "string"
+ additionalProperties: false
+ type: "array"
+ x-akamai:
+ file-path: "schemas/added-post-cancel-account-409.yaml"
+ type: "object"
+ additionalProperties: false
+ securitySchemes:
+ oauth:
+ flows:
+ authorizationCode:
+ authorizationUrl: "https://login.linode.com/oauth/authorize"
+ scopes:
+ longview:read_write: "Allows access to all endpoints related to your Longview Clients."
+ firewall:read_write: "Allows access to all Firewall endpoints."
+ nodebalancers:read_only: "Allows access to GET NodeBalancers on your Account."
+ volumes:read_only: "Allows access to GET your Volumes."
+ images:read_write: "Allows access to all endpoints related to your Images."
+ account:read_write: "Allows access to all endpoints related to your Account."
+ volumes:read_write: "Allows access to all endpoints related to your Volumes."
+ ips:read_write: "Allows access to all endpoints related to your ips."
+ account:read_only: "Allows access to GET information about your Account."
+ lke:read_only: "Allows access to GET LKE Clusters on your Account."
+ stackscripts:read_write: "Allows access to all endpoints related to your StackScripts."
+ events:read_only: "Allows access to GET your Events."
+ firewall:read_only: "Allows access to GET information about your Firewalls."
+ longview:read_only: "Allows access to GET your Longview Clients."
+ stackscripts:read_only: "Allows access to GET your StackScripts."
+ nodebalancers:read_write: "Allows access to all NodeBalancer endpoints."
+ ips:read_only: "Allows access to GET your ips."
+ vpc:read_write: "Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion."
+ object_storage:read_only: "Allows access to GET information related to your Object Storage."
+ domains:read_write: "Allows access to all Domain endpoints."
+ lke:read_write: "Allows access to all endpoints related to LKE Clusters on your Account."
+ linodes:read_only: "Allows access to GET Linodes on your Account."
+ events:read_write: "Allows access to all endpoints related to your Events."
+ domains:read_only: "Allows access to GET Domains on your Account."
+ object_storage:read_write: "Allows access to all Object Storage endpoints."
+ linodes:read_write: "Allow access to all endpoints related to your Linodes."
+ images:read_only: "Allows access to GET your Images."
+ tokenUrl: "https://login.linode.com/oauth/token"
+ type: "oauth2"
+ personalAccessToken:
+ scheme: "bearer"
+ type: "http"
+ responses:
+ 409:
+ x-akamai:
+ file-path: "errors/409.yaml"
+ description: "Could not charge the credit card on file."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-cancel-account-409.yaml"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ example: "We were unable to charge your credit card for services rendered. We cannot cancel this account until the balance has been paid."
+ description: "A string explaining that the account could not be canceled because there is an outstanding balance on the account that must be paid first."
+ type: "string"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/tbd.json"
+ error-response:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ accepted-response:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ warnings:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single warning associated with a response."
+ x-akamai:
+ file-path: "schemas/warning-object.yaml"
+ properties:
+ title:
+ type: "string"
+ description: "The general warning message."
+ example: "Unable to reboot Linode."
+ details:
+ description: "Specific information related to the warning."
+ type: "string"
+ example: "Linode 123 could not be rebooted."
+ additionalProperties: false
+ type: "object"
+ description: "Accepted with warning.\n\nA warnings array is included with the standard 200 response body."
+ deprecated-response:
+ content:
+ application/json:
+ schema:
+ properties:
+ warnings:
+ type: "array"
+ items:
+ properties:
+ details:
+ example: "Linode 123 could not be rebooted."
+ type: "string"
+ description: "Specific information related to the warning."
+ title:
+ example: "Unable to reboot Linode."
+ description: "The general warning message."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/warning-object.yaml"
+ description: "An object for describing a single warning associated with a response."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "Request successful. This operation is deprecated and may be removed in a future release.\n\nA warnings array is included with the standard 200 response body."
+tags:
+ -
+ description: "Use the Account endpoints to manage user settings, billing, and payments. You can also initiate and maintain OAuth client application authentication, enable the Linode Managed service, and create new users on your account."
+ name: "Account"
+ -
+ name: "Beta programs"
+ description: "Use the Beta Programs endpoint to view information about available beta programs. To sign up for eligible beta programs, run the _Enroll in a Beta program_ operation."
+ -
+ name: "Databases"
+ description: "Managed Databases is Linode's fully-managed, high-performance database service. Use the Managed Databases endpoints to create and manage database clusters."
+ -
+ name: "Domains"
+ description: "Use the Domains endpoints to create and manage domains and domain records on your account."
+ -
+ description: "Use the Images endpoints to capture, store, and manage custom Linode images."
+ name: "Images"
+ -
+ description: "Use the Linode Instances endpoints to create, configure, and manage your Linode instances. You can also manage the Linode Backup service; maintain and manage configuration profiles; create and maintain disks, initiate a host migration; view Linode Instance statistics; and more."
+ name: "Linode instances"
+ -
+ name: "Linode types"
+ description: "Use the Linode Types endpoints to retrieve information about Linode plan types, including pricing information, hardware resources, and network transfer allotment."
+ -
+ name: "Linode Kubernetes Engine (LKE)"
+ description: "Linode Kubernetes Engine (LKE) is Linode's managed Kubernetes service. Use the LKE endpoints to create and manage Kubernetes clusters and their associated Node Pools."
+ -
+ name: "Longview"
+ description: "Longview is Linode's system-level monitoring and graphing service. Use the Longview endpoints to manage your Longview subscription and plan and to create and maintain Longview clients."
+ -
+ description: "Managed is Linode's incident response service. Use the Managed endpoints to register a service to be monitored by the Managed Service team, provide secure access to your managed services, view information about detected issues, and more."
+ name: "Managed"
+ -
+ name: "Networking"
+ description: "Use the Networking endpoints to view all IP addresses on your account, reorganize assigned IPv4 addresses, update RDNS, and configure IP sharing."
+ -
+ name: "NodeBalancers"
+ description: "NodeBalancers is Linode's load balancing service. Use the NodeBalancers endpoints to create and manage NodeBalancers. You can also create and maintain configurations; create and maintain nodes, and view statistics."
+ -
+ name: "Object Storage"
+ description: "Object Storage is Linode's S3-compatible data storage service. Use the Object Storage endpoints to create and maintaining buckets, add and remove objects from buckets, create and maintain Object Storage keys, and cancel the Object Storage service."
+ -
+ description: "Use the Profile endpoints to manage your Linode user profile preferences and security settings. This includes creating and maintaining personal access tokens, creating and maintaining SSH keys, confirming and enabling two-factor authentication, and updating user and profile preferences."
+ name: "Profile"
+ -
+ name: "Regions"
+ description: "Use the Regions endpoints to view information about the various Linode data center regions, including the service capabilities for each region, country, status, and more."
+ -
+ description: "Linode StackScripts allow you to create reusable scripts to configure new Linode instances. Use the StackScripts endpoints to create and manage StackScripts on your account."
+ name: "StackScripts"
+ -
+ name: "Support"
+ description: "Use the Support endpoints to open, view, and close Linode Support tickets. You can also create and manage your Support ticket replies."
+ -
+ description: "Tags allow you to organize and group your various Linode services. Use the Tags endpoints to create, assign, and delete your account tags."
+ name: "Tags"
+ -
+ name: "Volumes"
+ description: "Volumes is Linode's block storage service. Use the Volumes endpoints to create, attach, and manage your account Volumes."
+ -
+ description: "Use the VPCs endpoints to view, create, and manage Virtual Private Cloud (VPC) and VPC Subnet resources."
+ name: "VPCs"
+paths:
+ /{apiVersion}/managed/credentials/{credentialId}/revoke:
+ x-linode-cli-command: "managed"
+ post:
+ summary: "Delete a managed credential"
+ x-original-op-title: "Managed Credential Delete"
+ x-original-op-id: "deleteManagedCredential"
+ operationId: "post-managed-credential-revoke"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-managed-credential-revoke"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/managed/credentials/9991"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli managed credential-revoke 9991"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli managed credential-revoke 9991"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ x-linode-cli-action: "credential-revoke"
+ x-linode-grant: "unrestricted only"
+ description: "Deletes a Managed Credential. Linode special forces will no longer have access to this Credential when attempting to resolve issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-revoke 9991\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Managed"
+ responses:
+ 200:
+ description: "Credential deleted successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-managed-credential-revoke-200.json"
+ schema:
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ file-path: "paths/revoke.yaml"
+ path-info: "/{apiVersion}/managed/credentials/{credentialId}/revoke"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ -
+ name: "credentialId"
+ description: "The ID of the Credential to access."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/credential-id-path-7162d62f.yaml"
+ schema:
+ type: "integer"
+ required: true
+ /{apiVersion}/account/users:
+ x-linode-cli-command: "users"
+ post:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-user.json"
+ schema:
+ allOf:
+ -
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ properties:
+ last_login:
+ readOnly: true
+ additionalProperties: false
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ nullable: true
+ properties:
+ status:
+ type: "string"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ login_datetime:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ username:
+ minLength: 3
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 32
+ example: "example_user"
+ x-linode-filterable: true
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ verified_phone_number:
+ readOnly: true
+ example: "+5555555555"
+ format: "phone"
+ nullable: true
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ type: "string"
+ restricted:
+ x-linode-cli-display: 3
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ type: "boolean"
+ example: true
+ ssh_keys:
+ example:
+ - "home-pc"
+ - "laptop"
+ readOnly: true
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ items:
+ type: "string"
+ email:
+ format: "email"
+ x-linode-cli-display: 2
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ type: "string"
+ example: "example_user@linode.com"
+ tfa_enabled:
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ example: true
+ readOnly: true
+ password_created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ nullable: true
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ type: "object"
+ additionalProperties: false
+ required:
+ - "username"
+ - "email"
+ x-akamai:
+ file-path: "schemas/added-post-user.yaml"
+ description: "Information about the User to create."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ properties:
+ verified_phone_number:
+ nullable: true
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ type: "string"
+ format: "phone"
+ example: "+5555555555"
+ readOnly: true
+ last_login:
+ additionalProperties: false
+ properties:
+ login_datetime:
+ format: "date-time"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ status:
+ type: "string"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ example: "successful"
+ enum:
+ - "successful"
+ - "failed"
+ readOnly: true
+ nullable: true
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ readOnly: true
+ username:
+ maxLength: 32
+ example: "example_user"
x-linode-filterable: true
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ minLength: 3
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ type: "string"
x-linode-cli-display: 1
- gateway:
- type: string
+ x-akamai:
+ labels:
+ - "Filterable"
+ tfa_enabled:
+ readOnly: true
+ example: true
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ type: "boolean"
+ password_created:
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
nullable: true
- format: ip
- description: >
- The default gateway for this address.
- example: 192.0.2.1
- readOnly: true
- subnet_mask:
- type: string
- format: ip
- description: >
- The mask that separates host bits from network bits for this address.
- example: 255.255.255.0
- readOnly: true
- prefix:
- type: integer
- description: >
- The number of bits set in the subnet mask.
- example: 24
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ type: "string"
+ restricted:
+ example: true
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ type: "boolean"
+ x-linode-cli-display: 3
+ ssh_keys:
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ items:
+ type: "string"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ email:
+ example: "example_user@linode.com"
+ format: "email"
+ x-linode-cli-display: 2
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ type: "string"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-user-200.json"
+ description: "New User created successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "createUser"
+ summary: "Create a user"
+ x-original-op-title: "User Create"
+ x-linode-cli-action: "create"
+ description: "Creates a user on your account. You determine the new user's account access by setting it to restricted or unrestricted and by defining its grants. After completion, the API sends a confirmation message containing password creation and login instructions to the user's `email` address.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- A parent account user can create new parent account users.\n\n- A child account can [update](https://techdocs.akamai.com/linode-api/reference/put-user) the child account parent user (proxy user) to `unrestricted`. This gives the proxy user access to create new child account users.\n\n- A child account user can create new child account users.\n\n- You can't create a proxy user. The proxy user in a child account is predefined when you initially provision the parent-child relationship.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users create \\\n --username example_user \\\n --email example_user@linode.com \\\n --restricted true\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"username\": \"example_user\",\n \"email\": \"person@place.com\",\n \"restricted\": true\n }' \\\n https://api.linode.com/v4/account/users"
+ lang: "Shell"
+ -
+ source: "linode-cli users create \\\n --username example_user \\\n --email example_user@linode.com \\\n --restricted true"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli users create \\\n --username example_user \\\n --email example_user@linode.com \\\n --restricted true"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "post-user"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-user"
+ x-akamai:
+ path-info: "/{apiVersion}/account/users"
+ file-path: "paths/users.yaml"
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-users"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-users"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli users list"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/users"
+ -
+ lang: "CLI"
+ source: "linode-cli users list"
+ description: "Returns a paginated list of all users on your account.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\nA user can access all or part of an account based on their access status and grants:\n\n- __Unrestricted access__. These users can access everything on an account.\n\n- __Restricted access__. These users can only access entities or perform actions they've been given specific grants to.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ x-original-op-title: "Users List"
+ summary: "List users"
+ x-original-op-id: "getUsers"
+ parameters:
+ -
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ in: "query"
+ description: "The page of a collection to return."
+ name: "page"
+ -
+ schema:
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ default: 100
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ responses:
+ 200:
+ content:
+ application/json:
+ example:
+ pages: 1
+ data:
+ -
+ last_login:
+ login_datetime: "2018-01-01T01:01:01"
+ status: "successful"
+ username: "jsmith"
+ user_type: "parent"
+ verified_phone_number: "+5555555555"
+ restricted: true
+ email: "jperez@linode.com"
+ ssh_keys:
+ - "home-pc"
+ - "laptop"
+ tfa_enabled: true
+ password_created: "2018-01-01T01:01:01"
+ page: 1
+ results: 1
+ schema:
+ additionalProperties: false
+ properties:
+ data:
+ type: "array"
+ items:
+ allOf:
+ -
+ additionalProperties: false
+ properties:
+ username:
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ minLength: 3
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ maxLength: 32
+ example: "example_user"
+ x-linode-filterable: true
+ last_login:
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ nullable: true
+ properties:
+ login_datetime:
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ status:
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ type: "string"
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ readOnly: true
+ additionalProperties: false
+ verified_phone_number:
+ format: "phone"
+ nullable: true
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ type: "string"
+ readOnly: true
+ example: "+5555555555"
+ password_created:
+ format: "date-time"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ tfa_enabled:
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ type: "boolean"
+ example: true
+ readOnly: true
+ ssh_keys:
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ email:
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ format: "email"
+ x-linode-cli-display: 2
+ example: "example_user@linode.com"
+ restricted:
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ example: true
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ type: "object"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ -
+ properties:
+ user_type:
+ type: "string"
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
+ readOnly: true
+ example: "parent"
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ type: "object"
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ additionalProperties: false
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ results:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-get-users-200.yaml"
+ type: "object"
+ description: "A paginated list of users."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ /{apiVersion}/betas:
+ x-linode-cli-command: "betas"
+ get:
+ responses:
+ 200:
+ description: "Returns a paginated list of all available Beta Program objects."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-beta-programs-200.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ pages:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ page:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ -
+ properties:
+ data:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object representing Beta Program information."
+ properties:
+ greenlight_only:
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Whether the Beta Program requires [Green Light](https://www.linode.com/green-light/) participation for enrollment."
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: true
+ x-linode-filterable: true
+ readOnly: true
+ id:
+ description: "The unique identifier of the Beta Program."
+ type: "string"
+ x-linode-cli-display: 1
+ example: "example_open"
+ description:
+ readOnly: true
+ example: "This is an open public beta for an example feature."
+ x-linode-cli-display: 3
+ nullable: true
+ description: "__Read-only__ Additional details regarding the Beta Program."
+ type: "string"
+ label:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The name of the Beta Program."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "Example Open Beta"
+ x-linode-filterable: true
+ readOnly: true
+ more_info:
+ example: "https://www.linode.com/green-light/"
+ readOnly: true
+ nullable: true
+ description: "__Read-only__ Additional source of information for the Beta Program."
+ type: "string"
+ x-linode-cli-display: 7
+ started:
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The start date-time of the Beta Program."
+ x-linode-cli-display: 5
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ ended:
+ readOnly: true
+ example: null
+ x-linode-filterable: true
+ format: "date-time"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time that the Beta Program ended.\n\n`null` indicates that the Beta Program is ongoing."
+ x-akamai:
+ file-path: "schemas/beta-program.yaml"
+ type: "array"
+ type: "object"
+ example:
+ pages: 1
+ page: 1
+ data:
+ -
+ ended: null
+ started: "2023-07-11T00:00:00"
+ more_info: "https://www.linode.com/green-light/"
+ label: "Example Open Beta"
+ description: "This is an open public beta for an example feature."
+ id: "example_open"
+ greenlight_only: true
+ results: 1
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ tags:
+ - "Beta programs"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth: []
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-beta-programs"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-beta-programs"
+ description: "Display all active Beta Programs.\n\nOnly unrestricted Users can access this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli betas list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli betas list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/betas \\\n -H \"Authorization: Bearer $TOKEN\""
+ lang: "Shell"
+ -
+ source: "linode-cli betas list"
+ lang: "CLI"
+ x-original-op-title: "Beta Programs List"
+ summary: "List Beta programs"
+ parameters:
+ -
+ schema:
+ default: 1
+ minimum: 1
+ type: "integer"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ in: "query"
+ description: "The page of a collection to return."
+ name: "page"
+ -
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ x-original-op-id: "getBetaPrograms"
+ x-akamai:
+ path-info: "/{apiVersion}/betas"
+ file-path: "paths/betas.yaml"
+ parameters:
+ -
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ /{apiVersion}/longview/clients/{clientId}:
+ x-akamai:
+ path-info: "/{apiVersion}/longview/clients/{clientId}"
+ file-path: "paths/longview-client.yaml"
+ put:
+ tags:
+ - "Longview"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "longview:read_write"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-longview-client.json"
+ schema:
+ additionalProperties: false
+ description: "A LongviewClient is a single monitor set up to track statistics about one of your servers."
+ type: "object"
+ properties:
+ apps:
+ properties:
+ mysql:
+ type: "boolean"
+ description: "__Read-only__ If True, the MySQL Longview Client modules is monitoring MySQL on your server."
+ example: true
+ readOnly: true
+ apache:
+ readOnly: true
+ example: true
+ description: "__Read-only__ If True, the Apache Longview Client module is monitoring Apache on your server."
+ type: "boolean"
+ nginx:
+ description: "__Read-only__ If True, the Nginx Longview Client module is monitoring Nginx on your server."
+ type: "boolean"
+ example: false
+ readOnly: true
+ description: "__Read-only__ The apps this Client is monitoring on your Linode. This is configured when you install the Longview Client application, and is present here for information purposes only."
+ type: "object"
+ readOnly: true
+ additionalProperties: false
+ label:
+ example: "client789"
+ maxLength: 32
+ x-linode-filterable: true
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ minLength: 3
+ description: "__Filterable__ This Client's unique label. This is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ updated:
+ format: "date-time"
+ description: "__Read-only__ When this Longview Client was last updated."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ install_code:
+ description: "__Read-only__ The install code for this Client, used when configuring the Longview Client application on your Linode.\n\nReturns as `[REDACTED]` if you do not have read-write access to this client."
+ type: "string"
+ x-linode-cli-display: 4
+ example: "BD1B5605-BF5E-D385-BA07AD518BE7F321"
+ readOnly: true
+ api_key:
+ example: "BD1B4B54-D752-A76D-5A9BD8A17F39DB61"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The API key for this Client, used when configuring the Longview Client application on your Linode.\n\nReturns as `[REDACTED]` if you do not have read-write access to this client."
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Client's unique ID."
+ readOnly: true
+ example: 789
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-cli-display: 3
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Longview Client was created."
+ x-akamai:
+ file-path: "schemas/longview-client.yaml"
+ description: "The fields to update."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "A LongviewClient is a single monitor set up to track statistics about one of your servers."
+ properties:
+ install_code:
+ description: "__Read-only__ The install code for this Client, used when configuring the Longview Client application on your Linode.\n\nReturns as `[REDACTED]` if you do not have read-write access to this client."
+ type: "string"
+ x-linode-cli-display: 4
+ example: "BD1B5605-BF5E-D385-BA07AD518BE7F321"
+ readOnly: true
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this Longview Client was created."
+ x-linode-cli-display: 3
+ format: "date-time"
+ updated:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Longview Client was last updated."
+ type: "string"
+ format: "date-time"
+ label:
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ This Client's unique label. This is for display purposes only."
x-linode-filterable: true
+ example: "client789"
+ maxLength: 32
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ id:
+ type: "integer"
+ description: "__Read-only__ This Client's unique ID."
+ x-linode-cli-display: 1
+ example: 789
+ readOnly: true
+ api_key:
+ example: "BD1B4B54-D752-A76D-5A9BD8A17F39DB61"
+ readOnly: true
+ description: "__Read-only__ The API key for this Client, used when configuring the Longview Client application on your Linode.\n\nReturns as `[REDACTED]` if you do not have read-write access to this client."
+ type: "string"
+ apps:
+ additionalProperties: false
+ readOnly: true
+ description: "__Read-only__ The apps this Client is monitoring on your Linode. This is configured when you install the Longview Client application, and is present here for information purposes only."
+ type: "object"
+ properties:
+ apache:
+ readOnly: true
+ example: true
+ type: "boolean"
+ description: "__Read-only__ If True, the Apache Longview Client module is monitoring Apache on your server."
+ mysql:
+ example: true
+ readOnly: true
+ description: "__Read-only__ If True, the MySQL Longview Client modules is monitoring MySQL on your server."
+ type: "boolean"
+ nginx:
+ type: "boolean"
+ description: "__Read-only__ If True, the Nginx Longview Client module is monitoring Nginx on your server."
+ readOnly: true
+ example: false
+ x-akamai:
+ file-path: "schemas/longview-client.yaml"
+ x-example:
+ x-ref: "../examples/get-longview-client-200.json"
+ description: "Longview Client updated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "updateLongviewClient"
+ x-original-op-title: "Longview Client Update"
+ summary: "Update a Longview client"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli longview update 789 \\\n --label client789"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "longview:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"label\": \"client789\"\n }' \\\n https://api.linode.com/v4/longview/clients/789"
+ -
+ source: "linode-cli longview update 789 \\\n --label client789"
+ lang: "CLI"
+ description: "Updates a Longview Client. This cannot update how it monitors your server; use the Longview Client application on your Linode for monitoring configuration.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli longview update 789 \\\n --label client789\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n longview:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "update"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-longview-client"
+ operationId: "put-longview-client"
+ delete:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-longview-client-200.json"
+ description: "Longview Client deleted successfully."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "longview:read_write"
+ tags:
+ - "Longview"
+ operationId: "delete-longview-client"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-longview-client"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ description: "Deletes a Longview Client from your Account.\n\n__All information stored for this client will be lost.__\n\nThis _does not_ uninstall the Longview Client application for your Linode - you must do that manually.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli longview delete 789\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n longview:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/longview/clients/789"
+ lang: "Shell"
+ -
+ source: "linode-cli longview delete 789"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli longview delete 789"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "longview:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ summary: "Delete a Longview client"
+ x-original-op-title: "Longview Client Delete"
+ x-original-op-id: "deleteLongviewClient"
+ get:
+ x-original-op-id: "getLongviewClient"
+ x-original-op-title: "Longview Client View"
+ summary: "Get a Longview client"
+ description: "Returns a single Longview Client you can access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli longview view 789\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n longview:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "view"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli longview view 789"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "longview:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/longview/clients/789"
+ -
+ lang: "CLI"
+ source: "linode-cli longview view 789"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-longview-client"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-longview-client"
+ tags:
+ - "Longview"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "longview:read_only"
+ responses:
+ 200:
+ description: "The requested Longview Client."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ created:
+ x-linode-cli-display: 3
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Longview Client was created."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ id:
+ description: "__Read-only__ This Client's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 789
readOnly: true
- type:
- type: string
- enum:
- - ipv4
- - ipv6
- - ipv6/pool
- - ipv6/range
- description: >
- The type of address this is.
- example: ipv4
+ api_key:
readOnly: true
+ example: "BD1B4B54-D752-A76D-5A9BD8A17F39DB61"
+ description: "__Read-only__ The API key for this Client, used when configuring the Longview Client application on your Linode.\n\nReturns as `[REDACTED]` if you do not have read-write access to this client."
+ type: "string"
+ install_code:
+ readOnly: true
+ example: "BD1B5605-BF5E-D385-BA07AD518BE7F321"
+ x-linode-cli-display: 4
+ description: "__Read-only__ The install code for this Client, used when configuring the Longview Client application on your Linode.\n\nReturns as `[REDACTED]` if you do not have read-write access to this client."
+ type: "string"
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Longview Client was last updated."
+ type: "string"
+ label:
+ minLength: 3
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ This Client's unique label. This is for display purposes only."
+ example: "client789"
+ maxLength: 32
x-linode-filterable: true
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ apps:
+ type: "object"
+ description: "__Read-only__ The apps this Client is monitoring on your Linode. This is configured when you install the Longview Client application, and is present here for information purposes only."
+ properties:
+ mysql:
+ type: "boolean"
+ description: "__Read-only__ If True, the MySQL Longview Client modules is monitoring MySQL on your server."
+ readOnly: true
+ example: true
+ apache:
+ readOnly: true
+ example: true
+ description: "__Read-only__ If True, the Apache Longview Client module is monitoring Apache on your server."
+ type: "boolean"
+ nginx:
+ example: false
+ readOnly: true
+ description: "__Read-only__ If True, the Nginx Longview Client module is monitoring Nginx on your server."
+ type: "boolean"
+ additionalProperties: false
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/longview-client.yaml"
+ type: "object"
+ description: "A LongviewClient is a single monitor set up to track statistics about one of your servers."
+ x-example:
+ x-ref: "../examples/get-longview-client-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ parameters:
+ -
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/client-id-path-0c50f505.yaml"
+ required: true
+ name: "clientId"
+ description: "The Longview Client ID to access."
+ schema:
+ type: "integer"
+ x-linode-cli-command: "longview"
+ /{apiVersion}/volumes/{volumeId}:
+ parameters:
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "integer"
+ name: "volumeId"
+ description: "ID of the Volume to look up."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/volume-id-path-a4b5473e.yaml"
+ required: true
+ get:
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/volumes/12345"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli volumes view 12345"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli volumes view 12345"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "volumes:read_only"
+ x-linode-cli-action: "view"
+ x-linode-grant: "read_only"
+ description: "Get information about a single Volume.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes view 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-volume"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-volume"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "getVolume"
+ parameters:
+ -
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ -
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ schema:
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ default: 100
+ summary: "Get a volume"
+ x-original-op-title: "Volume View"
+ responses:
+ 200:
+ links:
+ clone:
+ operationId: "post-clone-volume"
+ parameters:
+ volumeId: "$request.body#/id"
+ attach:
+ parameters:
+ volumeID: "$request.body#/id"
+ operationId: "post-attach-volume"
+ resize:
+ operationId: "post-resize-volume"
+ parameters:
+ volumeId: "$request.body#/id"
+ detach:
+ operationId: "post-attach-volume"
+ parameters:
+ volumeId: "$request.body#/id"
+ description: "Returns a single Volume object."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-volume-200.json"
+ schema:
+ additionalProperties: false
+ title: "Volume"
+ x-akamai:
+ file-path: "schemas/volume.yaml"
+ properties:
+ label:
+ type: "string"
+ description: "__Filterable__ The Volume's label is for display purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
x-linode-cli-display: 2
- public:
- type: boolean
- description: >
- Whether this is a public or private IP address.
- example: true
+ minLength: 1
+ pattern: "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$"
+ x-linode-filterable: true
+ example: "my-volume"
+ maxLength: 32
+ hardware_type:
+ example: "nvme"
+ enum:
+ - "hdd"
+ - "nvme"
readOnly: true
+ type: "string"
+ description: "__Read-only__ The storage type of this Volume."
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Volume was last updated."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ status:
x-linode-cli-display: 3
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address. For public IPv4 addresses,
- this will be set to a default value provided by Linode if not
- explicitly set.
+ type: "string"
+ description: "__Read-only__ The current status of the volume. Can be one of:\n\n - `creating` - the Volume is being created and is not yet available\n for use.\n - `active` - the Volume is online and available for use.\n - `resizing` - the Volume is in the process of upgrading\n its current capacity."
+ x-linode-cli-color:
+ active: "green"
+ default_: "yellow"
+ contact_support: "red"
+ readOnly: true
+ example: "active"
+ enum:
+ - "creating"
+ - "active"
+ - "resizing"
+ linode_id:
+ example: 12346
+ description: "If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here."
+ type: "integer"
+ nullable: true
+ x-linode-cli-display: 6
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of this Volume."
+ type: "integer"
+ readOnly: true
+ example: 12345
+ filesystem_path:
+ example: "/dev/disk/by-id/scsi-0Linode_Volume_my-volume"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label."
+ tags:
x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ size:
+ type: "integer"
+ description: "The Volume's size, in GiB."
+ maximum: 10240
x-linode-cli-display: 4
- example: test.example.org
+ example: 30
+ created:
+ description: "__Read-only__ When this Volume was created."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ linode_label:
+ type: "string"
+ description: "__Read-only__ If a Volume is attached to a specific Linode, the label of that Linode will be displayed here."
nullable: true
- linode_id:
- type: integer
- description: >
- The ID of the Linode this address currently belongs to. For IPv4
- addresses, this defaults to the Linode that this address was
- assigned to on creation. IPv4 addresses may be moved using the
- [/networking/ipv4/assign](/docs/api/networking/#ips-to-linodes-assign)
- endpoint. For SLAAC and link-local addresses, this value may not be changed.
- example: 123
+ x-linode-cli-display: 7
+ example: "linode123"
+ readOnly: true
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "__Read-only__ The unique ID of this Region."
+ description: "A Block Storage Volume associated with your Account."
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "volumes:read_only"
+ tags:
+ - "Volumes"
+ x-linode-cli-command: "volumes"
+ x-akamai:
+ path-info: "/{apiVersion}/volumes/{volumeId}"
+ file-path: "paths/volume.yaml"
+ put:
+ summary: "Update a volume"
+ x-original-op-title: "Volume Update"
+ x-original-op-id: "updateVolume"
+ operationId: "put-volume"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-volume"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"label\": \"my-volume\"\n }' \\\n https://api.linode.com/v4/volumes/12345"
+ -
+ lang: "CLI"
+ source: "linode-cli volumes update 12345 \\\n --label my_volume"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli volumes update 12345 \\\n --label my_volume"
+ title: "CLI"
+ -
+ syntax: "volumes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "update"
+ x-linode-grant: "read_write"
+ description: "Updates a Volume that you have permission to `read_write`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes update 12345 \\\n --label my_volume\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "volumes:read_write"
+ tags:
+ - "Volumes"
+ responses:
+ 200:
+ description: "The updated Volume."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-volume-200.json"
+ schema:
+ title: "Volume"
+ additionalProperties: false
+ type: "object"
+ description: "A Block Storage Volume associated with your Account."
+ x-akamai:
+ file-path: "schemas/volume.yaml"
+ properties:
+ id:
+ example: 12345
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The unique ID of this Volume."
+ x-linode-cli-display: 1
+ filesystem_path:
+ description: "__Read-only__ The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label."
+ type: "string"
+ example: "/dev/disk/by-id/scsi-0Linode_Volume_my-volume"
+ readOnly: true
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ size:
+ x-linode-cli-display: 4
+ description: "The Volume's size, in GiB."
+ type: "integer"
+ maximum: 10240
+ example: 30
+ linode_label:
+ nullable: true
+ description: "__Read-only__ If a Volume is attached to a specific Linode, the label of that Linode will be displayed here."
+ type: "string"
+ x-linode-cli-display: 7
+ example: "linode123"
+ readOnly: true
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this Volume was created."
+ format: "date-time"
+ region:
+ example: "us-east"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The unique ID of this Region."
+ x-linode-cli-display: 5
+ status:
+ x-linode-cli-display: 3
+ description: "__Read-only__ The current status of the volume. Can be one of:\n\n - `creating` - the Volume is being created and is not yet available\n for use.\n - `active` - the Volume is online and available for use.\n - `resizing` - the Volume is in the process of upgrading\n its current capacity."
+ type: "string"
+ readOnly: true
+ example: "active"
+ enum:
+ - "creating"
+ - "active"
+ - "resizing"
+ x-linode-cli-color:
+ default_: "yellow"
+ active: "green"
+ contact_support: "red"
+ linode_id:
+ nullable: true
+ description: "If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here."
+ type: "integer"
+ x-linode-cli-display: 6
+ example: 12346
+ label:
+ example: "my-volume"
+ maxLength: 32
+ x-linode-filterable: true
+ pattern: "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$"
+ minLength: 1
+ description: "__Filterable__ The Volume's label is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ hardware_type:
+ enum:
+ - "hdd"
+ - "nvme"
+ example: "nvme"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The storage type of this Volume."
+ updated:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Volume was last updated."
+ type: "string"
+ format: "date-time"
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ description: "If any updated field fails to pass validation, the Volume will not be updated."
+ content:
+ application/json:
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ title: "Volume"
+ x-akamai:
+ file-path: "schemas/volume.yaml"
+ properties:
+ region:
+ example: "us-east"
+ readOnly: true
+ description: "__Read-only__ The unique ID of this Region."
+ type: "string"
+ x-linode-cli-display: 5
+ size:
+ example: 30
+ type: "integer"
+ description: "The Volume's size, in GiB."
+ maximum: 10240
+ x-linode-cli-display: 4
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Volume was created."
+ type: "string"
+ linode_label:
+ nullable: true
+ description: "__Read-only__ If a Volume is attached to a specific Linode, the label of that Linode will be displayed here."
+ type: "string"
+ x-linode-cli-display: 7
+ example: "linode123"
+ readOnly: true
+ filesystem_path:
+ description: "__Read-only__ The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label."
+ type: "string"
+ example: "/dev/disk/by-id/scsi-0Linode_Volume_my-volume"
+ readOnly: true
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The unique ID of this Volume."
+ readOnly: true
+ example: 12345
+ updated:
+ type: "string"
+ description: "__Read-only__ When this Volume was last updated."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ status:
+ x-linode-cli-color:
+ active: "green"
+ default_: "yellow"
+ contact_support: "red"
+ type: "string"
+ description: "__Read-only__ The current status of the volume. Can be one of:\n\n - `creating` - the Volume is being created and is not yet available\n for use.\n - `active` - the Volume is online and available for use.\n - `resizing` - the Volume is in the process of upgrading\n its current capacity."
+ x-linode-cli-display: 3
+ example: "active"
+ enum:
+ - "creating"
+ - "active"
+ - "resizing"
+ readOnly: true
+ linode_id:
+ example: 12346
+ x-linode-cli-display: 6
+ description: "If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here."
+ type: "integer"
+ nullable: true
+ hardware_type:
+ description: "__Read-only__ The storage type of this Volume."
+ type: "string"
+ readOnly: true
+ enum:
+ - "hdd"
+ - "nvme"
+ example: "nvme"
+ label:
+ minLength: 1
+ description: "__Filterable__ The Volume's label is for display purposes only."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "my-volume"
+ maxLength: 32
+ pattern: "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$"
+ description: "A Block Storage Volume associated with your Account."
+ type: "object"
+ -
+ properties:
+ linode_id:
+ readOnly: true
+ size:
+ readOnly: true
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-put-volume.yaml"
+ x-example:
+ x-ref: "../examples/put-volume.json"
+ required: true
+ delete:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "volumes:read_write"
+ tags:
+ - "Volumes"
+ responses:
+ 200:
+ description: "Volume deletion successful."
+ content:
+ application/json:
+ schema:
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-volume-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ x-original-op-id: "deleteVolume"
+ summary: "Delete a volume"
+ x-original-op-title: "Volume Delete"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/volumes/12345"
+ lang: "Shell"
+ -
+ source: "linode-cli volumes delete 12345"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli volumes delete 12345"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "volumes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ x-linode-grant: "read_write"
+ description: "Deletes a Volume you have permission to `read_write`.\n\n- __Deleting a Volume is a destructive action and cannot be undone.__\n\n- Deleting stops billing for the Volume. You will be billed for time used within the billing period the Volume was active.\n\n- Volumes that are migrating cannot be deleted until the migration is finished.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes delete 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "delete-volume"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-volume"
+ description: "See documentation for this operation in Akamai's Linode API"
+ /{apiVersion}/lke/clusters/{clusterId}/regenerate:
+ post:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-lke-cluster-regenerate"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-lke-cluster-regenerate"
+ description: "Regenerate the Kubeconfig file and/or the service account token for a Cluster.\n\nThis is a helper operation that allows performing both the [Delete a Kubeconfig](https://techdocs.akamai.com/linode-api/reference/delete-lke-cluster-kubeconfig) and the [Delete a service token](https://techdocs.akamai.com/linode-api/reference/delete-lke-service-token) operations with a single request.\n\nWhen using this operation, at least one of `kubeconfig` or `servicetoken` is required.\n\n__Note__. When regenerating a service account token, the Cluster's control plane components and Linode CSI drivers are also restarted and configured with the new token. High Availability Clusters should not experience any disruption, while standard Clusters may experience brief control plane downtime while components are restarted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke regenerate 12345 \\\n --kubeconfig true \\\n --servicetoken true\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "regenerate"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli lke regenerate 12345 \\\n --kubeconfig true \\\n --servicetoken true"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"kubeconfig\": true,\n \"servicetoken\": true\n }' \\\n https://api.linode.com/v4/lke/clusters/12345/regenerate"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli lke regenerate 12345 \\\n --kubeconfig true \\\n --servicetoken true"
+ x-original-op-title: "Kubernetes Cluster Regenerate"
+ summary: "Regenerate a Kubernetes cluster"
+ x-original-op-id: "postLKEClusterRegenerate"
+ responses:
+ 200:
+ description: "Regenerate request successful."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-lke-cluster-regenerate-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-lke-cluster-regenerate.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-lke-cluster-regenerate.yaml"
+ properties:
+ kubeconfig:
+ type: "boolean"
+ description: "Whether to delete and regenerate the Kubeconfig file for this Cluster."
+ default: false
+ example: true
+ servicetoken:
+ example: true
+ type: "boolean"
+ description: "Whether to delete and regenerate the service access token for this Cluster."
+ default: false
+ description: "The Kubernetes Cluster Regenerate request object."
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ x-linode-cli-command: "lke"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ schema:
+ type: "integer"
+ required: true
+ x-akamai:
+ file-path: "parameters/cluster-id-path-c7286e6e.yaml"
+ in: "path"
+ description: "ID of the target Kubernetes cluster."
+ name: "clusterId"
+ x-akamai:
+ file-path: "paths/regenerate.yaml"
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/regenerate"
+ /{apiVersion}/images:
+ post:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-image"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-image"
+ description: "Captures a private, gold-master image from a Linode disk.\n\n> 📘\n>\n> If you create an image from an encrypted disk, the API doesn't encrypt the image. When you rebuild a compute instance from that image, the resulting disk will be automatically encrypted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images create \\\n --label this_is_a_label \\\n --description \"A longer description \\\n of the image\" \\\n --disk_id 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\nlinodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_images"
+ x-linode-cli-action: "create"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli images create \\\n --label this_is_a_label \\\n --description \"A longer description \\\n of the image\" \\\n --disk_id 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "images:read_write\nlinodes:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"disk_id\": 123,\n \"label\": \"this_is_a_label\",\n \"description\": \"A longer description of the image\"\n }' \\\n https://api.linode.com/v4/images"
+ lang: "Shell"
+ -
+ source: "linode-cli images create \\\n --label this_is_a_label \\\n --description \"A longer description \\\n of the image\" \\\n --disk_id 123"
+ lang: "CLI"
+ x-original-op-title: "Image Create"
+ summary: "Create an image"
+ x-original-op-id: "createImage"
+ responses:
+ 200:
+ description: "New private image created successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-image-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ total_size:
+ example: 1234567
+ readOnly: true
+ description: "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.\n\n> 📘\n>\n> This object is empty for existing images. It's intended for use with future functionality."
+ type: "integer"
+ id:
readOnly: true
+ example: "linode/debian11"
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique identifier for each image."
+ type: "string"
+ tags:
+ description: "__Filterable__ Tags used for organizational purposes. A tag can be from 3 to 100 characters long, and an image can have a maximum of 500 total tags."
+ type: "array"
+ items:
+ type: "string"
+ maxLength: 100
+ minLength: 3
+ minItems: 0
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "repair-image"
+ - "fix-1"
+ x-linode-filterable: true
+ maxItems: 500
+ deprecated:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated."
+ readOnly: true
+ x-linode-filterable: true
+ example: false
+ created:
+ format: "date-time"
+ description: "__Read-only__ When this image was created."
+ type: "string"
+ readOnly: true
+ example: "2021-08-14T22:44:02"
+ created_by:
+ description: "__Read-only__ The name of the user who created this image, or `linode` for public images."
+ type: "string"
+ example: "linode"
+ readOnly: true
+ is_public:
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ x-linode-filterable: true
+ example: true
+ readOnly: true
+ size:
+ example: 2500
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The minimum size in MB this image needs to deploy."
+ type: "integer"
x-linode-cli-display: 6
- region:
- type: string
- description: >
- The Region this IP address resides in.
- example: us-east
+ x-akamai:
+ labels:
+ - "Filterable"
+ capabilities:
+ example:
+ - "cloud-init"
+ - "distributed-sites"
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ A list of the possible capabilities of this image.\n\n- `cloud-init`. The image supports the cloud-init multi-distribution method with our [Metadata service](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata/#troubleshoot-metadata-and-cloud-init). This only applies to public images.\n\n- `distributed-sites`. Whether the image can be used in distributed compute regions. Compared to a core compute region, distributed compute regions offer limited functionality, but they're globally distributed. Your image can be geographically closer to you, potentially letting you deploy it quicker."
+ x-linode-cli-display: 8
+ items:
+ type: "string"
+ status:
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.\n\n> 📘\n>\n> The `+order_by` and `+order` operators are not available when [filtering](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) on this key."
+ type: "string"
+ readOnly: true
+ example: "available"
+ enum:
+ - "creating"
+ - "pending_upload"
+ - "available"
+ x-linode-filterable: true
+ expiry:
+ example: null
+ readOnly: true
+ description: "__Read-only__ Only images created automatically from a deleted compute instance (type=automatic) expire. This is `null` for private images."
+ type: "string"
+ nullable: true
+ format: "date-time"
+ type:
+ example: "manual"
+ enum:
+ - "manual"
+ - "automatic"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance."
+ x-akamai:
+ labels:
+ - "Filterable"
+ description:
+ minLength: 1
+ type: "string"
+ description: "A detailed description of this image."
+ nullable: true
+ x-linode-cli-display: 4
+ maxLength: 65000
+ example: "Example image description."
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ label:
+ example: "Debian 11"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ A short description of the image."
+ type: "string"
+ regions:
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ Details on the regions where this image is stored.\n\n> 📘\n>\n> This array is empty for existing images. It's intended for use with future functionality."
+ items:
+ additionalProperties: false
+ properties:
+ status:
+ type: "string"
+ description: "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`."
+ enum:
+ - "available"
+ - "creating"
+ - "pending"
+ - "pending deletion"
+ - "pending replication"
+ - "replicating"
+ example: "available"
+ region:
+ description: "The unique identifier for the core compute or distributed compute region where this image is located."
+ type: "string"
+ example: "us-iad"
+ type: "object"
+ eol:
readOnly: true
+ example: "2026-07-01T04:00:00"
+ format: "date-time"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images."
+ vendor:
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ readOnly: true
+ example: "Debian"
x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ description: "__Filterable__, __Read-only__ The upstream distribution vendor. This is `null` for private images."
+ type: "string"
+ updated:
+ readOnly: true
+ example: "2021-08-14T22:44:02"
+ format: "date-time"
+ description: "__Read-only__ When this image was last updated."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/image.yaml"
+ type: "object"
+ description: "Image object."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ requestBody:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-post-image.yaml"
+ required:
+ - "disk_id"
+ properties:
+ disk_id:
+ type: "integer"
+ description: "The ID of the Linode Disk that this image will be created from."
+ example: 42
+ cloud_init:
+ example: true
+ type: "boolean"
+ description: "Whether this image supports [cloud-init](https://www.linode.com/docs/guides/write-files-with-cloud-init/)."
+ label:
+ type: "string"
+ description: "A short title of this image. Defaults to the label of the Disk it is being created from if not provided."
+ description:
+ type: "string"
+ description: "A detailed description of this image."
+ tags:
+ type: "array"
+ description: "Tags used for organizational purposes. A tag can be from 3 to 100 characters long, and an image can have a maximum of 500 total tags."
+ maxItems: 500
+ items:
+ minLength: 3
+ maxLength: 100
+ type: "string"
+ minItems: 0
+ example:
+ - "repair-image"
+ - "fix-1"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-image.json"
+ tags:
+ - "Images"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "images:read_write"
+ - "linodes:read_only"
+ x-linode-cli-command: "images"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ get:
+ x-code-samples:
+ -
+ source: "# Returns public images only\ncurl https://api.linode.com/v4/images\n\n# Returns private and public images\ncurl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/images"
+ lang: "Shell"
+ -
+ source: "linode-cli images list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli images list"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "images:read_only"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ description: "Returns a paginated list of images. An image can be one of two types:\n\n- **Public image**. The `id` for these images begins with `linode/`. These images are generally available to all users. To limit the response to public images, don't include [authentication](https://techdocs.akamai.com/linode-api/reference/get-started#authentication) when calling this operation.\n\n- **Private image**. The `id` for these images begins with `private/`. These images are account-specific and only accessible to users with appropriate [grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants). To view private images, you need to include authentication when calling this operation. The response includes both private and public images.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-images"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-images"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "getImages"
+ parameters:
+ -
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ description: "The page of a collection to return."
+ name: "page"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ -
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ description: "The number of items to return per page."
+ name: "page_size"
+ schema:
+ default: 100
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ summary: "List images"
+ x-original-op-title: "Images List"
+ x-linode-redoc-load-ids: true
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ page:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/image.yaml"
+ properties:
+ created_by:
+ readOnly: true
+ example: "linode"
+ type: "string"
+ description: "__Read-only__ The name of the user who created this image, or `linode` for public images."
+ is_public:
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`."
+ readOnly: true
+ example: true
+ x-linode-filterable: true
+ deprecated:
+ x-linode-filterable: true
+ example: false
+ readOnly: true
+ description: "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ created:
+ readOnly: true
+ example: "2021-08-14T22:44:02"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this image was created."
+ size:
+ example: 2500
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The minimum size in MB this image needs to deploy."
+ type: "integer"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ total_size:
+ example: 1234567
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.\n\n> 📘\n>\n> This object is empty for existing images. It's intended for use with future functionality."
+ id:
+ type: "string"
+ description: "__Read-only__ The unique identifier for each image."
+ x-linode-cli-display: 1
+ example: "linode/debian11"
+ readOnly: true
+ tags:
+ type: "array"
+ description: "__Filterable__ Tags used for organizational purposes. A tag can be from 3 to 100 characters long, and an image can have a maximum of 500 total tags."
+ minItems: 0
+ items:
+ minLength: 3
+ maxLength: 100
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxItems: 500
+ example:
+ - "repair-image"
+ - "fix-1"
+ x-linode-filterable: true
+ status:
+ x-linode-filterable: true
+ enum:
+ - "creating"
+ - "pending_upload"
+ - "available"
+ example: "available"
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.\n\n> 📘\n>\n> The `+order_by` and `+order` operators are not available when [filtering](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) on this key."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 7
+ capabilities:
+ x-linode-cli-display: 8
+ items:
+ type: "string"
+ description: "__Read-only__ A list of the possible capabilities of this image.\n\n- `cloud-init`. The image supports the cloud-init multi-distribution method with our [Metadata service](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata/#troubleshoot-metadata-and-cloud-init). This only applies to public images.\n\n- `distributed-sites`. Whether the image can be used in distributed compute regions. Compared to a core compute region, distributed compute regions offer limited functionality, but they're globally distributed. Your image can be geographically closer to you, potentially letting you deploy it quicker."
+ type: "array"
+ readOnly: true
+ example:
+ - "cloud-init"
+ - "distributed-sites"
+ expiry:
+ readOnly: true
+ example: null
+ format: "date-time"
+ nullable: true
+ description: "__Read-only__ Only images created automatically from a deleted compute instance (type=automatic) expire. This is `null` for private images."
+ type: "string"
+ eol:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images."
+ nullable: true
+ readOnly: true
+ example: "2026-07-01T04:00:00"
+ vendor:
+ readOnly: true
+ example: "Debian"
+ x-linode-filterable: true
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The upstream distribution vendor. This is `null` for private images."
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this image was last updated."
+ readOnly: true
+ example: "2021-08-14T22:44:02"
+ regions:
+ items:
+ type: "object"
+ properties:
+ status:
+ example: "available"
+ enum:
+ - "available"
+ - "creating"
+ - "pending"
+ - "pending deletion"
+ - "pending replication"
+ - "replicating"
+ type: "string"
+ description: "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`."
+ region:
+ description: "The unique identifier for the core compute or distributed compute region where this image is located."
+ type: "string"
+ example: "us-iad"
+ additionalProperties: false
+ description: "__Read-only__ Details on the regions where this image is stored.\n\n> 📘\n>\n> This array is empty for existing images. It's intended for use with future functionality."
+ type: "array"
+ readOnly: true
+ label:
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ A short description of the image."
+ example: "Debian 11"
+ x-linode-filterable: true
+ description:
+ example: "Example image description."
+ maxLength: 65000
+ x-linode-cli-color:
+ default_: "white"
+ None: "black"
+ minLength: 1
+ type: "string"
+ description: "A detailed description of this image."
+ nullable: true
+ x-linode-cli-display: 4
+ type:
+ enum:
+ - "manual"
+ - "automatic"
+ example: "manual"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "object"
+ description: "Image object."
+ type: "array"
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/added-get-images-200.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-images-200.json"
+ description: "A paginated list of images."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "images:read_only"
+ tags:
+ - "Images"
+ x-akamai:
+ path-info: "/{apiVersion}/images"
+ file-path: "paths/images.yaml"
+ /{apiVersion}/nodebalancers/{nodeBalancerId}/configs/{configId}/nodes:
+ post:
+ x-original-op-title: "Node Create"
+ summary: "Create a node"
+ x-original-op-id: "createNodeBalancerNode"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-node-balancer-node"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-node-balancer-node"
+ description: "Creates a NodeBalancer Node, a backend that can accept traffic for this NodeBalancer Config. Nodes are routed requests on the configured port based on their status.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers node-create \\\n 12345 4567 \\\n --address 192.168.210.120:80 \\\n --label node54321 \\\n --weight 50 \\\n --mode accept\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "node-create"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli nodebalancers node-create \\\n 12345 4567 \\\n --address 192.168.210.120:80 \\\n --label node54321 \\\n --weight 50 \\\n --mode accept"
+ -
+ syntax: "nodebalancers:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"address\": \"192.168.210.120:80\",\n \"label\": \"node54321\",\n \"weight\": 50,\n \"mode\": \"accept\"\n }' \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers node-create \\\n 12345 4567 \\\n --address 192.168.210.120:80 \\\n --label node54321 \\\n --weight 50 \\\n --mode accept"
+ tags:
+ - "NodeBalancers"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ responses:
+ 200:
+ description: "Node created successfully."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ properties:
+ config_id:
+ example: 4567
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ address:
+ format: "ip"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ example: "192.168.210.120:80"
+ id:
+ example: 54321
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This node's unique ID."
+ x-linode-cli-display: 1
+ nodebalancer_id:
+ readOnly: true
+ example: 12345
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ type: "integer"
+ status:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ type: "string"
+ x-linode-cli-color:
+ UP: "green"
+ default_: "white"
+ DOWN: "red"
+ unknown: "yellow"
+ readOnly: true
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ label:
+ minLength: 3
+ x-linode-cli-display: 2
+ description: "The label for this node. This is for display purposes only."
+ type: "string"
+ example: "node54321"
+ maxLength: 32
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ weight:
+ example: 50
x-linode-cli-display: 5
- vpc_nat_1_1:
- type: object
- description: |
- IPv4 address configured as a 1:1 NAT for this Interface. Empty if no address is configured as a 1:1 NAT.
-
- **Note:** Only allowed for `vpc` type Interfaces.
- properties:
- vpc_id:
- type: integer
+ minimum: 1
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ type: "integer"
+ maximum: 255
+ mode:
+ example: "accept"
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-node-balancer-node-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ type: "object"
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ properties:
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ This node's unique ID."
+ type: "integer"
+ readOnly: true
+ example: 54321
+ nodebalancer_id:
+ readOnly: true
+ example: 12345
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ type: "integer"
+ address:
+ type: "string"
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ x-linode-cli-display: 3
+ format: "ip"
+ example: "192.168.210.120:80"
+ config_id:
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ type: "integer"
+ readOnly: true
+ example: 4567
+ weight:
+ type: "integer"
+ minimum: 1
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ x-linode-cli-display: 5
+ example: 50
+ maximum: 255
+ label:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The label for this node. This is for display purposes only."
+ minLength: 3
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ maxLength: 32
+ example: "node54321"
+ mode:
+ example: "accept"
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ x-linode-cli-display: 6
+ status:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ type: "string"
+ x-linode-cli-color:
+ DOWN: "red"
+ default_: "white"
+ UP: "green"
+ unknown: "yellow"
+ readOnly: true
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ x-akamai:
+ file-path: "schemas/added-post-node-balancer-node.yaml"
+ required:
+ - "label"
+ - "address"
+ x-example:
+ x-ref: "../examples/post-node-balancer-node.json"
+ description: "Information about the Node to create."
+ x-linode-cli-command: "nodebalancers"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "integer"
+ name: "nodeBalancerId"
+ description: "The ID of the NodeBalancer to access."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/node-balancer-id.yaml"
+ -
+ name: "configId"
+ description: "The ID of the NodeBalancer config to access."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/config-id-node-balancer.yaml"
+ schema:
+ type: "integer"
+ required: true
+ get:
+ operationId: "get-node-balancer-config-nodes"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-node-balancer-config-nodes"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers nodes-list 12345 4567"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli nodebalancers nodes-list 12345 4567"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_only"
+ x-linode-cli-action: "nodes-list"
+ description: "Returns a paginated list of NodeBalancer nodes associated with this Config. These are the backends that will be sent traffic for this port.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers nodes-list 12345 4567\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ summary: "List nodes"
+ x-original-op-title: "Nodes List"
+ x-original-op-id: "getNodeBalancerConfigNodes"
+ parameters:
+ -
+ required: false
+ schema:
+ default: 1
+ minimum: 1
+ type: "integer"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ description: "The page of a collection to return."
+ name: "page"
+ -
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ description: "The number of items to return per page."
+ name: "page_size"
+ schema:
+ default: 100
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ pages:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ data:
+ type: "array"
+ items:
+ properties:
+ label:
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ maxLength: 32
+ example: "node54321"
+ x-linode-cli-display: 2
+ description: "The label for this node. This is for display purposes only."
+ type: "string"
+ minLength: 3
+ weight:
+ x-linode-cli-display: 5
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ minimum: 1
+ type: "integer"
+ maximum: 255
+ example: 50
+ mode:
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ example: "accept"
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ status:
+ type: "string"
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ x-linode-cli-display: 4
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ readOnly: true
+ x-linode-cli-color:
+ DOWN: "red"
+ UP: "green"
+ default_: "white"
+ unknown: "yellow"
+ id:
+ type: "integer"
+ description: "__Read-only__ This node's unique ID."
+ x-linode-cli-display: 1
+ example: 54321
+ readOnly: true
+ nodebalancer_id:
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ type: "integer"
+ readOnly: true
+ example: 12345
+ config_id:
+ type: "integer"
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ readOnly: true
+ example: 4567
+ address:
+ x-linode-cli-display: 3
+ format: "ip"
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ type: "string"
+ example: "192.168.210.120:80"
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ type: "object"
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-node-balancer-config-nodes-200.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-node-balancer-config-nodes-200.json"
+ description: "A paginated list of NodeBalancer nodes."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_only"
+ tags:
+ - "NodeBalancers"
+ x-akamai:
+ path-info: "/{apiVersion}/nodebalancers/{nodeBalancerId}/configs/{configId}/nodes"
+ file-path: "paths/nodes.yaml"
+ /{apiVersion}/account/availability:
+ get:
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-availability-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-availability-200.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ properties:
+ data:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/account-availability.yaml"
+ properties:
+ available:
+ readOnly: true
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of services _available_ to your account in the `region`."
+ unavailable:
+ readOnly: true
+ example:
+ - "Kubernetes"
+ - "Block Storage"
+ items:
+ type: "string"
+ x-linode-cli-display: 3
+ type: "array"
+ description: "__Read-only__ A list of services _unavailable_ to your account in the `region`."
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The Akamai cloud computing data center (region), represented by a slug value. You can view a full list of regions and their associated slugs with the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation."
+ type: "object"
+ description: "Account Service Availability object."
+ additionalProperties: false
+ type: "object"
+ -
+ additionalProperties: false
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ properties:
+ results:
readOnly: true
- nullable: false
- description: |
- The `id` of the VPC configured for this Interface.
- example: 111
- subnet_id:
- type: integer
- nullable: false
- description: |
- The `id` of the VPC Subnet for this Interface.
- example: 101
- address:
- type: string
- format: ipv4
- description: |
- The IPv4 address that is configured as a 1:1 NAT for this VPC interface.
- example: 192.168.0.42
- IPAddressesShareRequest:
- type: object
- description: A request object IP Addresses Share (POST /networking/ips/share)
- required:
- - linode_id
- - ips
- properties:
- linode_id:
- type: integer
- description: >
- The ID of the primary Linode that the addresses will be shared with.
- example: 123
- ips:
- type: array
- items:
- type: string
- format: ip
- example:
- - "192.0.2.1"
- - "2001:db8:3c4d:15::"
- description: |
- A list of secondary Linode IPs to share with the primary Linode.
- * Can include both IPv4 addresses and IPv6 ranges (omit /56 and /64 prefix lengths)
- * Can include both private and public IPv4 addresses.
- * You must have access to all of these addresses and they must be in the same Region as the primary Linode.
- * Enter an empty array to remove all shared IP addresses.
- IPAddressesVPC:
- description: The response data for the VPC IP Addresses List and View operations.
- allOf:
- - $ref: '#/components/schemas/PaginationEnvelope'
- - type: object
- description: >
- A VPC IP address that exists in Linode's system, specific to the response for the VPC IP Addresses List command. Returned as an empty set for Linodes that are not part of a VPC.
- properties:
- active:
- type: boolean
- description: >
- Returns `true` if the VPC interface is in use, meaning that the Linode was powered on using the `config_id` to which the interface belongs. Otherwise returns `false`.
- example: true
- readOnly: true
- x-linode-filterable: true
- address:
- type: string
- format: ip
- description: >
- An IPv4 address configured for this VPC interface. These follow the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address format. Displayed as `null` if an `address_range`.
- example: 192.0.2.141
- nullable: true
- readOnly: true
- x-linode-cli-display: 1
- address_range:
- type: string
- description: >
- A range of IPv4 addresses configured for this VPC interface. Displayed as `null` if a single `address`.
- nullable: true
- readOnly: true
- config_id:
- type: integer
- description: >
- The globally general entity identifier for the Linode configuration profile where the VPC is included.
- example: 4567
- readOnly: true
- x-linode-filterable: true
- gateway:
- type: string
- format: ip
- description: >
- The default gateway for the VPC subnet that the IP or IP range belongs to.
- example: 192.0.2.1
- nullable: true
- readOnly: true
- interface_id:
- type: integer
- description: >
- The globally general API entity identifier for the Linode interface.
- example: 2435
- readOnly: true
- linode_id:
- type: integer
- description: >
- The identifier for the Linode the VPC interface currently belongs to.
- example: 123
- readOnly: true
- x-linode-cli-display: 6
- x-linode-filterable: true
- nat_1_1:
- type: string
- format: ip
- description: >
- The public IP address used for NAT 1:1 with the VPC. This is empty if NAT 1:1 isn't used.
- example: 192.168.0.42
- readOnly: true
- prefix:
- type: integer
- description: >
- The number of bits set in the `subnet_mask`.
- example: 24
- nullable: true
- readOnly: true
- region:
- type: string
- description: >
- The region of the VPC.
- example: us-east
- readOnly: true
- x-linode-filterable: true
- x-linode-cli-display: 5
- subnet_id:
- type: integer
- nullable: false
- description: |
- The `id` of the VPC Subnet for this interface.
- example: 101
- subnet_mask:
- type: string
- format: ip
- description: >
- The mask that separates host bits from network bits for the `address` or `address_range`.
- example: 255.255.255.0
- readOnly: true
- vpc_id:
- type: integer
- description: >
- The unique globally general API entity identifier for the VPC.
- example: 7654
- readOnly: true
- x-linode-filterable: true
- IPAddressPrivate:
- type: object
- description: >
- A private IPv4 address that exists in Linode's system.
- properties:
- address:
- type: string
- format: ip
- description: >
- The private IPv4 address.
- example: 192.168.133.234
- readOnly: true
- x-linode-cli-display: 1
- gateway:
- type: string
- format: ip
- description: >
- The default gateway for this address.
- example: null
- readOnly: true
- subnet_mask:
- type: string
- format: ip
- description: >
- The mask that separates host bits from network bits for this address.
- example: 255.255.128.0
- readOnly: true
- prefix:
- type: integer
- description: >
- The number of bits set in the subnet mask.
- example: 17
- readOnly: true
- type:
- type: string
- description: >
- The type of address this is.
- example: ipv4
- readOnly: true
- x-linode-cli-display: 2
- public:
- type: boolean
- description: >
- Whether this is a public or private IP address.
- example: false
- readOnly: true
- x-linode-cli-display: 3
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address.
- example: null
- x-linode-cli-display: 4
- linode_id:
- type: integer
- description: >
- The ID of the Linode this address currently belongs to.
- example: 123
- readOnly: true
- x-linode-cli-display: 6
- region:
- type: string
- description: >
- The Region this address resides in.
- example: us-east
- readOnly: true
- x-linode-cli-display: 5
- IPAddressV6LinkLocal:
- type: object
- description: >
- A link-local IPv6 address that exists in Linode's system.
- properties:
- address:
- type: string
- format: ip
- description: >
- The IPv6 link-local address.
- example: fe80::f03c:91ff:fe24:3a2f
- readOnly: true
- x-linode-cli-display: 1
- gateway:
- type: string
- description: >
- The default gateway for this address.
- example: fe80::1
- readOnly: true
- subnet_mask:
- type: string
- format: ip
- description: >
- The subnet mask.
- example: "ffff:ffff:ffff:ffff::"
- readOnly: true
- prefix:
- type: integer
- description: >
- The network prefix.
- example: 64
- readOnly: true
- type:
- type: string
- description: >
- The type of address this is.
- example: ipv6
- readOnly: true
- x-linode-cli-display: 2
- public:
- type: boolean
- description: >
- Whether this is a public or private IP address.
- example: false
- readOnly: true
- x-linode-cli-display: 3
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address.
- example: null
- x-linode-cli-display: 4
- linode_id:
- type: integer
- description: >
- The ID of the Linode this address currently belongs to.
- example: 123
- readOnly: true
- x-linode-cli-display: 6
- region:
- type: string
- description: >
- The Region this address resides in.
- example: us-east
- readOnly: true
- x-linode-filterable: true
- x-linode-cli-display: 5
- IPAddressV6Slaac:
- type: object
- description: >
- A SLAAC IPv6 address that exists in Linode's system.
- properties:
- address:
- type: string
- format: ip
- description: >
- The address.
- example: 2600:3c03::f03c:91ff:fe24:3a2f
- readOnly: true
- x-linode-cli-display: 1
- gateway:
- type: string
- description: >
- The default gateway for this address.
- example: fe80::1
- readOnly: true
- subnet_mask:
- type: string
- format: ip
- description: >
- The subnet mask.
- example: "ffff:ffff:ffff:ffff::"
- readOnly: true
- prefix:
- type: integer
- description: >
- The network prefix.
- example: 64
- readOnly: true
- type:
- type: string
- description: >
- The type of address this is.
- example: ipv6
- readOnly: true
- x-linode-cli-display: 2
- public:
- type: boolean
- description: >
- Whether this is a public or private IP address.
- example: true
- readOnly: true
- x-linode-cli-display: 3
- rdns:
- type: string
- description: >
- The reverse DNS assigned to this address.
- example: null
- x-linode-cli-display: 4
- linode_id:
- type: integer
- description: >
- The ID of the Linode this address currently belongs to.
- example: 123
- readOnly: true
- x-linode-cli-display: 6
- region:
- type: string
- description: >
- The Region this address resides in.
- example: us-east
- readOnly: true
- x-linode-filterable: true
- x-linode-cli-display: 5
- IPv6Pool:
- type: object
- description: >
- An object representing an IPv6 pool.
- properties:
- range:
- type: string
- description: >
- The IPv6 range of addresses in this pool.
- example: '2600:3c01::2:5000:0'
- readOnly: true
- x-linode-cli-display: 1
- prefix:
- type: integer
- description: >
- The prefix length of the address. The total number of addresses that can be assigned from this range is calculated as 2(128 - prefix length) .
- example: 124
- x-linode-cli-display: 2
- region:
- type: string
- description: >
- The region for this pool of IPv6 addresses.
- example: us-east
- readOnly: true
- x-linode-cli-display: 3
- x-linode-filterable: true
- route_target:
- type: string
- description: >
- The last address in this block of IPv6 addresses.
- example: '2600:3c01::2:5000:f'
- nullable: true
- IPv6Range:
- type: object
- description: >
- An object representing an IPv6 range.
- properties:
- range:
- type: string
- description: >
- The IPv6 address of this range.
- example: '2600:3c01::'
- readOnly: true
- x-linode-cli-display: 1
- prefix:
- type: integer
- description: >
- The prefix length of the address. The total number of addresses that can be assigned from this range is calculated as 2(128 - prefix length) .
- example: 64
- x-linode-cli-display: 2
- region:
- type: string
- description: >
- The region for this range of IPv6 addresses.
- example: us-east
- readOnly: true
- x-linode-cli-display: 3
- route_target:
- type: string
- description: >
- The IPv6 SLAAC address.
- example: '2600:3c01::ffff:ffff:ffff:ffff'
- IPv6RangeBGP:
- type: object
- description: >
- An object representing an IPv6 range.
- properties:
- range:
- type: string
- description: >
- The IPv6 address of this range.
- example: '2600:3c01::'
- readOnly: true
- x-linode-cli-display: 1
- prefix:
- type: integer
- description: >
- The prefix length of the address. The total number of addresses that can be assigned from this range is calculated as 2(128 - prefix length) .
- example: 64
- x-linode-cli-display: 2
- region:
- type: string
- description: >
- The region for this range of IPv6 addresses.
- example: us-east
- readOnly: true
- x-linode-cli-display: 3
- is_bgp:
- type: boolean
- description: >
- Whether this IPv6 range is shared.
- example: false
- readOnly: true
- linodes:
- type: array
- items:
- type: integer
- example:
- - 123
- description: >
- A list of Linodes targeted by this IPv6 range. Includes Linodes with IP sharing.
- readOnly: true
- x-linode-cli-display: 4
- Kernel:
- type: object
- description: Linux kernel object
- properties:
- id:
- type: string
- description: The unique ID of this Kernel.
- example: linode/latest-64bit
- readOnly: true
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- description: The friendly name of this Kernel.
- example: Latest 64 bit (4.15.7-x86_64-linode102)
- readOnly: true
- x-linode-cli-display: 2
- version:
- x-linode-filterable: true
- type: string
- description: Linux Kernel version.
- example: 4.15.7
- readOnly: true
- x-linode-cli-display: 3
- kvm:
- x-linode-filterable: true
- type: boolean
- description: If this Kernel is suitable for KVM Linodes.
- example: true
- readOnly: true
- architecture:
- x-linode-filterable: true
- type: string
- description: The architecture of this Kernel.
- enum:
- - x86_64
- - i386
- example: x86_64
- readOnly: true
- x-linode-cli-display: 4
- pvops:
- x-linode-filterable: true
- type: boolean
- description: If this Kernel is suitable for paravirtualized operations.
- example: false
- readOnly: true
- deprecated:
- x-linode-filterable: true
- type: boolean
- description: If this Kernel is marked as deprecated, this field has a value of true;
- otherwise, this field is false.
- example: false
- readOnly: true
- built:
- type: string
- format: date-time
- description: The date on which this Kernel was built.
- example: '2018-01-01T00:01:01'
- readOnly: true
- Linode:
- type: object
- properties:
- label:
- x-linode-filterable: true
- x-linode-cli-display: 2
- type: string
- description: |
- The Linode's label is for display purposes only. If no label is provided for a Linode,
- a default will be assigned.
-
- Linode labels have the following constraints:
-
- * Must begin and end with an alphanumeric character.
- * May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).
- * Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row.
- example: linode123
- minLength: 3
- maxLength: 64
- pattern: '^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$'
- region:
- type: string
- x-linode-filterable: true
- readOnly: true
- description: >
- This is the [Region](/docs/api/regions/#regions-list) where the Linode was deployed. A Linode's region can only be changed by
- initiating a [cross data center migration](/docs/api/linode-instances/#dc-migrationpending-host-migration-initiate).
- x-linode-cli-display: 3
- example: us-east
- image:
- x-linode-filterable: true
- readOnly: true
- nullable: true
- allOf:
- - $ref: '#/components/schemas/DiskRequest/properties/image'
- x-linode-cli-display: 5
- example: linode/debian10
- type:
- type: string
- readOnly: true
- description: >
- This is the [Linode Type](/docs/api/linode-types/#types-list) that this
- Linode was deployed with.
-
- To change a Linode's Type, use
- [POST /linode/instances/{linodeId}/resize](/docs/api/linode-instances/#linode-resize).
- x-linode-cli-display: 4
- example: g6-standard-1
- group:
- deprecated: true
- type: string
- x-linode-filterable: true
- description: >
- A deprecated property denoting a group label for this Linode.
- example: "Linode-Group"
- tags:
- x-linode-filterable: true
- description: >
- An array of tags applied to this object. Tags are for organizational
- purposes only.
- type: array
- items:
- type: string
- example:
- - example tag
- - another example
- id:
- x-linode-filterable: true
- type: integer
- description: >
- This Linode's ID which must be provided for all operations impacting this Linode.
- example: 123
- readOnly: true
- x-linode-cli-display: 1
- status:
- type: string
- description: >
- A brief description of this Linode's current state. This field may change without
- direct action from you. For example, when a Linode goes into maintenance mode
- its status will display "stopped".
- example: running
- readOnly: true
- enum:
- - running
- - offline
- - booting
- - rebooting
- - shutting_down
- - provisioning
- - deleting
- - migrating
- - rebuilding
- - cloning
- - restoring
- - stopped
- - billing_suspension
- x-linode-cli-display: 6
- x-linode-cli-color:
- running: green
- offline: red
- billing_suspension: red
- default_: yellow
- hypervisor:
- type: string
- description: >
- The virtualization software powering this Linode.
- example: kvm
- readOnly: true
- enum:
- - kvm
- created:
- type: string
- format: date-time
- description: When this Linode was created.
- example: '2018-01-01T00:01:01'
- readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Linode was last updated.
- example: '2018-01-01T00:01:01'
- readOnly: true
- ipv4:
- x-linode-filterable: true
- type: array
- format: ipv4
- items:
- type: string
- example:
- - 203.0.113.1
- - 192.0.2.1
- readOnly: true
- description: |
- This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address
- upon creation, and may get a single private IPv4 address if needed. You may need to
- [open a support ticket](/docs/api/support/#support-ticket-open)
- to get additional IPv4 addresses.
-
- IPv4 addresses may be reassigned between your Linodes, or shared with other Linodes.
- See the [/networking](/docs/api/networking/) endpoints for details.
- x-linode-cli-display: 7
- ipv6:
- type: string
- format: ipv6/128
- nullable: true
- description: >
- This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not
- be shared. If the Linode has not been assigned an IPv6 address, the return value will
- be `null`.
- example: 'c001:d00d::1337/128'
- readOnly: true
- specs:
- type: object
- description: Information about the resources available to this Linode.
- readOnly: true
- properties:
- disk:
- type: integer
- description: >
- The amount of storage space, in MB, this Linode has access to. A typical Linode
- will divide this space between a primary disk with an `image` deployed to it, and
- a swap disk, usually 512 MB. This is the default configuration created when
- deploying a Linode with an `image` through
- [POST /linode/instances](/docs/api/linode-instances/#linode-create).
- While this configuration is suitable for 99% of use cases, if you need finer control over
- your Linode's disks, see the
- [/linode/instances/{linodeId}/disks](/docs/api/linode-instances/#disks-list)
- endpoints.
- example: 81920
- readOnly: true
- memory:
- type: integer
- description: |
- The amount of RAM, in MB, this Linode has access to.
-
- Typically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [/linode/instances/{linodeId}/configs](/docs/api/linode-instances/#configuration-profiles-list) endpoints and the LinodeConfig object for more information.
- example: 4096
- readOnly: true
- vcpus:
- type: integer
- description: >
- The number of vcpus this Linode has access to.
- example: 2
- readOnly: true
- gpus:
- type: integer
- description: |
- The number of gpus this Linode has access to.
- example: 0
- readOnly: true
- transfer:
- type: integer
- description: The amount of network transfer this Linode is allotted each month.
- example: 4000
- readOnly: true
- alerts:
- type: object
- properties:
- cpu:
- type: integer
- description: |
- The percentage of CPU usage required to trigger an alert.
- If the average CPU usage over two hours exceeds this value, we'll send you an alert.
- Your Linode's total CPU capacity is represented as 100%, multiplied by its number of
- cores.
-
- For example, a two core Linode's CPU capacity is represented as 200%. If you want
- to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.
-
- The default value is 90% multiplied by the number of cores.
-
- If the value is set to `0` (zero), the alert is disabled.
- example: 180
- network_in:
- type: integer
- description: >
- The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the
- average incoming traffic over two hours exceeds this value, we'll send you an
- alert. If this is set to `0` (zero), the alert is disabled.
- example: 10
- network_out:
- type: integer
- description: >
- The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the
- average outbound traffic over two hours exceeds this value, we'll send you an
- alert. If this is set to `0` (zero), the alert is disabled.
- example: 10
- transfer_quota:
- type: integer
- description: >
- The percentage of network transfer that may be used before an alert is triggered.
- When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is
- disabled.
- example: 80
- io:
- type: integer
- description: >
- The amount of disk IO operation per second required to trigger an alert. If the
- average disk IO over two hours exceeds this value, we'll send you an alert. If set
- to `0` (zero), this alert is disabled.
- example: 10000
- backups:
- type: object
- description: >
- Information about this Linode's backups status. For information about available
- backups, see [/linode/instances/{linodeId}/backups](/docs/api/linode-instances/#backups-list).
- properties:
- enabled:
- type: boolean
- description: >
- If this Linode has the Backup service enabled. To enable backups, see
- [POST /linode/instances/{linodeId}/backups/enable](/docs/api/linode-instances/#backups-enable).
- example: true
- readOnly: true
- available:
- type: boolean
- description: |
- Whether Backups for this Linode are available for restoration.
-
- Backups undergoing maintenance are not available for restoration.
- example: true
- readOnly: true
- schedule:
- type: object
- properties:
- day:
- type: string
- nullable: true
- description: |
- The day of the week that your Linode's weekly Backup is taken.
- If not set manually, a day will be chosen for you. Backups
- are taken every day, but backups taken on this day are
- preferred when selecting backups to retain for a longer period.
-
-
- If not set manually, then when backups are initially enabled, this
- may come back as `Scheduling` until the `day` is automatically selected.
- example: Saturday
- enum:
- - Scheduling
- - Sunday
- - Monday
- - Tuesday
- - Wednesday
- - Thursday
- - Friday
- - Saturday
- window:
- type: string
- nullable: true
- description: |
- The window in which your backups will be taken, in UTC. A
- backups window is a two-hour span of time in which the backup
- may occur.
-
-
- For example, `W10` indicates that your backups should be
- taken between 10:00 and 12:00. If you do not choose a backup
- window, one will be selected for you automatically.
-
-
- If not set manually, when backups are initially enabled this
- may come back as `Scheduling` until the `window` is automatically selected.
- example: W22
- enum:
- - Scheduling
- - W0
- - W2
- - W4
- - W6
- - W8
- - W10
- - W12
- - W14
- - W16
- - W18
- - W20
- - W22
- last_successful:
- type: string
- format: date-time
- description: The last successful backup date. 'null' if there was no previous backup.
- readOnly: true
- example: '2018-01-01T00:01:01'
- watchdog_enabled:
- type: boolean
- description: >
- The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it
- if it powers off unexpectedly. It works by issuing a boot job when your
- Linode powers off without a shutdown job being responsible.
-
- To prevent a loop, Lassie will give up if there have been more than 5 boot
- jobs issued within 15 minutes.
- example: true
- host_uuid:
- type: string
- format: uuid
- description: The Linode's host machine, as a UUID.
- readOnly: true
- example: 3a3ddd59d9a78bb8de041391075df44de62bfec8
- has_user_data:
- type: boolean
- description: Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Linode Create](/docs/api/linode-instances/#linode-create) description for more information on Metadata.
- readOnly: true
- example: true
- LinodeConfig:
- type: object
- properties:
- id:
- type: integer
- description: The ID of this Config.
- example: 23456
- readOnly: true
- x-linode-cli-display: 1
- kernel:
- type: string
- default: linode/latest-64bit
- description: |
- A Kernel ID to boot a Linode with. Here are examples of commonly-used kernels:
-
- * `linode/latest-64bit` (default): Our latest kernel at the time of instance boot/reboot.
- * `linode/grub2`: The upstream distribution-supplied kernel that is installed on the primary disk, or a custom kernel if installed.
- * `linode/direct-disk`: The MBR (Master Boot Record) of the primary disk/root device, used instead of a Linux kernel.
-
- For a complete list of options, use the [Kernels List](/docs/api/linode-instances/#kernels-list) command.
- example: linode/latest-64bit
- x-linode-cli-display: 3
- comments:
- type: string
- nullable: true
- description: Optional field for arbitrary User comments on this Config.
- example: This is my main Config
- memory_limit:
- type: integer
- description: >
- Defaults to the total RAM of the Linode.
- example: 2048
- run_level:
- type: string
- description: >
- Defines the state of your Linode after booting. Defaults to `default`.
- enum:
- - default
- - single
- - binbash
- example: default
- virt_mode:
- type: string
- description: >
- Controls the virtualization mode. Defaults to `paravirt`.
-
- * `paravirt` is suitable for most cases. Linodes running in paravirt mode
- share some qualities with the host, ultimately making it run faster since
- there is less transition between it and the host.
- * `fullvirt` affords more customization, but is slower because 100% of the VM
- is virtualized.
- enum:
- - paravirt
- - fullvirt
- example: paravirt
- interfaces:
- $ref: '#/components/schemas/LinodeConfigInterfaces'
- helpers:
- type: object
- description: Helpers enabled when booting to this Linode Config.
- properties:
- updatedb_disabled:
- type: boolean
- description: Disables updatedb cron job to avoid disk thrashing.
- example: true
- distro:
- type: boolean
- description: Helps maintain correct inittab/upstart console device.
- example: true
- modules_dep:
- type: boolean
- description: Creates a modules dependency file for the Kernel you run.
- example: true
- network:
- type: boolean
- description: Automatically configures static networking.
- example: true
- devtmpfs_automount:
- type: boolean
- description: >
- Populates the /dev directory early during boot without udev. Defaults to false.
- example: false
- label:
- x-linode-filterable: true
- type: string
- description: >
- The Config's label is for display purposes only.
- example: My Config
- minLength: 1
- maxLength: 48
- x-linode-cli-display: 2
- devices:
- $ref: '#/components/schemas/Devices'
- root_device:
- type: string
- pattern: a-z, A-Z, 0-9, /, _, -
- description: >
- The root device to boot.
-
- * If no value or an invalid value is provided, root device will default
- to `/dev/sda`.
-
- * If the device specified at the root device location is not mounted,
- the Linode will not boot until a device is mounted.
- example: /dev/sda
- LinodeConfigInterface:
- type: object
- description: >
- The Network Interface to apply to this Linode's configuration profile.
- properties:
- id:
- readOnly: true
- type: integer
- description: The unique ID representing this Interface.
- example: 101
- x-linode-cli-display: 1
- label:
- type: string
- minLength: 1
- maxLength: 64
- pattern: '[a-zA-Z0-9-]+'
- x-linode-filterable: true
- nullable: true
- description: |
- The name of this Interface.
-
- For `vlan` purpose Interfaces:
- * Required.
- * Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).
- * Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).
- * If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, use the [VLANs List](/docs/api/networking/#vlans-list) endpoint.
-
- For `public` purpose Interfaces:
- * In requests, must be an empty string (`""`) or `null` if included.
- * In responses, always returns `null`.
-
- For `vpc` purpose Interfaces:
- * In requests, must be an empty string (`""`) or `null` if included.
- * In responses, always returns `null`.
- example: example-interface
- x-linode-cli-display: 2
- ipam_address:
- type: string
- format: ip/netmask
- nullable: true
- description: |
- This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.
-
- For `vlan` purpose Interfaces:
- * Must be unique among the Linode's Interfaces to avoid conflicting addresses.
- * Should be unique among devices attached to the VLAN to avoid conflict.
- * The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](/docs/guides/manual-network-configuration/).
-
- For `public` purpose Interfaces:
- * In requests, must be an empty string (`""`) or `null` if included.
- * In responses, always returns `null`.
-
- For `vpc` purpose Interfaces:
- * In requests, must be an empty string (`""`) or `null` if included.
- * In responses, always returns `null`.
- example: '10.0.0.1/24'
- x-linode-cli-display: 4
- purpose:
- type: string
- enum:
- - public
- - vlan
- - vpc
- description: |
- The type of Interface.
-
- * `public`
- * Only one `public` Interface per Linode can be defined.
- * The Linode's default public IPv4 address is assigned to the `public` Interface.
- * A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.
-
- * `vlan`
- * Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.
- * The Linode is configured to use the specified `ipam_address`, if any.
-
- * `vpc`
- * Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.
- * When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information.
- example: vlan
- x-linode-cli-display: 3
- active:
- type: boolean
- description: |
- Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`.
- example: true
- primary:
- type: boolean
- description: |
- The primary Interface is configured as the default route to the Linode.
-
- Each Configuration Profile can have up to one `"primary": true` Interface at a time.
-
- Must be `false` for `vlan` type Interfaces.
-
- If no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface.
- example: true
- vpc_id:
- type: integer
- readOnly: true
- nullable: true
- description: |
- The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces.
- example: 111
- subnet_id:
- type: integer
- nullable: true
- description: |
- The `id` of the VPC Subnet for this Interface.
-
- In requests, this value is used to assign a Linode to a VPC Subnet.
- * Required for `vpc` type Interfaces.
- * Returns `null` for non-`vpc` type Interfaces.
- * Once a VPC Subnet is assigned to an Interface, it cannot be updated.
- * The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet.
- example: 101
- ipv4:
- type: object
- description: |
- IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned.
- properties:
- vpc:
- type: string
- format: ip
- nullable: true
- description: |
- The VPC Subnet IPv4 address for this Interface.
-
- * Only allowed for `vpc` type Interfaces.
- * Returns an empty string (`""`) for non-`vpc` type Interfaces.
-
- For requests:
- * Must not already be actively assigned as an address or within a range to any Linodes.
- * Must not be the first two or last two addresses in the Subnet IPv4 Range.
- * If omitted, a valid address within the Subnet IPv4 range is automatically assigned.
- example: '10.0.0.2'
- nat_1_1:
- type: string
- format: ip
- nullable: true
- description: |
- The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.
-
- * Only allowed for `vpc` type Interfaces.
- * Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.
- * Returns an empty string (`""`) for non-`vpc` type Interfaces.
-
- For requests:
- * Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.
- * Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.
- * The public IPv4 address can't be shared with another Linode.
- * If omitted, set to `null`, or set to an empty string (`""`), no 1:1 NAT is established.
-
- **Note**: When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address.
- example: '203.0.113.2'
- # ipv6:
- # type: object
- # description: |
- # **VPC BETA ONLY**
- #
- # IPv6 addresses configured for this Interface.
- # properties:
- # vpc:
- # type: string
- # format: ip
- # description: |
- # **VPC BETA ONLY**
- #
- # The VPC IPv6 address assigned to this Interface.
- #
- # * Only allowed for `vpc` type Interfaces.
- # * Returns an empty string (`""`) for non-`vpc` type Interfaces.
- #
- # For requests:
- # * The VPC Subnet must have an IPv6 range.
- # * Must not already be actively assigned as an address or within a range.
- # * Must not be the first two or last two addresses in the Subnet IPv6 Range.
- # * If omitted, a valid address within the Subnet IPv6 range is automatically assigned.
- # example: 'fd04:495a:691c:971c::2'
- ip_ranges:
- type: array
- nullable: true
- description: |
- An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.
-
- * Array items are only allowed for `vpc` type Interfaces.
- * This must be empty for non-`vpc` type Interfaces.
-
- For requests:
- * Addresses in submitted ranges must not already be actively assigned.
- * Submitting values replaces any existing values.
- * Submitting an empty array removes any existing values.
- * Omitting this property results in no change to existing values.
- items:
- type: string
- format: ip
- example:
- - 10.0.0.64/26
- - fd04:495a:691c:971c::1:0/112
- LinodeConfigInterfaces:
- type: array
- items:
- $ref: '#/components/schemas/LinodeConfigInterface'
- minItems: 1
- maxItems: 3
- uniqueItems: true
- required:
- - purpose
- description: |
- An array of Network Interfaces to add to this Linode's Configuration Profile. At least one and up to three Interface objects can exist in this array. The position in the array determines which of the Linode's network Interfaces is configured:
-
- - First [0]: eth0
- - Second [1]: eth1
- - Third [2]: eth2
-
- When updating a Linode's Interfaces, *each Interface must be redefined*. An empty `interfaces` array results in a default `public` type Interface configuration only.
-
- If no public Interface is configured, public IP addresses are still assigned to the Linode but will not be usable without manual configuration.
-
- **Note:** Changes to Linode Interface configurations can be enabled by rebooting the Linode.
-
- `vpc` details
-
- See the [VPC documentation](/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.
-
- `vlan` details
-
- - Only Next Generation Network (NGN) data centers support VLANs. Use the Regions ([/regions](/docs/api/regions/)) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated or cloned because of an incompatibility, you will be prompted to select a different data center or contact support.
- - See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations.
- example:
- - {
- "id": 101,
- "purpose": "public",
- "ipam_address": null,
- "label": null,
- "primary": false,
- "vpc_id": null,
- "subnet_id": null,
- "ipv4": null
- }
- - {
- "id": 102,
- "purpose": "vlan",
- "ipam_address": "10.0.0.1/24",
- "label": "vlan-1",
- "primary": false,
- "vpc_id": null,
- "subnet_id": null,
- "ipv4": {
- "vpc": "10.0.0.2",
- "nat_1_1": null
- }
- }
- - {
- "id": 103,
- "purpose": "vpc",
- "ipam_address": null,
- "label": null,
- "primary": true,
- "vpc_id": 111,
- "subnet_id": 101,
- "ipv4": {
- "vpc": "10.0.1.2",
- "nat_1_1": "203.0.113.2"
- }
- }
- LinodeRequest:
- type: object
- description: Common properties for creating and rebuilding Linodes.
- properties:
- image:
- $ref: '#/components/schemas/DiskRequest/properties/image'
- root_pass:
- $ref: '#/components/schemas/DiskRequest/properties/root_pass'
- authorized_keys:
- $ref: '#/components/schemas/DiskRequest/properties/authorized_keys'
- authorized_users:
- $ref: '#/components/schemas/DiskRequest/properties/authorized_users'
- stackscript_id:
- $ref: '#/components/schemas/DiskRequest/properties/stackscript_id'
- stackscript_data:
- $ref: '#/components/schemas/DiskRequest/properties/stackscript_data'
- booted:
- type: boolean
- writeOnly: true
- description: >
- This field defaults to `true` if the Linode is created with an Image or from a
- Backup.
-
- If it is deployed from an Image or a Backup and you wish it to remain `offline`
- after deployment, set this to `false`.
- default: true
- metadata:
- type: object
- writeOnly: true
- description: |
- An object containing user-defined data relevant to the creation of Linodes.
- properties:
- user_data:
- type: string
- format: byte
- description: |
- Base64-encoded [cloud-config](/docs/products/compute/compute-instances/guides/metadata-cloud-config/) data.
-
- Cannot be modified after provisioning. To update, use either the [Linode Clone](/docs/api/linode-instances/#linode-clone) or [Linode Rebuild](/docs/api/linode-instances/#linode-rebuild) commands.
-
- Must not be included when cloning to an existing Linode.
-
- Unencoded data must not exceed 65535 bytes, or about 16kb encoded.
- example: I2Nsb3VkLWNvbmZpZwpwYWNrYWdlX3VwZGF0ZTogdHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IHRydWU=
- LinodeStats:
- type: object
- description: >
- CPU, IO, IPv4, and IPv6 statistics. Graph data, if available,
- is in "[timestamp, reading]" array format. Timestamp is a UNIX timestamp
- in EST.
- readOnly: true
- properties:
- cpu:
- type: array
- description: >
- Percentage of CPU used.
- items:
- type: array
- items:
- type: number
- example:
- - 1521483600000
- - 0.42
- io:
- type: object
- description: Input/Output statistics.
- properties:
- io:
- type: array
- description: Block/s written.
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 0.19
- swap:
- type: array
- description: Block/s written.
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 0
- netv4:
- type: object
- description: IPv4 statistics.
- properties:
- in:
- type: array
- description: Input stats for IPv4, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 2004.36
- out:
- type: array
- description: Output stats for IPv4, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 3928.91
- private_in:
- type: array
- description: Private IPv4 input statistics, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 0
- private_out:
- type: array
- description: Private IPv4 output statistics, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 5.6
- netv6:
- type: object
- description: IPv6 statistics.
- properties:
- in:
- type: array
- description: Input stats for IPv6, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 0
- out:
- type: array
- description: Output stats for IPv6, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 0
- private_in:
- type: array
- description: Private IPv6 input statistics, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 195.18
- private_out:
- type: array
- description: Private IPv6 output statistics, measured in bits/s (bits/second).
- items:
- type: array
- items:
- type: number
- example:
- - 1521484800000
- - 5.6
- title:
- type: string
- description: The title for this data set.
- example: linode.com - my-linode (linode123456) - day (5 min avg)
- LinodeType:
- type: object
- description: >
- Returns collection of Linode types, including pricing and specifications
- for each type. These are used when
- [creating](/docs/api/linode-instances/#linode-create)
- or [resizing](/docs/api/linode-instances/#linode-resize)
- Linodes.
- properties:
- id:
- readOnly: true
- type: string
- description: The ID representing the Linode Type.
- example: g6-standard-2
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- readOnly: true
- description: >
- The Linode Type's label is for display purposes only.
- example: Linode 4GB
- x-linode-cli-display: 2
- disk:
- x-linode-filterable: true
- type: integer
- readOnly: true
- description: >
- The Disk size, in MB, of the Linode Type.
- example: 81920
- x-linode-cli-display: 4
- class:
- x-linode-filterable: true
- type: string
- readOnly: true
- description: |
- The class of the Linode Type.
-
- We currently offer six classes of compute instances:
-
- * `nanode` - Nanode instances are good for low-duty workloads, where performance isn't critical. **Note:** As of June 16th, 2020, Nanodes became 1 GB Linodes in the Cloud Manager, however, the API, the CLI, and billing will continue to refer to these instances as Nanodes.
- * `standard` - Standard Shared instances are good for medium-duty workloads and are a good mix of performance, resources, and price. **Note:** As of June 16th, 2020, Standard Linodes in the Cloud Manager became Shared Linodes, however, the API, the CLI, and billing will continue to refer to these instances as Standard Linodes.
- * `dedicated` - Dedicated CPU instances are good for full-duty workloads where consistent performance is important.
- * `premium` (limited Regions) - In addition to the features of Dedicated instances, Premium instances come equipped with the latest AMD EPYC™ CPUs, ensuring your applications are running on the latest hardware with consistently high performance. Only available in [Regions](/docs/api/regions/#regions-list) with "Premium Plans" in their `capabilities`
- * `gpu` (limited Regions) - Linodes with dedicated NVIDIA Quadro® RTX 6000 GPUs accelerate highly specialized applications such as machine learning, AI, and video transcoding. Only available in [Regions](/docs/api/regions/#regions-list) with "GPU Linodes" in their `capabilities`
- * `highmem` - High Memory instances favor RAM over other resources, and can be good for memory hungry use cases like caching and in-memory databases. All High Memory plans contain dedicated CPU cores.
- enum:
- - nanode
- - standard
- - dedicated
- - premium
- - gpu
- - highmem
- example: standard
- x-linode-cli-display: 3
- price:
- type: object
- readOnly: true
- description: |
- The default cost of provisioning this Linode Type. Prices are in US dollars, broken down into hourly and monthly charges.
-
- Certain Regions have different prices from the default. For Region-specific prices, see `region_prices`.
- properties:
- hourly:
- type: number
- description: Cost (in US dollars) per hour.
- example: 0.03
- x-linode-cli-display: 9
- monthly:
- type: number
- description: Cost (in US dollars) per month.
- example: 20
- x-linode-cli-display: 10
- region_prices:
- type: array
- items:
- type: object
- properties:
- id:
- type: string
- description: The Region ID for these prices.
- example: us-east
- hourly:
- type: number
- description: Cost (in US dollars) per hour for this Region.
- example: 0.036
- monthly:
- type: number
- description: Cost (in US dollars) per month for this Region.
- example: 24
- addons:
- type: object
- readOnly: true
- description: >
- A list of optional add-on services for Linodes and their associated
- costs.
- properties:
- backups:
- type: object
- readOnly: true
- description: >
- Information about the optional Backup service offered for Linodes.
- properties:
- price:
- type: object
- description: |
- The default cost of enabling Backups for this Linode Type. Prices are in US dollars, broken down into hourly and monthly charges.
-
- Certain Regions have different prices from the default. For Region-specific prices, see `region_prices`.
- properties:
- hourly:
- type: number
- description: >
- The cost (in US dollars) per hour to add Backups service.
- example: 0.008
- monthly:
- type: number
- description: >
- The cost (in US dollars) per month to add Backups service.
- example: 5
- region_prices:
- type: array
- items:
- type: object
- properties:
- id:
- type: string
- description: The Region ID for these prices.
- example: us-east
- hourly:
- type: number
- description: Cost (in US dollars) per hour to add Backups service in this Region.
- example: 0.0096
- monthly:
- type: number
- description: Cost (in US dollars) per month to add Backups service in this Region.
- example: 6
- network_out:
- x-linode-filterable: true
- type: integer
- readOnly: true
- description: >
- The Mbits outbound bandwidth allocation.
- example: 1000
- x-linode-cli-display: 7
- memory:
- x-linode-filterable: true
- type: integer
- readOnly: true
- description: >
- Amount of RAM included in this Linode Type.
- example: 4096
- x-linode-cli-display: 5
- successor:
- type: string
- readOnly: true
- nullable: true
- description: >
- The Linode Type that a [mutate](/docs/api/linode-instances/#linode-upgrade)
- will upgrade to for a Linode of this type. If "null", a Linode of this type
- may not mutate.
- example: null
- transfer:
- x-linode-filterable: true
- type: integer
- readOnly: true
- description: >
- The monthly outbound transfer amount, in MB.
- example: 4000
- x-linode-cli-display: 8
- vcpus:
- x-linode-filterable: true
- type: integer
- readOnly: true
- description: >
- The number of VCPU cores this Linode Type offers.
- example: 2
- x-linode-cli-display: 6
- gpus:
- x-linode-filterable: true
- type: integer
- readOnly: true
- description: >
- The number of GPUs this Linode Type offers.
- example: 0
- x-linode-cli-display: 6.5
- LKECluster:
- type: object
- description: A Kubernetes cluster.
- properties:
- id:
- type: integer
- description: This Kubernetes cluster's unique ID.
- readOnly: true
- x-linode-cli-display: 1
- example: 1234
- created:
- type: string
- format: date-time
- description: When this Kubernetes cluster was created.
- example: "2019-09-12T21:25:30Z"
- readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Kubernetes cluster was updated.
- example: "2019-09-13T21:24:16Z"
- readOnly: true
- label:
- type: string
- description: >
- This Kubernetes cluster's unique label for display purposes only.
-
- Labels have the following constraints:
-
- * UTF-8 characters will be returned by the API using escape
- sequences of their Unicode code points. For example, the
- Japanese character *か* is 3 bytes in UTF-8 (`0xE382AB`). Its
- Unicode code point is 2 bytes (`0x30AB`). APIv4 supports this
- character and the API will return it as the escape sequence
- using six 1 byte characters which represent 2 bytes of Unicode
- code point (`"\u30ab"`).
- * 4 byte UTF-8 characters are not supported.
- * If the label is entirely composed of UTF-8 characters, the API
- response will return the code points using up to 193 1 byte
- characters.
- minLength: 1
- maxLength: 32
- x-linode-filterable: true
- x-linode-cli-display: 2
- example: lkecluster12345
- region:
- type: string
- description: This Kubernetes cluster's location.
- x-linode-filterable: true
- x-linode-cli-display: 3
- example: us-central
- k8s_version:
- type: string
- description: >
- The desired Kubernetes version for this Kubernetes cluster in the format of <major>.<minor>,
- and the latest supported patch version will be deployed.
- x-linode-filterable: true
- x-linode-cli-display: 4
- example: "1.27"
- control_plane:
- type: object
- description: >
- Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components. Enabling High Avaialability for LKE is an **irreversible** change.
- properties:
- high_availability:
- type: boolean
- description: >
- Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`.
- x-linode-cli-display: 5
- example: true
- tags:
- x-linode-filterable: true
- type: array
- description: >
- An array of tags applied to the Kubernetes cluster.
- Tags are for organizational purposes only.
- items:
- type: string
- example:
- - ecomm
- - blogs
- LKENodePoolRequestBody:
- type: object
- description: >
- Specifies a collection of Linodes which will be members of a Kubernetes
- cluster.
- properties:
- autoscaler:
- type: object
- description: |
- When enabled, the number of nodes autoscales within the defined minimum and maximum values.
-
- When making a request, `max` and `min` require each other.
- properties:
- enabled:
- type: boolean
- description: Whether autoscaling is enabled for this Node Pool. Defaults to `false`.
- example: true
- max:
- type: integer
- minimum: 1
- maximum: 100
- description: |
- The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`. Defaults to the value provided by the `count` field.
- example: 12
- min:
- type: integer
- minimum: 1
- maximum: 100
- description: The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`.
- example: 3
- type:
- $ref: '#/components/schemas/LKENodePool/properties/type'
- count:
- $ref: '#/components/schemas/LKENodePool/properties/count'
- disks:
- type: array
- x-linode-cli-format: json
- description: |
- **Note**: This field should be omitted except for special use cases. The disks specified here are
- partitions in *addition* to the primary partition and reduce the size of the primary partition,
- which can lead to stability problems for the Node.
-
- This Node Pool's custom disk layout. Each item in this array will create a new disk
- partition for each node in this Node Pool.
-
- * The custom disk layout is applied to each node in this Node Pool.
- * The maximum number of custom disk partitions that can be configured is 7.
- * Once the requested disk paritions are allocated, the remaining disk space is allocated to the node's boot disk.
- * A Node Pool's custom disk layout is immutable over the lifetime of the Node Pool.
- items:
- $ref: '#/components/schemas/LKENodePool/properties/disks/items'
- tags:
- $ref: '#/components/schemas/LKENodePool/properties/tags'
- LKENodePool:
- type: object
- description: >
- The set of Node Pools which are members of the Kubernetes cluster.
- Node Pools consist of a Linode type, the number of Linodes to
- deploy of that type, and additional status information.
- properties:
- autoscaler:
- type: object
- description: |
- When enabled, the number of nodes autoscales within the defined minimum and maximum values.
- properties:
- enabled:
- type: boolean
- description: Whether autoscaling is enabled for this Node Pool. Defaults to `false`.
- example: true
- max:
- type: integer
- minimum: 1
- maximum: 100
- description: The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`.
- example: 12
- min:
- type: integer
- minimum: 1
- maximum: 100
- description: The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`.
- example: 3
- type:
- type: string
- description: The Linode Type for all of the nodes in the Node Pool.
- example: g6-standard-4
- count:
- type: integer
- description: The number of nodes in the Node Pool.
- minimum: 1
- maximum: 100
- example: 6
- disks:
- type: array
- x-linode-cli-format: json
- description: |
- This Node Pool's custom disk layout.
- items:
- type: object
- description: >
- The values to assign to each partition in this Node Pool's custom disk layout.
- properties:
- size:
- description: >
- The size of this custom disk partition in MB.
-
- * The size of this disk partition must not exceed the capacity of the node's plan type.
- type: integer
- example: 1024
- type:
- description: >
- This custom disk partition's filesystem type.
- type: string
- enum:
- - raw
- - ext4
- example: ext-4
- id:
- type: integer
- description: >
- This Node Pool's unique ID.
- x-linode-filterable: true
- example: 456
- nodes:
- type: array
- description: >
- Status information for the Nodes which are members of this Node
- Pool. If a Linode has not been provisioned for a given Node slot,
- the instance_id will be returned as null.
- items:
- $ref: '#/components/schemas/LKENodeStatus'
- tags:
- x-linode-filterable: true
- description: >
- An array of tags applied to this object. Tags are for organizational
- purposes only.
- type: array
- items:
- type: string
- example:
- - example tag
- - another example
- LKENodeStatus:
- type: object
- description: >
- Status information for a Node which is a member of a Kubernetes
- cluster.
- readOnly: true
- properties:
- id:
- type: string
- description: >
- The Node's ID.
- example: "123456"
- instance_id:
- type: string
- description: >
- The Linode's ID. When no Linode is currently provisioned for this
- Node, this will be null.
- example: 123458
- status:
- type: string
- description: >
- The Node's status as it pertains to being a Kubernetes node.
- enum:
- - ready
- - not_ready
- example: ready
- LKEVersion:
- type: object
- description: >
- LKE versions
- readOnly: true
- properties:
- id:
- type: string
- description: >
- A Kubernetes version number available for deployment
- to a Kubernetes cluster in the format of <major>.<minor>,
- and the latest supported patch version.
- example: "1.27"
- LongviewClient:
- type: object
- description: >
- A LongviewClient is a single monitor set up to track statistics about
- one of your servers.
- properties:
- id:
- type: integer
- description: >
- This Client's unique ID.
- example: 789
- readOnly: true
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- minLength: 3
- maxLength: 32
- pattern: '[a-zA-Z0-9-_]{3,32}'
- description: >
- This Client's unique label. This is for display purposes only.
- example: client789
- x-linode-cli-display: 2
- api_key:
- type: string
- description: |
- The API key for this Client, used when configuring the Longview
- Client application on your Linode.
-
- Returns as `[REDACTED]` if you do not have read-write access to this client.
- example: BD1B4B54-D752-A76D-5A9BD8A17F39DB61
- readOnly: true
- install_code:
- type: string
- description: |
- The install code for this Client, used when configuring the Longview
- Client application on your Linode.
-
- Returns as `[REDACTED]` if you do not have read-write access to this client.
- example: BD1B5605-BF5E-D385-BA07AD518BE7F321
- readOnly: true
- x-linode-cli-display: 4
- apps:
- type: object
- description: >
- The apps this Client is monitoring on your Linode. This is configured
- when you install the Longview Client application, and is present here
- for information purposes only.
- readOnly: true
- properties:
- apache:
- type: boolean
- description: >
- If True, the Apache Longview Client module is monitoring Apache on
- your server.
- example: true
- readOnly: true
- nginx:
- type: boolean
- description: >
- If True, the Nginx Longview Client module is monitoring Nginx on
- your server.
- example: false
- readOnly: true
- mysql:
- type: boolean
- description: >
- If True, the MySQL Longview Client modules is monitoring MySQL on
- your server.
- example: true
- readOnly: true
- created:
- type: string
- format: date-time
- description: >
- When this Longview Client was created.
- example: 2018-01-01T00:01:01
- readOnly: true
- x-linode-cli-display: 3
- updated:
- type: string
- format: date-time
- description: >
- When this Longview Client was last updated.
- example: 2018-01-01T00:01:01
- readOnly: true
- Login:
- type: object
- description: >
- An object representing a previous successful login for a User.
- properties:
- id:
- type: integer
- description: >
- The unique ID of this login object.
- example: 1234
- readOnly: true
- x-linode-cli-display: 1
- datetime:
- type: string
- format: date-time
- description: >
- When the login was initiated.
- example: '2018-01-01T00:01:01'
- readOnly: true
- x-linode-cli-display: 2
- ip:
- type: string
- format: ip
- description: >
- The remote IP address that requested the login.
- example: 192.0.2.0
- readOnly: true
- x-linode-cli-display: 3
- username:
- type: string
- description: >
- The username of the User that attempted the login.
- example: example_user
- readOnly: true
- x-linode-cli-display: 4
- status:
- type: string
- enum:
- - successful
- - failed
- description: |
- Whether the login attempt succeeded or failed.
- example: successful
- readOnly: true
- x-linode-cli-display: 5
- restricted:
- type: boolean
- description: >
- True if the User that attempted the login was a restricted User, false otherwise.
- example: true
- readOnly: true
- x-linode-cli-display: 6
- LongviewSubscription:
- type: object
- description: >
- A Longview Subscription represents a tier of Longview service you
- can subscribe to.
- properties:
- id:
- type: string
- enum: ['longview-3', 'longview-10', 'longview-40', 'longview-100']
- description: >
- The unique ID of this Subscription tier.
- example: longview-10
- readOnly: true
- x-linode-cli-display: 1
- price:
- type: object
- description: >
- Pricing information about this Subscription tier.
- readOnly: true
- x-linode-cli-display: 4
- properties:
- hourly:
- type: number
- description: >
- The hourly price, in US dollars, for this Subscription tier.
- example: 0.06
- readOnly: true
- monthly:
- type: number
- description: >
- The maximum monthly price in US Dollars for this Subscription tier.
- You will never be charged more than this amount per
- month for this subscription.
- example: 40
- readOnly: true
- label:
- type: string
- description: >
- A display name for this Subscription tier.
- example: Longview Pro 10 pack
- readOnly: true
- x-linode-cli-display: 2
- clients_included:
- type: integer
- description: >
- The number of Longview Clients that may be created with this Subscription tier.
- example: 10
- readOnly: true
- x-linode-cli-display: 3
- LongviewPlan:
- type: object
- description: >
- Longview Plan object.
- properties:
- longview_subscription:
- type: string
- enum: ['longview-3', 'longview-10', 'longview-40', 'longview-100']
- nullable: True
- description: >
- The subscription ID for a particular Longview plan. A value of `null` corresponds to Longview Free.
-
-
- You can send a request to the [List Longview Subscriptions](/docs/api/longview/#longview-subscriptions-list)
- endpoint to receive the details of each plan.
- example: longview-10
- x-linode-cli-display: 1
- Maintenance:
- type: object
- description: >
- Information about maintenance affecting an entity.
- properties:
- type:
- x-linode-filterable: true
- type: string
- enum:
- - reboot
- - cold_migration
- - live_migration
- description: >
- The type of maintenance.
- example: reboot
- status:
- x-linode-filterable: true
- type: string
- enum:
- - completed
- - pending
- - started
- description: |
- The maintenance status.
-
- Maintenance progresses in the following sequence: pending, started, then completed.
- example: started
- reason:
- type: string
- description: >
- The reason maintenance is being performed.
- example: This maintenance will allow us to update the BIOS on the host's motherboard.
- when:
- x-linode-filterable: true
- type: string
- description: |
- When the maintenance will begin.
-
- [Filterable](/docs/api/#filtering-and-sorting) with the following parameters:
-
- * A single value in date-time string format ("%Y-%m-%dT%H:%M:%S"), which returns only matches to that value.
-
- * A dictionary containing pairs of inequality operator string keys ("+or", "+gt", "+gte", "+lt", "+lte",
- or "+neq") and single date-time string format values ("%Y-%m-%dT%H:%M:%S"). "+or" accepts an array of values that
- may consist of single date-time strings or dictionaries of inequality operator pairs.
- format: date-time
- example: 2020-07-09T00:01:01
- entity:
- type: object
- description: >
- The entity being affected by maintenance.
- properties:
- label:
- type: string
- description: >
- The label of the entity being affected by maintenance.
- example: demo-linode
- id:
- type: number
- description: >
- The id of the entity being affected by maintenance.
- example: 1234
- type:
- type: string
- description: >
- The type of entity.
- example: Linode
- url:
- type: string
- description: >
- The API endpoint prefix to use in combination with the entity id to find specific information about the entity.
- example: https://api.linode.com/v4/linode/instances/{linodeId}
- ManagedContact:
- type: object
- description: >
- Information about someone Linode's special forces may contact
- in case an issue is detected with a manager service.
- properties:
- id:
- type: integer
- description: >
- This Contact's unique ID.
- example: 567
- readOnly: true
- x-linode-cli-display: 1
- name:
- type: string
- minLength: 2
- maxLength: 64
- pattern: '[a-zA-Z0-9-_ ]{2,64}'
- description: >
- The name of this Contact.
- example: John Doe
- x-linode-cli-display: 2
- email:
- type: string
- format: email
- description: >
- The address to email this Contact to alert them of issues.
- example: john.doe@example.org
- x-linode-cli-display: 3
- phone:
- type: object
- description: >
- Information about how to reach this Contact by phone.
- x-linode-cli-display: 4
- properties:
- primary:
- type: string
- nullable: true
- format: phone
- description: >
- This Contact's primary phone number.
- example: 123-456-7890
- secondary:
- type: string
- nullable: true
- format: phone
- description: >
- This Contact's secondary phone number.
- example: null
- group:
- x-linode-filterable: true
- nullable: true
- type: string
- minLength: 2
- maxLength: 50
- description: >
- A grouping for this Contact. This is for display purposes only.
- example: on-call
- x-linode-cli-display: 5
- updated:
- type: string
- format: date-time
- description: >
- When this Contact was last updated.
- example: '2018-01-01T00:01:01'
- readOnly: true
- ManagedCredential:
- type: object
- description: >
- A securely-stored Credential that allows Linode's special forces
- to access a Managed server to respond to Issues.
- properties:
- id:
- type: integer
- description: >
- This Credential's unique ID.
- example: 9991
- readOnly: true
- x-linode-cli-display: 1
- label:
- type: string
- minLength: 2
- maxLength: 75
- pattern: '[a-zA-Z0-9-_ \.]{2,75}'
- description: >
- The unique label for this Credential. This is for display purposes
- only.
- example: prod-password-1
- x-linode-cli-display: 2
- last_decrypted:
- type: string
- format: date-time
- description: >
- The date this Credential was last decrypted by a member of Linode
- special forces.
- readOnly: true
- example: "2018-01-01T00:01:01"
- x-linode-cli-display: 3
- ManagedIssue:
- type: object
- description: >
- An Issue that was detected with a service Linode is managing.
- properties:
- id:
- type: integer
- description: >
- This Issue's unique ID.
- example: 823
- readOnly: true
- x-linode-cli-display: 1
- created:
- type: string
- format: date-time
- description: >
- When this Issue was created. Issues are created in response to issues
- detected with Managed Services, so this is also when the Issue was
- detected.
- example: '2018-01-01T00:01:01'
- readOnly: true
- x-linode-cli-display: 2
- services:
- type: array
- items:
- type: integer
- example: 654
- description: >
- An array of Managed Service IDs that were affected by this Issue.
- readOnly: true
- x-linode-cli-display: 3
- entity:
- type: object
- description: >
- The ticket this Managed Issue opened.
- readOnly: true
- x-linode-cli-display: 4
- properties:
- id:
- type: integer
- description: >
- This ticket's ID
- example: 98765
- readOnly: true
- type:
- type: string
- enum:
- - ticket
- description: >
- The type of entity this is. In this case, it is always a Ticket.
- example: ticket
- readOnly: true
- label:
- type: string
- description: >
- The summary for this Ticket.
- example: Managed Issue opened!
- readOnly: true
- url:
- type: string
- format: url
- description: >
- The relative URL where you can access this Ticket.
- example: /support/tickets/98765
- readOnly: true
- ManagedLinodeSettings:
- type: object
- description: >
- Settings for a specific Linode related to Managed Services. There is
- one ManagedLinodeSettings object for each Linode on your Account.
- properties:
- id:
- type: integer
- description: >
- The ID of the Linode these Settings are for.
- example: 123
- readOnly: true
- x-linode-cli-display: 1
- label:
- type: string
- description: >
- The label of the Linode these Settings are for.
- example: linode123
- readOnly: true
- x-linode-cli-display: 2
- group:
- deprecated: true
- type: string
- description: >
- The group of the Linode these Settings are for. This is for display
- purposes only.
- example: linodes
- readOnly: true
- x-linode-cli-display: 3
- ssh:
- type: object
- description: >
- The SSH settings for this Linode.
- x-linode-cli-display: 4
- properties:
- access:
- type: boolean
- description: >
- If true, Linode special forces may access this Linode over
- ssh to respond to Issues.
- example: true
- default: true
- user:
- type: string
- minLength: 0
- maxLength: 32
- description: |
- The specific user, if any, Linode's special forces should use when accessing this
- Linode to respond to an issue.
-
- The default `null` value corresponds to the root user.
- example: linode
- default: null
- nullable: true
- ip:
- type: string
- format: ip
- description: |
- The IP Linode special forces should use to access this Linode
- when responding to an Issue.
-
- By default, any of a Linode's IP addresses can be used for incident response access.
- example: "203.0.113.1"
- default: any
- port:
- type: integer
- minimum: 1
- maximum: 65535
- description: |
- The port Linode special forces should use to access this Linode
- over ssh to respond to an Issue.
-
- The default `null` value corresponds to port 22.
- example: 22
- nullable: true
- default: null
- ManagedService:
- type: object
- description: >
- A service that Linode is monitoring as part of your Managed services.
- If issues are detected with this service, a ManagedIssue will be opened
- and, optionally, Linode special forces will attempt to resolve the Issue.
- properties:
- id:
- type: integer
- description: >
- This Service's unique ID.
- example: 9944
- readOnly: true
- x-linode-cli-display: 1
- status:
- type: string
- enum:
- - disabled
- - pending
- - ok
- - problem
- description: >
- The current status of this Service.
- example: ok
- readOnly: true
- x-linode-cli-display: 2
- x-linode-cli-color:
- ok: green
- disabled: red
- default_: yellow
- service_type:
- type: string
- enum:
- - url
- - tcp
- description: >
- How this Service is monitored.
- example: url
- x-linode-cli-display: 3
- label:
- type: string
- minLength: 3
- maxLength: 64
- pattern: '[a-zA-Z0-9-_ \.]{3,64}'
- description: >
- The label for this Service. This is for display purposes only.
- example: prod-1
- x-linode-cli-display: 4
- address:
- type: string
- format: url
- minLength: 3
- maxLength: 100
- description: >
- The URL at which this Service is monitored.
-
-
- URL parameters such as `?no-cache=1` are preserved.
-
-
- URL fragments/anchors such as `#monitor` are **not** preserved.
- example: https://example.org
- x-linode-cli-display: 5
- timeout:
- type: integer
- minimum: 1
- maximum: 255
- description: >
- How long to wait, in seconds, for a response before considering the
- Service to be down.
- example: 30
- body:
- type: string
- nullable: true
- minLength: 0
- maxLength: 100
- description: >
- What to expect to find in the response body for the Service to be
- considered up.
- example: it worked
- consultation_group:
- type: string
- minLength: 0
- maxLength: 50
- description: >
- The group of ManagedContacts who should be notified or consulted
- with when an Issue is detected.
- example: on-call
- x-linode-cli-display: 6
- notes:
- type: string
- nullable: true
- description: >
- Any information relevant to the Service that Linode special forces
- should know when attempting to resolve Issues.
- example: The service name is my-cool-application
- region:
- type: string
- description: >
- The Region in which this Service is located. This is required if
- address is a private IP, and may not be set otherwise.
- example: null
- credentials:
- type: array
- items:
- type: integer
- example: 9991
- description: >
- An array of ManagedCredential IDs that should be used when attempting to
- resolve issues with this Service.
- created:
- type: string
- format: date-time
- description: When this Managed Service was created.
- example: '2018-01-01T00:01:01'
- readOnly: true
- updated:
- type: string
- format: date-time
- description: When this Managed Service was last updated.
- example: '2018-03-01T00:01:01'
- readOnly: true
- NodeBalancer:
- type: object
- description: >
- Linode's load balancing solution. Can handle multiple ports, SSL termination,
- and any number of backends. NodeBalancer ports are configured with
- NodeBalancer Configs, and each config is given one or more NodeBalancer Node that
- accepts traffic. The traffic should be routed to the NodeBalancer's ip address,
- the NodeBalancer will handle routing individual requests to backends.
- properties:
- id:
- type: integer
- description: >
- This NodeBalancer's unique ID.
- example: 12345
- readOnly: true
- x-linode-cli-display: 1
- label:
- x-linode-filterable: true
- type: string
- minLength: 3
- maxLength: 32
- pattern: '[a-zA-Z0-9-_]{3,32}'
- description: >
- This NodeBalancer's label. These must be unique on your Account.
- example: balancer12345
- x-linode-cli-display: 2
- region:
- x-linode-filterable: true
- type: string
- description: >
- The Region where this NodeBalancer is located. NodeBalancers only
- support backends in the same Region.
- example: us-east
- readOnly: true
- x-linode-cli-display: 3
- hostname:
- type: string
- description: >
- This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_.
- example: 192.0.2.1.ip.linodeusercontent.com
- readOnly: true
- x-linode-cli-display: 4
- ipv4:
- x-linode-filterable: true
- type: string
- format: ip
- description: >
- This NodeBalancer's public IPv4 address.
- example: 203.0.113.1
- readOnly: true
- x-linode-cli-display: 5
- ipv6:
- type: string
- nullable: true
- format: ip
- description: >
- This NodeBalancer's public IPv6 address.
- example: null
- readOnly: true
- x-linode-cli-display: 6
- created:
- type: string
- format: date-time
- description: >
- When this NodeBalancer was created.
- example: 2018-01-01T00:01:01
- readOnly: true
- updated:
- type: string
- format: date-time
- description: >
- When this NodeBalancer was last updated.
- example: 2018-03-01T00:01:01
- readOnly: true
- client_conn_throttle:
- type: integer
- minimum: 0
- maximum: 20
- description: >
- Throttle connections per second. Set to 0 (zero) to disable throttling.
- example: 0
- x-linode-cli-display: 6
- transfer:
- type: object
- readOnly: true
- description: >
- Information about the amount of transfer this NodeBalancer has had
- so far this month.
- properties:
- total:
- type: number
- nullable: true
- description: >
- The total transfer, in MB, used by this NodeBalancer this month.
- example: 32.46078109741211
- readOnly: true
- out:
- type: number
- nullable: true
- description: >
- The total inbound transfer, in MB, used for this NodeBalancer
- this month.
- example: 3.5487728118896484
- readOnly: true
- in:
- type: number
- nullable: true
- description: >
- The total outbound transfer, in MB, used for this NodeBalancer
- this month.
- example: 28.91200828552246
- readOnly: true
- tags:
- x-linode-filterable: true
- description: >
- An array of Tags applied to this object. Tags are for organizational
- purposes only.
- type: array
- items:
- type: string
- example:
- - example tag
- - another example
- NodeBalancerConfig:
- type: object
- description: >
- A NodeBalancer config represents the configuration of this NodeBalancer
- on a single port. For example, a NodeBalancer Config on port 80 would
- typically represent how this NodeBalancer response to HTTP requests.
-
-
- NodeBalancer configs have a list of backends, called "nodes," that they
- forward requests between based on their configuration.
- properties:
- id:
- type: integer
- description: This config's unique ID
- example: 4567
- readOnly: true
- x-linode-cli-display: 1
- port:
- type: integer
- minimum: 1
- maximum: 65535
- default: 80
- description: >
- The port this Config is for. These values must be unique across configs
- on a single NodeBalancer (you can't have two configs for port 80, for
- example). While some ports imply some protocols, no enforcement is done
- and you may configure your NodeBalancer however is useful to you. For
- example, while port 443 is generally used for HTTPS, you do not need
- SSL configured to have a NodeBalancer listening on port 443.
- example: 80
- x-linode-cli-display: 2
- protocol:
- type: string
- enum:
- - http
- - https
- - tcp
- default: http
- description: |
- The protocol this port is configured to serve.
-
- * The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.
-
- * The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.
-
- Review our guide on [Available Protocols](/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features.
- example: http
- x-linode-cli-display: 3
- algorithm:
- type: string
- enum:
- - roundrobin
- - leastconn
- - source
- default: roundrobin
- description: >
- What algorithm this NodeBalancer should use for routing traffic to backends.
- example: roundrobin
- x-linode-cli-display: 4
- stickiness:
- type: string
- enum:
- - none
- - table
- - http_cookie
- default: none
- description: >
- Controls how session stickiness is handled on this port.
-
- * If set to `none` connections will always be assigned a backend based on the algorithm configured.
-
- * If set to `table` sessions from the same remote address will be routed to the same
- backend.
-
- * For HTTP or HTTPS clients, `http_cookie` allows sessions to be
- routed to the same backend based on a cookie set by the NodeBalancer.
- example: http_cookie
- x-linode-cli-display: 5
- check:
- type: string
- enum:
- - none
- - connection
- - http
- - http_body
- default: none
- description: >
- The type of check to perform against backends to ensure they are serving
- requests. This is used to determine if backends are up or down.
-
- * If `none` no check is performed.
-
- * `connection` requires only a connection to the backend to succeed.
-
- * `http` and `http_body` rely on the backend serving HTTP, and that
- the response returned matches what is expected.
- example: http_body
- check_interval:
- type: integer
- description: |
- How often, in seconds, to check that backends are up and serving requests.
-
- Must be greater than `check_timeout`.
- example: 90
- default: 31
- check_timeout:
- type: integer
- minimum: 1
- maximum: 30
- default: 30
- description: |
- How long, in seconds, to wait for a check attempt before considering it failed.
-
- Must be less than `check_interval`.
- example: 10
- check_attempts:
- type: integer
- minimum: 1
- maximum: 30
- default: 3
- description: >
- How many times to attempt a check before considering a backend to be down.
- example: 3
- check_path:
- type: string
- pattern: ^[a-zA-Z0-9\/\-%?&=.]*$
- description: >
- The URL path to check on each backend. If the backend does not respond
- to this request it is considered to be down.
- example: /test
- check_body:
- type: string
- description: >
- This value must be present in the response body of the check in order for
- it to pass. If this value is not present in the response body of a check
- request, the backend is considered to be down.
- example: it works
- check_passive:
- type: boolean
- default: true
- description: >
- If true, any response from this backend with a `5xx` status code will be
- enough for it to be considered unhealthy and taken out of rotation.
- example: true
- x-linode-cli-display: 6
- proxy_protocol:
- description: >
- ProxyProtocol is a TCP extension that sends initial TCP connection
- information such as source/destination IPs and ports to backend devices.
- This information would be lost otherwise. Backend devices must be
- configured to work with ProxyProtocol if enabled.
-
-
- * If ommited, or set to `none`, the NodeBalancer doesn't send any auxilary
- data over TCP connections. This is the default.
-
- * If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.
-
- * If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol.
- type: string
- enum:
- - none
- - v1
- - v2
- example: none
- default: none
- cipher_suite:
- type: string
- enum:
- - recommended
- - legacy
- default: recommended
- description: >
- What ciphers to use for SSL connections served by this NodeBalancer.
-
-
- * `legacy` is considered insecure and should only be used if necessary.
- example: recommended
- x-linode-cli-display: 7
- x-linode-cli-color:
- legacy: red
- default_: white
- nodebalancer_id:
- type: integer
- description: >
- The ID for the NodeBalancer this config belongs to.
- example: 12345
- readOnly: true
- ssl_commonname:
- type: string
- description: >
- The read-only common name automatically derived from the SSL certificate assigned to this
- NodeBalancerConfig. Please refer to this field to verify that the appropriate
- certificate is assigned to your NodeBalancerConfig.
- example: www.example.com
- readOnly: true
- x-linode-cli-display: 8
- ssl_fingerprint:
- type: string
- description: >
- The read-only SHA1-encoded fingerprint automatically derived from the SSL certificate assigned to this
- NodeBalancerConfig. Please refer to this field to verify that the appropriate
- certificate is assigned to your NodeBalancerConfig.
- example: 00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13
- readOnly: true
- x-linode-cli-display: 9
- ssl_cert:
- type: string
- format: ssl-cert
- nullable: true
- description: |
- The PEM-formatted public SSL certificate (or the combined PEM-formatted SSL
- certificate and Certificate Authority chain) that should be served on this
- NodeBalancerConfig's port.
-
- Line breaks must be represented as "\n" in the string for requests (but not when using the Linode CLI).
-
- [Diffie-Hellman Parameters](/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.
-
- The contents of this field will not be shown in any responses that display
- the NodeBalancerConfig. Instead, `` will be printed where the field
- appears.
-
- The read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig
- response are automatically derived from your certificate. Please refer to these fields to
- verify that the appropriate certificate was assigned to your NodeBalancerConfig.
- example:
- ssl_key:
- type: string
- format: ssl-key
- nullable: true
- description: |
- The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.
-
- Line breaks must be represented as "\n" in the string for requests (but not when using the Linode CLI).
-
- The contents of this field will not be shown in any responses that display
- the NodeBalancerConfig. Instead, `` will be printed where the field
- appears.
-
- The read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig
- response are automatically derived from your certificate. Please refer to these fields to
- verify that the appropriate certificate was assigned to your NodeBalancerConfig.
- example:
- nodes_status:
- type: object
- description: >
- A structure containing information about the health of the backends
- for this port. This information is updated periodically as checks
- are performed against backends.
- readOnly: true
- x-linode-cli-display: 10
- properties:
- up:
- type: integer
- description: >
- The number of backends considered to be "UP" and healthy, and that
- are serving requests.
- example: 4
- readOnly: true
- down:
- type: integer
- description: >
- The number of backends considered to be "DOWN" and unhealthy. These
- are not in rotation, and not serving requests.
- example: 0
- readOnly: true
- NodeBalancerNode:
- type: object
- description: >
- A NodeBalancerNode represents a single backend serving requests for a single
- port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve
- traffic over their private IP. If the same Linode is serving traffic for more
- than one port on the same NodeBalancer, one NodeBalancer Node is required for
- each config (port) it should serve requests on. For example, if you have
- four backends, and each should response to both HTTP and HTTPS requests, you
- will need two NodeBalancerConfigs (port 80 and port 443) and four backends
- each - one for each of the Linodes serving requests for that port.
- properties:
- id:
- type: integer
- description: This node's unique ID.
- example: 54321
- readOnly: true
- x-linode-cli-display: 1
- address:
- type: string
- format: ip
- description: >
- The private IP Address where this backend can be reached. This _must_
- be a private IP address.
- example: 192.168.210.120:80
- x-linode-cli-display: 3
- label:
- type: string
- minLength: 3
- maxLength: 32
- pattern: '[a-zA-Z0-9-_.]{3,32}'
- description: >
- The label for this node. This is for display purposes only.
- example: node54321
- x-linode-cli-display: 2
- status:
- type: string
- enum:
- - unknown
- - UP
- - DOWN
- description: >
- The current status of this node, based on the configured checks
- of its NodeBalancer Config.
- example: UP
- readOnly: true
- x-linode-cli-display: 4
- x-linode-cli-color:
- UP: green
- unknown: yellow
- DOWN: red
- default_: white
- weight:
- type: integer
- minimum: 1
- maximum: 255
- description: >
- Used when picking a backend to serve a request and is not pinned to
- a single backend yet. Nodes with a higher weight will receive more
- traffic.
- example: 50
- x-linode-cli-display: 5
- mode:
- type: string
- enum:
- - accept
- - reject
- - drain
- - backup
- description: >
- The mode this NodeBalancer should use when sending traffic to this backend.
-
- * If set to `accept` this backend is accepting traffic.
-
- * If set to `reject` this backend will not receive traffic.
-
- * If set to `drain` this backend will not receive _new_ traffic, but connections already
- pinned to it will continue to be routed to it.
-
- * If set to `backup`, this backend will only receive traffic if all `accept` nodes
- are down.
- example: accept
- x-linode-cli-display: 6
- config_id:
- type: integer
- description: >
- The NodeBalancer Config ID that this Node belongs to.
- example: 4567
- readOnly: true
- nodebalancer_id:
- type: integer
- description: >
- The NodeBalancer ID that this Node belongs to.
- example: 12345
- readOnly: true
- NodeBalancerStats:
- type: object
- description: >
- Stats for this NodeBalancer.
- properties:
- data:
- type: object
- description: >
- The data returned about this NodeBalancers.
- properties:
- connections:
- type: array
- description: >
- An array of key/value pairs representing unix timestamp and
- reading for connections to this NodeBalancer.
- items:
- type: number
- example:
- - 1526391300000
- - 0
- traffic:
- type: object
- description: >
- Traffic statistics for this NodeBalancer.
- properties:
- in:
- type: array
- description: >
- An array of key/value pairs representing unix timestamp and
- reading for inbound traffic.
- items:
- type: number
- example:
- - 1526391300000
- - 631.21
- out:
- type: array
- description: >
- An array of key/value pairs representing unix timestamp and
- reading for outbound traffic.
- items:
- type: number
- example:
- - 1526391300000
- - 103.44
- title:
- type: string
- description: >
- The title for the statistics generated in this response.
- example: linode.com - balancer12345 (12345) - day (5 min avg)
- Notification:
- type: object
- description: >
- An important, often time-sensitive item related to your Account.
- properties:
- entity:
- type: object
- readOnly: true
- description: Detailed information about the Notification.
- properties:
- id:
- type: integer
- nullable: true
- description: |
- The unique ID of the Notification's entity, based on the entity
- type.
-
- Returns `null` for the following entity types:
- * `account`
- * `promotion`
- example: 3456
- label:
- type: string
- nullable: true
- description: |
- The current label for this Notification's entity.
-
- Returns `null` for the following entity types:
- * `entity_transfer`
- * `promotion`
- * `region`
- example: Linode not booting.
- type:
- type: string
- enum:
- - account
- - entity_transfer
- - linode
- - nodebalancer
- - promotion
- - region
- - ticket
- - volume
- description: The type of entity this is related to.
- example: ticket
- url:
- type: string
- nullable: true
- description: |
- The URL where you can access the object this Notification is for.
- If a relative URL, it is relative to the domain you retrieved the
- Notification from.
-
- Returns `null` for the `promotion` entity type.
- example: /support/tickets/3456
- label:
- type: string
- description: >
- A short description of this Notification.
- example: You have an important ticket open!
- readOnly: true
- x-linode-cli-display: 1
- message:
- type: string
- readOnly: true
- description: A human-readable description of the Notification.
- example: You have an important ticket open!
- x-linode-cli-display: 2
- body:
- type: string
- readOnly: true
- description: >
- A full description of this Notification, in markdown format. Not all
- Notifications include bodies.
- nullable: true
- example: null
- type:
- type: string
- enum:
- - migration_scheduled
- - migration_imminent
- - migration_pending
- - reboot_scheduled
- - outage
- - payment_due
- - ticket_important
- - ticket_abuse
- - notice
- - maintenance
- - promotion
- readOnly: true
- description: The type of Notification this is.
- example: ticket_important
- severity:
- type: string
- enum:
- - minor
- - major
- - critical
- description: >
- The severity of this Notification. This field can be used to
- decide how prominently to display the Notification, what color
- to make the display text, etc.
- example: major
- readOnly: true
- x-linode-cli-display: 3
- x-linode-cli-color:
- critical: b
- minor: blue
- default_: white
- when:
- type: string
- readOnly: true
- format: date-time
- description: >
- If this Notification is of an Event that will happen at a fixed,
- future time, this is when the named action will be taken. For
- example, if a Linode is to be migrated in response to a
- Security Advisory, this field will contain the approximate time the
- Linode will be taken offline for migration.
- example: null
- x-linode-cli-display: 4
- x-linode-cli-color:
- None: black
- default_: white
- until:
- type: string
- format: date-time
- description: >
- If this Notification has a duration, this will be the ending time
- for the Event/action. For example, if there is scheduled
- maintenance for one of our systems, `until` would be set to the end
- of the maintenance window.
- example: null
- readOnly: true
- x-linode-cli-display: 5
- x-linode-cli-color:
- None: black
- default_: white
- OAuthClient:
- type: object
- description: >
- A third-party application registered to Linode that users may log into
- with their Linode account through our authentication server at
- https://login.linode.com . Using an OAuth Client, a third-party
- developer may be given access to some, or all, of a User's account for
- the purposes of their application.
- properties:
- id:
- type: string
- description: >
- The OAuth Client ID. This is used to identify the client, and is a
- publicly-known value (it is not a secret).
- example: 2737bf16b39ab5d7b4a1
- readOnly: true
- x-linode-cli-display: 1
- redirect_uri:
- type: string
- format: url
- description: >
- The location a successful log in from https://login.linode.com should be
- redirected to for this client. The receiver of this redirect should be
- ready to accept an OAuth exchange code and finish the OAuth exchange.
- example: https://example.org/oauth/callback
- x-linode-cli-display: 5
- label:
- x-linode-filterable: true
- type: string
- minLength: 1
- maxLength: 512
- description: >
- The name of this application. This will be presented to users when they
- are asked to grant it access to their Account.
- example: Test_Client_1
- x-linode-cli-display: 2
- status:
- type: string
- enum:
- - active
- - disabled
- - suspended
- description: >
- The status of this application. `active` by default.
- example: active
- readOnly: true
- x-linode-cli-display: 3
- x-linode-cli-color:
- suspended: red
- default_: white
- secret:
- type: string
- description: >
- The OAuth Client secret, used in the OAuth exchange. This is returned
- as `` except when an OAuth Client is created or its secret
- is reset. This is a secret, and should not be shared or disclosed
- publicly.
- example:
- readOnly: true
- thumbnail_url:
- type: string
- nullable: true
- format: url
- description: >
- The URL where this client's thumbnail may be viewed, or `null` if this client
- does not have a thumbnail set.
- example: https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail
- readOnly: true
- public:
- x-linode-filterable: true
- type: boolean
- default: false
- description: >
- If this is a public or private OAuth Client. Public clients have a slightly
- different authentication workflow than private clients. See the
- OAuth spec for more details.
- example: false
- x-linode-cli-display: 4
- ObjectStorageBucket:
- type: object
- description: >
- An Object Storage Bucket. This should be accessed primarily through the
- S3 API; [click here for more information](https://docs.ceph.com/en/latest/radosgw/s3/#api).
- properties:
- created:
- type: string
- format: date-time
- description: When this bucket was created.
- example: 2019-01-01T01:23:45
- cluster:
- type: string
- description: The ID of the Object Storage Cluster this bucket is in.
- example: us-east-1
- label:
- type: string
- description: The name of this bucket.
- example: example-bucket
- hostname:
- type: string
- description: >
- The hostname where this bucket can be accessed. This hostname
- can be accessed through a browser if the bucket is made public.
- example: example-bucket.us-east-1.linodeobjects.com
- size:
- type: integer
- description: The size of the bucket in bytes.
- example: 188318981
- objects:
- type: integer
- description: >
- The number of objects stored in this bucket.
- example: 4
- ObjectStorageObject:
- type: object
- description: >
- An Object in Object Storage, or a "prefix" that contains one or more objects when a `delimiter` is used.
- properties:
- name:
- type: string
- description: >
- The name of this object or prefix.
- example: example
- etag:
- type: string
- description: >
- An MD-5 hash of the object. `null` if this object represents a prefix.
- example: 9f254c71e28e033bf9e0e5262e3e72ab
- last_modified:
- type: string
- format: date-time
- description: >
- The date and time this object was last modified. `null` if this object represents a prefix.
- example: 2019-01-01T01:23:45
- owner:
- type: string
- description: >
- The owner of this object, as a UUID. `null` if this object represents a prefix.
- example: bfc70ab2-e3d4-42a4-ad55-83921822270c
- size:
- type: integer
- description: >
- The size of this object, in bytes. `null` if this object represents a prefix.
- example: 123
- ObjectStorageCluster:
- type: object
- description: An Object Storage Cluster
- properties:
- id:
- type: string
- description: The unique ID for this cluster.
- example: us-east-1
- domain:
- type: string
- description: The base URL for this cluster, used for connecting with third-party clients.
- example: us-east-1.linodeobjects.com
- status:
- type: string
- enum:
- - available
- - unavailable
- description: This cluster's status.
- example: available
- region:
- type: string
- description: The region where this cluster is located.
- example: us-east
- static_site_domain:
- type: string
- description: The base URL for this cluster used when hosting static sites.
- example: website-us-east-1.linodeobjects.com
- ObjectStorageKey:
- type: object
- description: A keypair used to communicate with the Object Storage S3 API.
- properties:
- id:
- type: integer
- description: This keypair's unique ID
- example: 123
- readOnly: true
- label:
- type: string
- description: The label given to this key. For display purposes only.
- example: my-key
- access_key:
- type: string
- description: This keypair's access key. This is not secret.
- example: KVAKUTGBA4WTR2NSJQ81
- readOnly: true
- secret_key:
- type: string
- description: This keypair's secret key. Only returned on key creation.
- example: OiA6F5r0niLs3QA2stbyq7mY5VCV7KqOzcmitmHw
- readOnly: true
- limited:
- type: boolean
- description: Whether or not this key is a limited access key. Will return `false` if this key grants full access to all buckets on the user's account.
- example: true
- readOnly: true
- bucket_access:
- type: array
- description: >
- Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key's access to only the bucket(s) declared in this array and define their bucket-level permissions.
-
-
- Limited Access Keys can:
-
- * [list all buckets](/docs/api/object-storage/#object-storage-buckets-list) available on this Account, but cannot perform any actions on a bucket unless it has access to the bucket.
-
-
- * [create new buckets](/docs/api/object-storage/#object-storage-bucket-create), but do not have any access to the buckets it creates, unless explicitly given access to them.
-
-
- **Note:** You can create an Object Storage Limited Access Key without access to any buckets.
- This is achieved by sending a request with an empty `bucket_access` array.
-
-
- **Note:** If this field is omitted, a regular unlimited access key is issued.
- items:
- type: object
- properties:
- cluster:
- type: string
- description: The Object Storage cluster where a bucket to which the key is granting access is hosted.
- example: ap-south-1
- bucket_name:
- type: string
- description: The unique label of the bucket to which the key will grant limited access.
- example: example-bucket
- permissions:
- type: string
- enum:
- - read_write
- - read_only
- description: This Limited Access Key's permissions for the selected bucket.
- example: read_only
- ObjectStorageSSL:
- type: object
- required:
- - certificate
- - private_key
- description: >
- Upload a TLS/SSL certificate and private key to be served when you visit your Object Storage bucket via HTTPS.
- properties:
- certificate:
- type: string
- description: |
- Your Base64 encoded and PEM formatted SSL certificate.
-
- Line breaks must be represented as "\n" in the string for requests (but not when using the Linode CLI)
- example: "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----"
- private_key:
- type: string
- description: |
- The private key associated with this TLS/SSL certificate.
-
- Line breaks must be represented as "\n" in the string for requests (but not when using the Linode CLI)
- example: "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----"
- ObjectStorageSSLResponse:
- type: object
- description: >
- If this Object Storage bucket has a corresponding TLS/SSL Certificate.
- properties:
- ssl:
- type: boolean
- description: >
- A boolean indicating if this Bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user.
- example: true
- readOnly: true
- PaginationEnvelope:
- type: object
- description: >
- An envelope for paginated response. When accessing a collection through a GET endpoint, the
- results are wrapped in this envelope which includes metadata about those results. Results
- are presented within a `data` array. See [Pagination](/docs/api/#pagination) for more information.
- properties:
- pages:
- type: integer
- readOnly: true
- description: The total number of [pages](/docs/api/#pagination).
- example: 1
- page:
- type: integer
- readOnly: true
- description: The current [page](/docs/api/#pagination).
- example: 1
- results:
- type: integer
- readOnly: true
- description: The total number of results.
- example: 1
- Payment:
- type: object
- description: Payment object response.
- properties:
- id:
- type: integer
- readOnly: true
- description: The unique ID of the Payment.
- example: 123
- x-linode-cli-display: 1
- date:
- type: string
- readOnly: true
- format: date-time
- description: When the Payment was made.
- example: '2018-01-15T00:01:01'
- x-linode-cli-display: 2
- usd:
- type: integer
- readOnly: true
- description: The amount, in US dollars, of the Payment.
- example: '120.50'
- x-linode-cli-display: 3
- PaymentMethod:
- type: object
- description: Payment Method Response Object.
- properties:
- id:
- type: integer
- description: The unique ID of this Payment Method.
- example: 123
- x-linode-cli-display: 1
- type:
- type: string
- enum:
- - credit_card
- - google_pay
- - paypal
- description: The type of Payment Method.
- example: 'credit_card'
- x-linode-cli-display: 2
- is_default:
- type: boolean
- description: |
- Whether this Payment Method is the default method for automatically processing service charges.
- example: true
- x-linode-cli-display: 3
- created:
- type: string
- readOnly: true
- format: date-time
- description: When the Payment Method was added to the Account.
- example: '2018-01-15T00:01:01'
- data:
- x-linode-cli-format: json
- x-linode-cli-display: 4
- oneOf:
- - x-linode-ref-name: "Credit Card"
- $ref: '#/components/schemas/CreditCardData'
- - x-linode-ref-name: "Google Pay"
- $ref: '#/components/schemas/GooglePayData'
- - x-linode-ref-name: "Paypal"
- $ref: '#/components/schemas/PayPalData'
- discriminator:
- propertyName: type
- CreditCardData:
- type: object
- description: Credit card information.
- properties:
- card_type:
- type: string
- readOnly: true
- description: The type of credit card.
- example: "Discover"
- last_four:
- type: string
- readOnly: true
- description: The last four digits of the credit card number.
- example: "1234"
- expiry:
- type: string
- readOnly: true
- format: MM/YYYY
- description: The expiration month and year of the credit card.
- example: 06/2022
- GooglePayData:
- type: object
- description: Google Pay information.
- properties:
- card_type:
- type: string
- readOnly: true
- description: The type of credit card.
- example: "Discover"
- last_four:
- type: string
- readOnly: true
- description: The last four digits of the credit card number.
- example: "1234"
- expiry:
- type: string
- readOnly: true
- format: MM/YYYY
- description: The expiration month and year of the credit card.
- example: 06/2022
- PayPalData:
- type: object
- description: PayPal information.
- properties:
- email:
- type: string
- readOnly: true
- description: The email address associated with your PayPal account.
- example: "example@linode.com"
- paypal_id:
- type: string
- readOnly: true
- description: PayPal Merchant ID associated with your PayPal account.
- example: "ABC1234567890"
- PaymentRequest:
- type: object
- required:
- - usd
- description: Payment object request.
- properties:
- cvv:
- type: string
- description: >
- CVV (Card Verification Value) of the credit card to be used for
- the Payment. Required if paying by credit card.
- example: '123'
- usd:
- type: string
- pattern: ^\$?\d+\.\d{2}$
- description: |
- The amount in US Dollars of the Payment.
-
- * Can begin with or without `$`.
- * Commas (`,`) are not accepted.
- * Must end with a decimal expression, such as `.00` or `.99`.
- * Minimum: `$5.00` or the Account balance, whichever is lower.
- * Maximum: `$2000.00` or the Account balance up to `$50000.00`, whichever is greater.
- example: '$120.50'
- payment_method_id:
- type: integer
- description: >
- The ID of the Payment Method to apply to the Payment.
- example: 123
- PayPal:
- type: object
- required:
- - cancel_url
- - redirect_url
- - usd
- description: >
- An object representing the staging of a Payment via PayPal.
- properties:
- cancel_url:
- type: string
- description: The URL to have PayPal redirect to when Payment is canceled.
- example: https://example.org
- redirect_url:
- type: string
- description: The URL to have PayPal redirect to when Payment is approved.
- example: https://example.org
- usd:
- type: string
- description: The payment amount in USD. Minimum accepted value of $5 USD.
- Maximum accepted value of $500 USD or credit card payment limit; whichever value is highest. PayPal's
- maximum transaction limit is $10,000 USD.
- example: '120.50'
- PayPalExecute:
- type: object
- required:
- - payer_id
- - payment_id
- description: >
- An object representing an execution of Payment to PayPal to capture the
- funds and credit your Linode Account.
- properties:
- payer_id:
- type: string
- description: >
- The PayerID returned by PayPal during the transaction authorization
- process.
- example: ABCDEFGHIJKLM
- payment_id:
- type: string
- description: >
- The PaymentID returned from
- [POST /account/payments/paypal](/docs/api/account/#paypal-payment-stage) that has
- been approved with PayPal.
- example: PAY-1234567890ABCDEFGHIJKLMN
- PersonalAccessToken:
- type: object
- description: >
- A Personal Access Token is a token generated manually to access the API
- without going through an OAuth login. Personal Access Tokens can have
- scopes just like OAuth tokens do, and are commonly used to give access
- to command-line tools like the Linode CLI, or when writing your own
- integrations.
- properties:
- id:
- type: integer
- description: >
- This token's unique ID, which can be used to revoke it.
- example: 123
- readOnly: true
- x-linode-cli-display: 1
- scopes:
- type: string
- format: oauth-scopes
- description: >
- The scopes this token was created with. These define what parts of
- the Account the token can be used to access. Many command-line tools,
- such as the Linode CLI ,
- require tokens with access to `*`. Tokens with more restrictive scopes
- are generally more secure.
- example: '*'
- readOnly: true
- x-linode-cli-display: 3
- created:
- type: string
- format: date-time
- description: >
- The date and time this token was created.
- x-linode-filterable: true
- example: 2018-01-01T00:01:01
- readOnly: true
- x-linode-cli-display: 4
- label:
- type: string
- minLength: 1
- maxLength: 100
- description: >
- This token's label. This is for display purposes only, but can be used to
- more easily track what you're using each token for.
- x-linode-filterable: true
- example: linode-cli
- x-linode-cli-display: 2
- token:
- type: string
- description: >
- The token used to access the API. When the token is created, the full token
- is returned here. Otherwise, only the first 16 characters are returned.
- example: abcdefghijklmnop
- readOnly: true
- x-linode-cli-display: 5
- expiry:
- type: string
- format: date-time
- description: >
- When this token will expire. Personal Access Tokens cannot be renewed, so
- after this time the token will be completely unusable and a new token will
- need to be generated. Tokens may be created with "null" as their expiry
- and will never expire unless revoked.
- x-linode-cli-display: 6
- example: '2018-01-01T13:46:32'
- readOnly: true
- Profile:
- type: object
- description: >
- A Profile represents your User in our system. This is where you can change
- information about your User. This information is available to any OAuth Client
- regardless of requested scopes, and can be used to populate User information
- in third-party applications.
- properties:
- uid:
- type: integer
- description: >
- Your unique ID in our system. This value will never change, and can
- safely be used to identify your User.
- example: 1234
- readOnly: true
- username:
- type: string
- description: >
- Your username, used for logging in to our system.
- example: exampleUser
- readOnly: true
- x-linode-cli-display: 1
- email:
- type: string
- format: email
- description: >
- Your email address. This address will be used for communication with Linode
- as necessary.
- example: example-user@gmail.com
- x-linode-cli-display: 2
- verified_phone_number:
- type: string
- format: phone
- nullable: true
- readOnly: true
- description: |
- The phone number verified for this Profile with the **Phone Number Verify** ([POST /profile/phone-number/verify](/docs/api/profile/#phone-number-verify)) command.
-
- `null` if this Profile has no verified phone number.
- example: "+5555555555"
- timezone:
- type: string
- description: >
- The timezone you prefer to see times in. This is not used by the API directly.
- It is provided for the benefit of clients such as the Linode Cloud Manager and
- other clients built on the API. All times returned by the API are in UTC.
- example: US/Eastern
- email_notifications:
- type: boolean
- description: >
- If true, you will receive email notifications about account activity. If false,
- you may still receive business-critical communications through email.
- example: true
- referrals:
- type: object
- description: |
- Information about your status in our referral program.
-
- This information becomes accessible after this Profile's Account has established at least $25.00 USD of total payments.
- readOnly: true
- properties:
- code:
- type: string
- description: >
- Your referral code. If others use this when signing up for Linode, you will
- receive account credit.
- example: 871be32f49c1411b14f29f618aaf0c14637fb8d3
- readOnly: true
- url:
- type: string
- format: url
- description: >
- Your referral url, used to direct others to sign up for Linode with your referral
- code.
- example: https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3
- readOnly: true
- total:
- type: integer
- description: >
- The number of users who have signed up with your referral code.
- example: 0
- readOnly: true
- completed:
- type: integer
- description: >
- The number of completed signups with your referral code.
- example: 0
- readOnly: true
- pending:
- type: integer
- description: >
- The number of pending signups with your referral code. You will not receive
- credit for these signups until they are completed.
- example: 0
- readOnly: true
- credit:
- type: integer
- description: >
- The amount of account credit in US Dollars issued to you through
- the referral program.
- example: 0
- readOnly: true
- ip_whitelist_enabled:
- deprecated: true
- type: boolean
- description: >
- If true, logins for your User will only be allowed from whitelisted IPs.
- This setting is currently deprecated, and cannot be enabled.
-
-
- If you disable this setting, you will not be able to re-enable it.
- example: false
- lish_auth_method:
- type: string
- enum:
- - password_keys
- - keys_only
- - disabled
- description: >
- The authentication methods that are allowed when connecting to [the Linode Shell (Lish)](/docs/guides/lish/).
-
- * `keys_only` is the most secure if you intend to use Lish.
-
- * `disabled` is recommended if you do not intend to use Lish at all.
-
- * If this account's Cloud Manager authentication type is set to a Third-Party Authentication method, `password_keys` cannot be used as your Lish authentication method. To view this account's Cloud Manager `authentication_type` field, send a request to the [View Profile](/docs/api/profile/#profile-view) endpoint.
- example: keys_only
- authorized_keys:
- type: array
- nullable: true
- items:
- type: string
- format: ssh-key
- description: >
- The list of SSH Keys authorized to use Lish for your User. This value is ignored if
- `lish_auth_method` is "disabled."
- example: null
- two_factor_auth:
- type: boolean
- description: >
- If true, logins from untrusted computers will require Two Factor
- Authentication. See [/profile/tfa-enable](/docs/api/profile/#two-factor-secret-create) to
- enable Two Factor Authentication.
- example: true
- x-linode-cli-display: 4
- restricted:
- type: boolean
- description: >
- If true, your User has restrictions on what can be accessed on your
- Account. To get details on what entities/actions you can
- access/perform, see [/profile/grants](/docs/api/profile/#grants-list).
- example: false
- x-linode-cli-display: 3
- authentication_type:
- type: string
- enum:
- - password
- - github
- description: |
- This account's Cloud Manager authentication type. Authentication types are chosen through
- Cloud Manager and authorized when logging into your account. These authentication types are either
- the user's password (in conjunction with their username), or the name of their
- indentity provider such as GitHub. For example, if a user:
-
- - Has never used Third-Party Authentication, their authentication type will be `password`.
- - Is using Third-Party Authentication, their authentication type will be the name of their Identity Provider (eg. `github`).
- - Has used Third-Party Authentication and has since revoked it, their authentication type will be `password`.
-
-
- **Note:** This functionality may not yet be available in Cloud Manager.
- See the [Cloud Manager Changelog](/changelog/cloud-manager/) for the latest updates.
- example: password
- readOnly: true
- Promotion:
- type: object
- readOnly: true
- description: |
- Promotions generally
- offer a set amount of credit that can be used toward your Linode
- services, and the promotion expires after a specified date. As well,
- a monthly cap on the promotional offer is set.
-
- Simply put, a promotion offers a certain amount of credit every
- month, until either the expiration date is passed, or until the total
- promotional credit is used, whichever comes first.
- properties:
- credit_monthly_cap:
- x-linode-cli-display: 5
- type: string
- description: >
- The amount available to spend per month.
- example: "10.00"
- credit_remaining:
- x-linode-cli-display: 3
- type: string
- description: >
- The total amount of credit left for this promotion.
- example: "50.00"
- description:
- type: string
- description: >
- A detailed description of this promotion.
- example: "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends."
- expire_dt:
- x-linode-cli-display: 2
- type: string
- description: >
- When this promotion's credits expire.
- example: '2018-01-31T23:59:59'
- image_url:
- type: string
- description: >
- The location of an image for this promotion.
- example: "https://linode.com/10_a_month_promotion.svg"
- summary:
- x-linode-cli-display: 10
- type: string
- description: >
- Short details of this promotion.
- example: "$10 off your Linode a month!"
- this_month_credit_remaining:
- x-linode-cli-display: 4
- type: string
- description: >
- The amount of credit left for this month for this promotion.
- example: "10.00"
- service_type:
- x-linode-cli-display: 1
- type: string
- enum:
- - all
- - backup
- - blockstorage
- - db_mysql
- - ip_v4
- - linode
- - linode_disk
- - linode_memory
- - longview
- - managed
- - nodebalancer
- - objectstorage
- - transfer_tx
- description: >
- The service to which this promotion applies.
- example: "all"
- ProxyUserToken:
- type: object
- description: >
- The token generated manually for a child account so its proxy user can access the API and CLI without going through an OAuth login.
- properties:
- id:
- type: integer
- description: >
- The proxy user token's unique ID, which can be used to revoke it.
- example: 918
- readOnly: true
- x-linode-cli-display: 1
- scopes:
- type: string
- format: oauth-scopes
- description: >
- The scopes this token was created with. Defaults to `*`. Proxy user tokens automatically inherit all the permissions of the proxy user.
- example: '*'
- readOnly: true
- x-linode-cli-display: 3
- created:
- type: string
- format: date-time
- description: >
- The date and time this token was created.
- x-linode-filterable: true
- example: 2024-05-01T00:01:01
- readOnly: true
- x-linode-cli-display: 4
- label:
- type: string
- minLength: 1
- maxLength: 100
- description: >
- The name of the token. The API automatically sets this to `__`. It's composed of the `username` for your parent account user, the unique `uid` Akamai assigned to identify your user, and the `time` the API generated the token. This is for display purposes only, but you can use it to help track how you're using each proxy user token.
- x-linode-filterable: true
- example: parent1_1234_2024-05-01T00:01:01
- x-linode-cli-display: 2
- token:
- type: string
- description: |
- The proxy user token that can be used to access the API and CLI. After you [create](#proxy-user-token-create) a token, you can see the full token
- in the response. All other operations that contain this token only show the first 16 characters in their response.
- example: abcdefghijklmnop
- readOnly: true
- x-linode-cli-display: 5
- expiry:
- type: string
- format: date-time
- description: >
- When this token expires. This is default set to 15 minutes from the time of creation. Proxy user tokens can't be renewed. After this time, Akamai revokes the token and you need to generate a new one.
- x-linode-cli-display: 6
- example: '2024-05-01T00:16:01'
- readOnly: true
- Region:
- type: object
- description: An area where Linode services are available.
- properties:
- id:
- readOnly: true
- type: string
- description: The unique ID of this Region.
- example: us-east
- x-linode-cli-display: 1
- label:
- type: string
- description: Detailed location information for this Region, including city, state or region, and country.
- example: Newark, NJ, USA
- readOnly: true
- x-linode-cli-display: 2
- country:
- type: string
- description: The country where this Region resides.
- example: us
- readOnly: true
- x-linode-cli-display: 3
- capabilities:
- type: array
- items:
- type: string
- description: >
- A list of capabilities of this region.
- example:
- - Linodes
- - NodeBalancers
- - Block Storage
- - Object Storage
- readOnly: true
- x-linode-cli-display: 4
- status:
- type: string
- description: >
- This region's current operational status.
- example: ok
- enum:
- - ok
- - outage
- readOnly: true
- x-linode-cli-display: 5
- resolvers:
- type: object
- readOnly: true
- x-linode-cli-display: 6
- properties:
- ipv4:
- type: string
- description: >
- The IPv4 addresses for this region's DNS resolvers, separated by commas.
- example: "192.0.2.0,192.0.2.1"
- readOnly: true
- ipv6:
- type: string
- description: >
- The IPv6 addresses for this region's DNS resolvers, separated by commas.
- example: "2001:0db8::,2001:0db8::1"
- readOnly: true
- RegionAvailability:
- type: object
- description: Compute instance availability information by [Type](/docs/api/linode-types/) and [Region](/docs/api/regions/).
- properties:
- region:
- x-linode-cli-display: 1
- x-linode-filterable: true
- type: string
- example: us-east
- description: The [Region](/docs/api/regions/) ID.
- plan:
- x-linode-cli-display: 2
- x-linode-filterable: true
- type: string
- example: gpu-rtx6000-1.1
- description: The compute instance [Type](/docs/api/linode-types/) ID.
- available:
- x-linode-cli-display: 3
- x-linode-filterable: true
- type: boolean
- example: true
- description: Whether the compute instance type is available in the region.
- RescueDevices:
- type: object
- properties:
- sda:
- $ref: '#/components/schemas/Device'
- sdb:
- $ref: '#/components/schemas/Device'
- sdc:
- $ref: '#/components/schemas/Device'
- sdd:
- $ref: '#/components/schemas/Device'
- sde:
- $ref: '#/components/schemas/Device'
- sdf:
- $ref: '#/components/schemas/Device'
- sdg:
- $ref: '#/components/schemas/Device'
- StackScript:
- type: object
- description: >
- A StackScript enables you to quickly deploy a
- fully-configured application in an automated manner.
- properties:
- id:
- type: integer
- description: The unique ID of this StackScript.
- example: 10079
- readOnly: true
- x-linode-cli-display: 1
- username:
- type: string
- description: >
- The User who created the StackScript.
- example: myuser
- readOnly: true
- x-linode-cli-display: 2
- user_gravatar_id:
- type: string
- description: >
- The Gravatar ID for the User who created the StackScript.
- example: a445b305abda30ebc766bc7fda037c37
- readOnly: true
- label:
- x-linode-filterable: true
- type: string
- description: >
- The StackScript's label is for display purposes only.
- example: a-stackscript
- minLength: 3
- maxLength: 128
- x-linode-cli-display: 3
- description:
- x-linode-filterable: true
- type: string
- description: >
- A description for the StackScript.
- example: >
- This StackScript installs and configures MySQL
- images:
- type: array
- description: |
- An array of Image IDs. These are the Images that can be deployed with this StackScript.
-
- `any/all` indicates that all available Images, including private Images, are accepted.
- items:
- type: string
- example:
- - linode/debian9
- - linode/debian8
- x-linode-cli-display: 4
- deployments_total:
- x-linode-filterable: true
- type: integer
- description: >
- The total number of times this StackScript has been deployed.
- example: 12
- readOnly: true
- deployments_active:
- type: integer
- description: >
- Count of currently active, deployed Linodes created from
- this StackScript.
- example: 1
- readOnly: true
- is_public:
- x-linode-filterable: true
- type: boolean
- description: >
- This determines whether other users can use your StackScript.
- **Once a StackScript is made public, it cannot be made private.**
- example: true
- x-linode-cli-display: 5
- created:
- type: string
- format: date-time
- description: >
- The date this StackScript was created.
- readOnly: true
- example: "2018-01-01T00:01:01"
- x-linode-cli-display: 6
- updated:
- type: string
- format: date-time
- description: >
- The date this StackScript was last updated.
- readOnly: true
- example: "2018-01-01T00:01:01"
- x-linode-cli-display: 7
- rev_note:
- x-linode-filterable: true
- type: string
- description: >
- This field allows you to add notes for the set of revisions made to
- this StackScript.
- example: Set up MySQL
- script:
- type: string
- description: >
- The script to execute when provisioning a new Linode with this StackScript.
- example: >
- "#!/bin/bash"
- x-linode-cli-format: file
- user_defined_fields:
- type: array
- description: >
- This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment. See [Declare User-Defined Fields (UDFs)](/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs)
- for more information.
- items:
- $ref: '#/components/schemas/UserDefinedField'
- readOnly: true
- example:
- label: Enter the DB password
- name: DB_PASSWORD
- example: hunter2
- mine:
- type: boolean
- x-linode-filterable: true
- description: |
- Returns `true` if this StackScript is owned by the account of the user making the request, and the user
- making the request is unrestricted or has access to this StackScript.
- readOnly: true
- example: true
- StatsDataAvailable:
- type: object
- description: >
- A collection of graph data returned for managed stats.
- properties:
- cpu:
- type: array
- description: CPU usage stats from the last 24 hours.
- items:
- $ref: '#/components/schemas/StatsData'
- disk:
- type: array
- description: Disk usage stats from the last 24 hours.
- items:
- $ref: '#/components/schemas/StatsData'
- swap:
- type: array
- description: Swap usage stats from the last 24 hours.
- items:
- $ref: '#/components/schemas/StatsData'
- net_in:
- type: array
- description: Inbound network traffic stats from the last 24 hours.
- items:
- $ref: '#/components/schemas/StatsData'
- net_out:
- type: array
- description: Outbound network traffic stats from the last 24 hours.
- items:
- $ref: '#/components/schemas/StatsData'
- StatsDataUnavailable:
- type: array
- readOnly: true
- description: >
- An array of error messages if managed stats are unavaliable.
- items:
- type: string
- example: Graphs are not yet available.
- StatsData:
- type: object
- description: >
- A stat data point.
- properties:
- x:
- type: integer
- readOnly: true
- description: >
- A stats graph data point.
- example: 11513761600000
- y:
- type: integer
- readOnly: true
- description: >
- A stats graph data point.
- example: 29.94
- SupportTicket:
- type: object
- description: >
- A Support Ticket opened on your Account.
- properties:
- id:
- type: integer
- readOnly: true
- description: >
- The ID of the Support Ticket.
- example: 11223344
- x-linode-cli-display: 1
- attachments:
- type: array
- description: >
- A list of filenames representing attached files associated
- with this Ticket.
- readOnly: true
- items:
- type: string
- example:
- - screenshot.jpg
- - screenshot.txt
- closed:
- x-linode-filterable: true
- type: string
- nullable: true
- format: date-time
- readOnly: true
- description: >
- The date and time this Ticket was closed.
- example: '2015-06-04T16:07:03'
- closable:
- type: boolean
- description: >
- Whether the Support Ticket may be closed.
- example: false
- description:
- type: string
- readOnly: true
- description: >
- The full details of the issue or question.
- minLength: 1
- maxLength: 65000
- example: >
- I am having trouble setting the root password on my Linode.
- I tried following the instructions but something is not
- working. Can you please help me figure out how I can reset it?
- x-linode-cli-display: 5
- entity:
- type: object
- nullable: true
- readOnly: true
- description: >
- The entity this Ticket was opened for.
- x-linode-cli-display: 6
- properties:
- id:
- type: integer
- readOnly: true
- description: >
- The unique ID for this Ticket's entity.
- example: 10400
- label:
- type: string
- readOnly: true
- description: >
- The current label of this entity.
- example: linode123456
- type:
- type: string
- readOnly: true
- description: >
- The type of entity this is related to.
- example: linode
- url:
- type: string
- readOnly: true
- description: >
- The URL where you can access the object this event is
- for. If a relative URL, it is relative to the domain you
- retrieved the entity from.
- example: /v4/linode/instances/123456
- gravatar_id:
- type: string
- readOnly: true
- description: >
- The Gravatar ID of the User who opened this Ticket.
- example: 474a1b7373ae0be4132649e69c36ce30
- opened:
- x-linode-filterable: true
- type: string
- format: date-time
- readOnly: true
- description: >
- The date and time this Ticket was created.
- example: '2015-06-04T14:16:44'
- x-linode-cli-display: 4
- opened_by:
- type: string
- readOnly: true
- description: >
- The User who opened this Ticket.
- example: some_user
- x-linode-cli-display: 3
- status:
- type: string
- readOnly: true
- description: The current status of this Ticket.
- enum:
- - closed
- - new
- - open
- example: open
- summary:
- type: string
- readOnly: true
- minLength: 1
- maxLength: 64
- description: >
- The summary or title for this Ticket.
- example: >
- Having trouble resetting root password on my Linode
- x-linode-cli-display: 2
- updated:
- x-linode-filterable: true
- type: string
- format: date-time
- readOnly: true
- description: >
- The date and time this Ticket was last updated.
- example: '2015-06-04T16:07:03'
- updated_by:
- type: string
- nullable: true
- readOnly: true
- description: >
- The User who last updated this Ticket.
- example: some_other_user
- SupportTicketReply:
- type: object
- description: >
- An object representing a reply to a Support Ticket.
- properties:
- created:
- type: string
- format: date-time
- readOnly: true
- description: >
- The date and time this Ticket reply was created.
- example: '2015-06-02T14:31:41'
- x-linode-cli-display: 3
- created_by:
- type: string
- readOnly: true
- description: >
- The User who submitted this reply.
- example: John Q. Linode
- x-linode-cli-display: 2
- description:
- type: string
- readOnly: true
- description: >
- The body of this Support Ticket reply.
- example: >
- Hello,\nI'm sorry to hear that you are having trouble resetting the
- root password of your Linode. Just to be sure, have you tried to
- follow the instructions in our online documentation? The link is here:\n
- \nhttps://linode.com/docs/guides/reset-the-root-password-on-your-linode/
- \n\nIf you have, please reply with any additional steps you have also
- taken.\n\nRegards, Linode Support Team
- from_linode:
- type: boolean
- readOnly: true
- description: >
- If set to true, this reply came from a Linode employee.
- example: true
- gravatar_id:
- type: string
- readOnly: true
- description: >
- The Gravatar ID of the User who created this reply.
- example: 474a1b7373ae0be4132649e69c36ce30
- id:
- type: integer
- readOnly: true
- description: >
- The unique ID of this Support Ticket reply.
- example: 11223345
- x-linode-cli-display: 1
- SupportTicketRequest:
- type: object
- required:
- - summary
- - description
- description: >
- An object representing a created Support Ticket - a question or issue
- and request for help from the Linode support team.
-
- Only one of the ID attributes (`linode_id`, `domain_id`, etc.) can be set
- on a single Support Ticket.
- properties:
- description:
- type: string
- description: >
- The full details of the issue or question.
- minLength: 1
- maxLength: 65000
- example: >
- I'm having trouble setting the root password on my Linode.
- I tried following the instructions but something is not
- working and I'm not sure what I'm doing wrong. Can you please
- help me figure out how I can reset it?
- database_id:
- type: integer
- description: >
- The ID of the Managed Database this ticket is regarding, if relevant.
- domain_id:
- type: integer
- description: >
- The ID of the Domain this ticket is regarding, if relevant.
- example: null
- firewall_id:
- type: integer
- description: >
- The ID of the Firewall this ticket is regarding, if relevant.
- linode_id:
- type: integer
- description: >
- The ID of the Linode this ticket is regarding, if relevant.
- example: 123
- lkecluster_id:
- type: integer
- description: >
- The ID of the Kubernetes cluster this ticket is regarding, if relevant.
- example: 123
- longviewclient_id:
- type: integer
- description: >
- The ID of the Longview client this ticket is regarding, if relevant.
- example: null
- nodebalancer_id:
- type: integer
- description: >
- The ID of the NodeBalancer this ticket is regarding, if relevant.
- example: null
- summary:
- type: string
- minLength: 1
- maxLength: 64
- description: >
- The summary or title for this SupportTicket.
- example: >
- Having trouble resetting root password on my Linode
- managed_issue:
- type: boolean
- description: >
- Designates if this ticket is related to a
- [Managed service](https://www.linode.com/products/managed/).
- If `true`, the following constraints will apply:
-
- * No ID attributes (i.e. `linode_id`, `domain_id`, etc.) should be provided with this
- request.
-
- * Your account must have a [Managed service enabled](/docs/api/managed/#managed-service-enable).
- example: false
- volume_id:
- type: integer
- description: >
- The ID of the Volume this ticket is regarding, if relevant.
- example: null
- vlan:
- type: string
- description: |
- The label of the VLAN this ticket is regarding, if relevant. To view your VLANs, use the VLANs List ([GET /networking/vlans](/docs/api/networking/#vlans-list)) endpoint.
-
- Requires a specified `region` to identify the VLAN.
- example: null
- vpc_id:
- type: integer
- description: >
- The ID of the VPC this ticket is regarding, if relevant.
- example: null
- region:
- type: string
- description: |
- The [Region](/docs/api/regions/) ID for the associated VLAN this ticket is regarding.
-
- Only allowed when submitting a VLAN ticket.
- example: null
- Transfer:
- type: object
- description: |
- An object representing your network utilization for the current month, in Gigabytes.
-
- Certain Regions have separate utilization quotas and rates. For Region-specific network utilization data, see `region_transfers`.
- properties:
- billable:
- type: integer
- readOnly: true
- description: |
- The amount of your transfer pool that is billable this billing cycle.
- example: 0
- x-linode-cli-display: 3
- quota:
- type: integer
- readOnly: true
- description: >
- The amount of network usage allowed this billing cycle.
- example: 9141
- x-linode-cli-display: 1
- used:
- type: integer
- readOnly: true
- description: >
- The amount of network usage you have used this billing cycle.
- example: 2
- x-linode-cli-display: 2
- region_transfers:
- type: array
- items:
- type: object
- properties:
- id:
- type: string
- description: The Region ID for this network utilization data.
- example: us-east
- billable:
- type: integer
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ description: "List of regions and the services available in each."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-title: "Account Availability"
+ summary: "List available services"
+ x-original-op-id: "getAvailability"
+ parameters:
+ -
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ description: "The page of a collection to return."
+ name: "page"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ -
+ schema:
+ default: 100
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-availability"
+ operationId: "get-availability"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli account get-availability"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/account/availability \\\n -H \"Authorization: Bearer $TOKEN\""
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli account get-availability"
+ description: "Returns a paginated list of the services available to you, for all Linode regions.\n\n__Note__. Only authorized Users can run this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account get-availability\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "get-availability"
+ x-akamai:
+ file-path: "paths/account-availability.yaml"
+ path-info: "/{apiVersion}/account/availability"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ x-linode-cli-command: "account"
+ /{apiVersion}/account/agreements:
+ x-akamai:
+ path-info: "/{apiVersion}/account/agreements"
+ file-path: "paths/account-agreements.yaml"
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "Acknowledgment status for agreements on your account. When acknowledging any agreements, set them to `true` and omit any remainders."
+ type: "object"
+ properties:
+ privacy_policy:
+ example: true
+ type: "boolean"
+ description: "The acknowledgement status for Akamai's [privacy statement](https://www.akamai.com/legal/privacy-statement)."
+ eu_model:
+ example: true
+ description: "The acknowledgement status for the [cross-border data transfer](https://www.akamai.com/legal/compliance/privacy-trust-center/cross-border-data-transfer-statement) agreement."
+ type: "boolean"
+ master_service_agreement:
+ description: "The acknowledgement status for Akamai's [master service agreement](https://www.linode.com/legal-msa/)."
+ type: "boolean"
+ example: true
+ x-akamai:
+ file-path: "schemas/agreements.yaml"
+ x-example:
+ x-ref: "../examples/get-acceptance-agreement-200.json"
+ description: "The status of each acceptance agreement for your account."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-account-agreements"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-linode-cli-skip: true
+ operationId: "get-account-agreements"
+ description: "Returns all agreements and their acceptance status for your account.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action: "agreements"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/agreements"
+ lang: "Shell"
+ summary: "List agreements"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ x-linode-cli-command: "agreements"
+ post:
+ x-linode-cli-skip: true
+ operationId: "post-account-agreements"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-account-agreements"
+ responses:
+ 200:
+ description: "Agreements updated successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-account-agreements-200.json"
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"eu_model\": true,\n \"master_service_agreement\": true,\n \"privacy_policy\": true\n }' \\\n https://api.linode.com/v4/account/agreements"
+ lang: "Shell"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: "Acknowledgment status for agreements on your account. When acknowledging any agreements, set them to `true` and omit any remainders."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/agreements.yaml"
+ properties:
+ master_service_agreement:
+ description: "The acknowledgement status for Akamai's [master service agreement](https://www.linode.com/legal-msa/)."
+ type: "boolean"
+ example: true
+ privacy_policy:
+ description: "The acknowledgement status for Akamai's [privacy statement](https://www.akamai.com/legal/privacy-statement)."
+ type: "boolean"
+ example: true
+ eu_model:
+ type: "boolean"
+ description: "The acknowledgement status for the [cross-border data transfer](https://www.akamai.com/legal/compliance/privacy-trust-center/cross-border-data-transfer-statement) agreement."
+ example: true
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-agreements.json"
+ required: true
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action: "post-agreements"
+ description: "Accept required agreements by setting them to `true`. This remains until the content of the agreement changes. If it does, you need to run this operation again to accept it. If you set this to `false`, the API rejects the request and you need to open a [support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to reset the agreement. Omitted agreements are left unchanged.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ summary: "Acknowledge agreements"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ /{apiVersion}/account/invoices/{invoiceId}:
+ x-linode-cli-command: "account"
+ x-akamai:
+ file-path: "paths/invoice.yaml"
+ path-info: "/{apiVersion}/account/invoices/{invoiceId}"
+ get:
+ responses:
+ 200:
+ description: "An Invoice object."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-invoice-200.json"
+ schema:
+ description: "Account Invoice object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/invoice.yaml"
+ properties:
+ label:
+ x-linode-filterable: true
+ example: "Invoice"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The Invoice's display label."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ subtotal:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The amount of the Invoice before taxes in US Dollars."
+ type: "number"
+ readOnly: true
+ example: 120.25
+ total:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ type: "number"
+ description: "__Filterable__, __Read-only__ The amount of the Invoice after taxes in US Dollars."
+ readOnly: true
+ x-linode-filterable: true
+ example: 132.5
+ id:
+ type: "integer"
+ description: "__Read-only__ The Invoice's unique ID."
+ x-linode-cli-display: 1
+ example: 123
+ readOnly: true
+ date:
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this Invoice was generated."
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ tax:
+ example: 12.25
+ readOnly: true
+ description: "__Read-only__ The amount of tax levied on the Invoice in US Dollars."
+ type: "number"
+ x-linode-cli-display: 5
+ billing_source:
+ readOnly: true
+ example: "linode"
+ enum:
+ - "akamai"
+ - "linode"
+ x-linode-filterable: true
+ x-linode-cli-display: 3.5
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ `akamai`: This Invoice was generated according to the terms of an agreement between the customer and Akamai.\n\n`linode`: This Invoice was generated according to the default terms, prices, and discounts."
+ type: "string"
+ tax_summary:
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ The amount of tax broken down into subtotals by source."
+ items:
+ properties:
+ name:
+ example: "PA STATE TAX"
+ description: "The source of this tax subtotal."
+ type: "string"
+ tax:
+ example: 12.25
+ type: "number"
+ description: "The amount of tax subtotal attributable to this source."
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-invoice"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-invoice"
+ description: "Returns a single Invoice object.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account invoice-view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "invoice-view"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli account invoice-view 123"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/invoices/123"
+ -
+ source: "linode-cli account invoice-view 123"
+ lang: "CLI"
+ x-original-op-title: "Invoice View"
+ summary: "Get an invoice"
+ x-original-op-id: "getInvoice"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ description: "The ID of the Invoice."
+ name: "invoiceId"
+ x-akamai:
+ file-path: "parameters/invoice-id-path.yaml"
+ required: true
+ in: "path"
+ schema:
+ type: "integer"
+ /{apiVersion}/account/users/{username}/grants:
+ x-linode-cli-command: "users"
+ get:
+ x-original-op-id: "getUserGrants"
+ x-original-op-title: "User's Grants View"
+ summary: "List a user's grants"
+ x-linode-grant: "unrestricted only"
+ description: "Returns the full grants structure for an account username you specify. This includes all entities on the account, and the level of access this user has to each of them.\n\nThis doesn't apply to the account owner or the current authenticated user. You can run the [List grants](https://techdocs.akamai.com/linode-api/reference/get-profile-grants) operation to view those grants. However, this doesn't show the entities that they _don't_ have access to.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "grants"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/users/example_user/grants"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-user-grants"
+ x-linode-cli-skip: true
+ operationId: "get-user-grants"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-user-grants-200.json"
+ schema:
+ description: "A structure representing all grants a restricted User has on the Account. Not available for unrestricted users, as they have access to everything without grants. If retrieved from the `/profile/grants` endpoint, entities to which a User has no access will be omitted."
+ type: "object"
+ properties:
+ longview:
+ type: "array"
+ description: "The grants this User has for each Longview Client that is owned by this Account."
+ items:
+ additionalProperties: false
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ label:
+ readOnly: true
+ example: "example-entity"
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ loadbalancer:
+ type: "array"
+ description: "The grants this User has for each Cloud Load Balancer that is owned by this Account."
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ readOnly: true
+ example: "example-entity"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ domain:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ label:
+ example: "example-entity"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "The grants this User has for each Domain that is owned by this Account."
+ type: "array"
+ placement_group:
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ label:
+ readOnly: true
+ example: "example-entity"
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ additionalProperties: false
+ description: "The grants this User has for each Placement Group that is owned by this Account."
+ type: "array"
+ linode:
+ type: "array"
+ description: "The grants this User has for each Linode that is owned by this Account."
+ items:
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ permissions:
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ additionalProperties: false
+ image:
+ items:
+ additionalProperties: false
+ properties:
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ description: "The grants this User has for each Image that is owned by this Account."
+ type: "array"
+ global:
+ properties:
+ add_vpcs:
+ example: true
+ type: "boolean"
+ description: "If true, this User may add VPCs."
+ account_access:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ nullable: true
+ description: "The level of access this User has to Account-level actions, like billing information. A restricted User will never be able to manage users.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this grant can be added to a child account user, to give the user `read-write` access. This gives the child user unrestricted access to expected management operations, such as creating other child users. However, child users don't have write access to billing operations. The API issues a specific error message if a write operation is attempted by a child user."
+ type: "string"
+ add_volumes:
+ type: "boolean"
+ description: "If true, this User may add Volumes."
+ example: true
+ add_placement_groups:
+ type: "boolean"
+ description: "If true, this User may add Placement Groups."
+ add_domains:
+ example: true
+ description: "If true, this User may add Domains."
+ type: "boolean"
+ longview_subscription:
+ type: "boolean"
+ description: "If true, this User may manage the Account's Longview subscription."
+ example: true
+ add_images:
+ type: "boolean"
+ description: "If true, this User may add Images."
+ example: true
+ add_stackscripts:
+ description: "If true, this User may add StackScripts."
+ type: "boolean"
+ example: true
+ add_nodebalancers:
+ description: "If true, this User may add NodeBalancers."
+ type: "boolean"
+ example: true
+ child_account_access:
+ nullable: true
+ description: "In a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this gives a parent account access to endpoints that can be used to manage child accounts. Unrestricted parent account users have access to this grant, while restricted parent users don't. An unrestricted parent user can set this to `true` to add this grant to a restricted parent user. Displayed as `null` for all non-parent accounts."
+ type: "boolean"
+ example: true
+ add_linodes:
+ type: "boolean"
+ description: "If true, this User may create Linodes."
+ example: true
+ add_databases:
+ type: "boolean"
+ description: "If true, this User may add Managed Databases."
+ example: true
+ add_firewalls:
+ example: true
+ description: "If true, this User may add Firewalls."
+ type: "boolean"
+ cancel_account:
+ description: "If true, this User may cancel the entire Account."
+ type: "boolean"
+ example: false
+ add_longview:
+ example: true
+ type: "boolean"
+ description: "If true, this User may create Longview clients and view the current plan."
+ type: "object"
+ description: "A structure containing the Account-level grants a User has."
+ additionalProperties: false
+ stackscript:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ example: "example-entity"
+ readOnly: true
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "array"
+ description: "The grants this User has for each StackScript that is owned by this Account."
+ nodebalancer:
+ description: "The grants this User has for each NodeBalancer that is owned by this Account."
+ type: "array"
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ readOnly: true
+ example: "example-entity"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ additionalProperties: false
+ volume:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ example: "example-entity"
+ readOnly: true
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ description: "The grants this User has for each Block Storage Volume that is owned by this Account."
+ type: "array"
+ vpc:
+ type: "array"
+ description: "The grants this User has for each VPC that is owned by this Account."
+ items:
+ properties:
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ additionalProperties: false
+ database:
+ description: "The grants this User has for each Database that is owned by this Account."
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ permissions:
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ x-akamai:
+ file-path: "schemas/grants-response.yaml"
+ additionalProperties: false
+ description: "The User's grants."
+ 204:
+ content: {}
+ description: "This is an unrestricted User, and therefore has no grants to return. This User may access everything on the Account and perform all actions."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ put:
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/grants-response.yaml"
+ properties:
+ domain:
+ type: "array"
+ description: "The grants this User has for each Domain that is owned by this Account."
+ items:
+ additionalProperties: false
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ longview:
+ type: "array"
+ description: "The grants this User has for each Longview Client that is owned by this Account."
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ example: "example-entity"
+ readOnly: true
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ additionalProperties: false
+ loadbalancer:
+ description: "The grants this User has for each Cloud Load Balancer that is owned by this Account."
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ volume:
+ type: "array"
+ description: "The grants this User has for each Block Storage Volume that is owned by this Account."
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ stackscript:
+ type: "array"
+ description: "The grants this User has for each StackScript that is owned by this Account."
+ items:
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ example: "example-entity"
+ readOnly: true
+ permissions:
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ additionalProperties: false
+ nodebalancer:
+ items:
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ properties:
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ permissions:
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ additionalProperties: false
+ type: "array"
+ description: "The grants this User has for each NodeBalancer that is owned by this Account."
+ vpc:
+ type: "array"
+ description: "The grants this User has for each VPC that is owned by this Account."
+ items:
+ additionalProperties: false
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ example: "example-entity"
+ readOnly: true
+ database:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ nullable: true
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "The grants this User has for each Database that is owned by this Account."
+ type: "array"
+ image:
+ type: "array"
+ description: "The grants this User has for each Image that is owned by this Account."
+ items:
+ additionalProperties: false
+ properties:
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ permissions:
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ placement_group:
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ readOnly: true
+ example: "example-entity"
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ additionalProperties: false
+ type: "array"
+ description: "The grants this User has for each Placement Group that is owned by this Account."
+ linode:
+ items:
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ properties:
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ example: "example-entity"
+ readOnly: true
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ additionalProperties: false
+ type: "array"
+ description: "The grants this User has for each Linode that is owned by this Account."
+ global:
+ properties:
+ add_linodes:
+ description: "If true, this User may create Linodes."
+ type: "boolean"
+ example: true
+ add_databases:
+ example: true
+ type: "boolean"
+ description: "If true, this User may add Managed Databases."
+ child_account_access:
+ example: true
+ description: "In a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this gives a parent account access to endpoints that can be used to manage child accounts. Unrestricted parent account users have access to this grant, while restricted parent users don't. An unrestricted parent user can set this to `true` to add this grant to a restricted parent user. Displayed as `null` for all non-parent accounts."
+ type: "boolean"
+ nullable: true
+ add_firewalls:
+ type: "boolean"
+ description: "If true, this User may add Firewalls."
+ example: true
+ cancel_account:
+ example: false
+ type: "boolean"
+ description: "If true, this User may cancel the entire Account."
+ add_longview:
+ example: true
+ description: "If true, this User may create Longview clients and view the current plan."
+ type: "boolean"
+ add_vpcs:
+ type: "boolean"
+ description: "If true, this User may add VPCs."
+ example: true
+ account_access:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to Account-level actions, like billing information. A restricted User will never be able to manage users.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this grant can be added to a child account user, to give the user `read-write` access. This gives the child user unrestricted access to expected management operations, such as creating other child users. However, child users don't have write access to billing operations. The API issues a specific error message if a write operation is attempted by a child user."
+ type: "string"
+ add_volumes:
+ type: "boolean"
+ description: "If true, this User may add Volumes."
+ example: true
+ add_placement_groups:
+ description: "If true, this User may add Placement Groups."
+ type: "boolean"
+ add_images:
+ example: true
+ description: "If true, this User may add Images."
+ type: "boolean"
+ add_stackscripts:
+ type: "boolean"
+ description: "If true, this User may add StackScripts."
+ example: true
+ add_nodebalancers:
+ type: "boolean"
+ description: "If true, this User may add NodeBalancers."
+ example: true
+ add_domains:
+ type: "boolean"
+ description: "If true, this User may add Domains."
+ example: true
+ longview_subscription:
+ example: true
+ description: "If true, this User may manage the Account's Longview subscription."
+ type: "boolean"
+ type: "object"
+ description: "A structure containing the Account-level grants a User has."
+ additionalProperties: false
+ type: "object"
+ description: "A structure representing all grants a restricted User has on the Account. Not available for unrestricted users, as they have access to everything without grants. If retrieved from the `/profile/grants` endpoint, entities to which a User has no access will be omitted."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-user-grants-200.json"
+ description: "Grants updated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ description: "The grants to update. Omitted grants will be left unchanged."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ loadbalancer:
+ items:
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ additionalProperties: false
+ type: "array"
+ description: "The grants this User has for each Cloud Load Balancer that is owned by this Account."
+ longview:
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ additionalProperties: false
+ type: "array"
+ description: "The grants this User has for each Longview Client that is owned by this Account."
+ linode:
+ type: "array"
+ description: "The grants this User has for each Linode that is owned by this Account."
+ items:
+ additionalProperties: false
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ properties:
+ label:
+ readOnly: true
+ example: "example-entity"
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ id:
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ example: 123
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ placement_group:
+ items:
+ properties:
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ readOnly: true
+ example: "example-entity"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "object"
+ additionalProperties: false
+ description: "The grants this User has for each Placement Group that is owned by this Account."
+ type: "array"
+ image:
+ items:
+ properties:
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ label:
+ example: "example-entity"
+ readOnly: true
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ additionalProperties: false
+ description: "The grants this User has for each Image that is owned by this Account."
+ type: "array"
+ database:
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ example: "example-entity"
+ readOnly: true
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ permissions:
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ additionalProperties: false
+ type: "array"
+ description: "The grants this User has for each Database that is owned by this Account."
+ volume:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ properties:
+ id:
+ example: 123
+ type: "integer"
+ description: "The ID of the entity this grant applies to."
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "array"
+ description: "The grants this User has for each Block Storage Volume that is owned by this Account."
+ domain:
+ type: "array"
+ description: "The grants this User has for each Domain that is owned by this Account."
+ items:
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ label:
+ readOnly: true
+ example: "example-entity"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ permissions:
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ nullable: true
+ enum:
+ - "read_only"
+ - "read_write"
+ example: "read_only"
+ additionalProperties: false
+ global:
+ type: "object"
+ description: "A structure containing the Account-level grants a User has."
+ properties:
+ add_domains:
+ type: "boolean"
+ description: "If true, this User may add Domains."
+ example: true
+ longview_subscription:
+ example: true
+ description: "If true, this User may manage the Account's Longview subscription."
+ type: "boolean"
+ add_stackscripts:
+ description: "If true, this User may add StackScripts."
+ type: "boolean"
+ example: true
+ add_nodebalancers:
+ example: true
+ type: "boolean"
+ description: "If true, this User may add NodeBalancers."
+ add_images:
+ example: true
+ description: "If true, this User may add Images."
+ type: "boolean"
+ add_placement_groups:
+ description: "If true, this User may add Placement Groups."
+ type: "boolean"
+ account_access:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to Account-level actions, like billing information. A restricted User will never be able to manage users.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this grant can be added to a child account user, to give the user `read-write` access. This gives the child user unrestricted access to expected management operations, such as creating other child users. However, child users don't have write access to billing operations. The API issues a specific error message if a write operation is attempted by a child user."
+ add_vpcs:
+ description: "If true, this User may add VPCs."
+ type: "boolean"
+ example: true
+ add_volumes:
+ type: "boolean"
+ description: "If true, this User may add Volumes."
+ example: true
+ cancel_account:
+ type: "boolean"
+ description: "If true, this User may cancel the entire Account."
+ example: false
+ add_longview:
+ type: "boolean"
+ description: "If true, this User may create Longview clients and view the current plan."
+ example: true
+ add_firewalls:
+ type: "boolean"
+ description: "If true, this User may add Firewalls."
+ example: true
+ child_account_access:
+ example: true
+ description: "In a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, this gives a parent account access to endpoints that can be used to manage child accounts. Unrestricted parent account users have access to this grant, while restricted parent users don't. An unrestricted parent user can set this to `true` to add this grant to a restricted parent user. Displayed as `null` for all non-parent accounts."
+ type: "boolean"
+ nullable: true
+ add_databases:
+ example: true
+ type: "boolean"
+ description: "If true, this User may add Managed Databases."
+ add_linodes:
+ example: true
+ type: "boolean"
+ description: "If true, this User may create Linodes."
+ additionalProperties: false
+ stackscript:
+ description: "The grants this User has for each StackScript that is owned by this Account."
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ properties:
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ label:
+ type: "string"
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ readOnly: true
+ example: "example-entity"
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ nodebalancer:
+ type: "array"
+ description: "The grants this User has for each NodeBalancer that is owned by this Account."
+ items:
+ additionalProperties: false
+ properties:
+ permissions:
+ nullable: true
+ type: "string"
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ id:
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ example: 123
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ readOnly: true
+ example: "example-entity"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ vpc:
+ items:
+ additionalProperties: false
+ properties:
+ permissions:
+ example: "read_only"
+ enum:
+ - "read_only"
+ - "read_write"
+ nullable: true
+ description: "The level of access this User has to this entity. If null, this User has no access."
+ type: "string"
+ label:
+ description: "__Read-only__ The current label of the entity this grant applies to, for display purposes."
+ type: "string"
+ example: "example-entity"
+ readOnly: true
+ id:
+ example: 123
+ description: "The ID of the entity this grant applies to."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/grant.yaml"
+ type: "object"
+ description: "Represents the level of access a restricted User has to a specific resource on the Account."
+ type: "array"
+ description: "The grants this User has for each VPC that is owned by this Account."
+ x-akamai:
+ file-path: "schemas/grants-response.yaml"
+ type: "object"
+ description: "A structure representing all grants a restricted User has on the Account. Not available for unrestricted users, as they have access to everything without grants. If retrieved from the `/profile/grants` endpoint, entities to which a User has no access will be omitted."
+ x-example:
+ x-ref: "../examples/put-user-grants.json"
+ required: true
+ x-original-op-title: "User's Grants Update"
+ summary: "Update a user's grants"
+ x-original-op-id: "updateUserGrants"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-user-grants"
+ x-linode-cli-skip: true
+ operationId: "put-user-grants"
+ x-linode-grant: "unrestricted only"
+ description: "Update the grants a user has. This can be used to give a user access to new entities or actions, or take access away. You don't need to include the grant for every entity on the account in this request. Any that are not included remain unchanged.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- No child account user can modify the `account_access` grant for the child account parent user (proxy user).\n\n- An unrestricted child account user can configure all other grants for the proxy user, via `global` object.\n\n- An unrestricted child account user can enable the `account_access` grant for other child account users. However, enabled child users are still subject to child user restrictions--they can't perform write operations for any billing or account information.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "update-grants"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"global\": {\n \"add_linodes\": true,\n \"add_loadbalancers\": true,\n \"add_nodebalancers\": false,\n \"add_databases\": true,\n \"add_domains\": true,\n \"add_longview\": false,\n \"add_stackscripts\": true,\n \"longview_subscription\": true,\n \"add_images\": true,\n \"add_volumes\": true,\n \"add_firewalls\": true,\n \"account_access\": \"read_only\",\n \"cancel_account\": false,\n \"add_vpcs\": true\n },\n \"domain\": [\n {\n \"id\": 123,\n \"permissions\": \"read_only\"\n }\n ],\n \"image\": [\n {\n \"id\": 123,\n \"permissions\": \"read_only\"\n }\n ],\n \"linode\": [\n {\n \"id\": 123,\n \"permissions\": \"read_only\"\n },\n {\n \"id\": 234,\n \"permissions\": \"read_write\"\n },\n {\n \"id\": 345,\n \"permissions\": \"read_only\"\n }\n ],\n \"longview\": [\n {\n \"id\": 123,\n \"permissions\": \"read_only\"\n },\n {\n \"id\": 234,\n \"permissions\": \"read_write\"\n }\n ],\n \"nodebalancer\": [\n {\n \"id\": 123,\n \"permissions\": \"read_write\"\n }\n ],\n \"stackscript\": [\n {\n \"id\": 123,\n \"permissions\": \"read_only\"\n },\n {\n \"id\": 124,\n \"permissions\": \"read_write\"\n }\n ],\n \"volume\": [\n {\n \"id\": 123,\n \"permissions\": \"read_only\"\n }\n ],\n \"vpc\": [\n {\n \"id\": 123,\n \"permissions\": \"read_write\"\n }\n ]\n }' \\\n https://api.linode.com/v4/account/users/example_user/grants"
+ x-akamai:
+ path-info: "/{apiVersion}/account/users/{username}/grants"
+ file-path: "paths/account-grants.yaml"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/username-path.yaml"
+ in: "path"
+ description: "The username to look up."
+ name: "username"
+ /{apiVersion}/linode/instances:
+ post:
+ requestBody:
+ x-linode-cli-allowed-defaults:
+ - "authorized_users"
+ - "region"
+ - "image"
+ - "type"
+ required: true
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-linode-instance.yaml"
+ required:
+ - "type"
+ - "region"
+ allOf:
+ -
+ properties:
+ metadata:
+ properties:
+ user_data:
+ example: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlX3VwZGF0ZTogdHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IHRydWU="
+ type: "string"
+ description: "Base64-encoded [cloud-config](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata-cloud-config/) data.\n\nCannot be modified after provisioning. To update, use either the [Clone a Linode](https://techdocs.akamai.com/linode-api/reference/post-clone-linode-instance) or [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance) operations.\n\nMust not be included when cloning to an existing Linode.\n\nUnencoded data must not exceed 65535 bytes, or about 16kb encoded."
+ format: "byte"
+ writeOnly: true
+ description: "__Write-only__ An object containing user-defined data relevant to the creation of Linodes."
+ type: "object"
+ additionalProperties: false
+ stackscript_data:
+ maxLength: 65535
+ example:
+ gh_username: "linode"
+ description: "This field is required only if the StackScript being deployed requires input data from the User for successful completion. See [User Defined Fields (UDFs)](https://www.linode.com/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more details.\n\nThis field is required to be valid JSON.\n\nTotal length cannot exceed 65,535 characters."
+ type: "object"
+ booted:
+ default: true
+ type: "boolean"
+ description: "__Write-only__ This field defaults to `true` if the Linode is created with an Image or from a Backup. If it is deployed from an Image or a Backup and you wish it to remain `offline` after deployment, set this to `false`."
+ writeOnly: true
+ root_pass:
+ minLength: 7
+ description: "__Write-only__ This sets the root user's password on a newly-created Linode Disk when deploying from an Image.\n\n- __Required__ when creating a Linode Disk from an Image, including when using a StackScript.\n\n- Must meet a password strength score requirement that is calculated internally by the API. If the strength requirement is not met, you will receive a `Password does not meet strength requirement` error."
+ type: "string"
+ format: "password"
+ example: "aComplexP@ssword"
+ maxLength: 128
+ writeOnly: true
+ authorized_users:
+ items:
+ type: "string"
+ description: "__Write-only__ A list of usernames. If the usernames have associated SSH keys, the keys will be appended to the root users `~/.ssh/authorized_keys` file automatically when deploying from an Image."
+ type: "array"
+ writeOnly: true
+ example:
+ - "myUser"
+ - "secondaryUser"
+ authorized_keys:
+ type: "array"
+ description: "__Write-only__ A list of public SSH keys that will be automatically appended to the root user's `~/.ssh/authorized_keys` file when deploying from an Image."
+ writeOnly: true
+ items:
+ type: "string"
+ example:
+ - "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
+ image:
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ type: "string"
+ example: "linode/debian9"
+ stackscript_id:
+ description: "A StackScript ID that will cause the referenced StackScript to be run during deployment of this Linode. A compatible `image` is required to use a StackScript. To get a list of available StackScript and their permitted Images, run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts). This field cannot be used when deploying from a Backup or a Private Image."
+ type: "integer"
+ example: 10079
+ x-akamai:
+ file-path: "schemas/linode-request.yaml"
+ type: "object"
+ description: "Common properties for creating and rebuilding Linodes."
+ additionalProperties: false
+ -
+ properties:
+ label:
+ minLength: 3
+ type: "string"
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 64
+ example: "linode123"
+ x-linode-filterable: true
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ backups_enabled:
+ description: "If this field is set to `true`, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.\n\nThis option is always treated as `true` if the account-wide `backups_enabled` setting is `true`. See [Get account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings) for more information.\n\nBackup pricing is included in the response from [List types](https://techdocs.akamai.com/linode-api/reference/get-linode-types)"
+ type: "boolean"
+ type:
+ example: "g6-standard-2"
+ description: "The [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) of the Linode you are creating."
+ type: "string"
+ placement_group:
+ additionalProperties: false
+ properties:
+ id:
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ type: "integer"
+ nullable: false
+ x-linode-cli-display: 1
+ example: 528
+ description: "Include this to assign this Linode to an existing [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/). These constraints apply:\n\n- The target placement group needs to be in the same `region` set for this Linode.\n- The placement group needs to have capacity. Run the [Get a region](https://techdocs.akamai.com/linode-api/reference/get-region) operation and store the `maximum_linodes_per_pg` value to know the Linode limit per placement group. You can then run the [Get a placement group](https://techdocs.akamai.com/linode-api/reference/get-placement-group) operation to review the Linodes in that group."
+ type: "object"
+ swap_size:
+ default: 512
+ type: "integer"
+ description: "When deploying from an Image, this field is optional, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode."
+ example: 512
+ firewall_id:
+ type: "integer"
+ description: "The `id` of the Firewall to attach this Linode to upon creation."
+ backup_id:
+ type: "integer"
+ description: "A Backup ID from another Linode's available backups. Your User must have `read_write` access to that Linode, the Backup must have a `status` of `successful`, and the Linode must be deployed to the same `region` as the Backup. Run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups) for a Linode's available backups.\n\nThis field and the `image` field are mutually exclusive."
+ example: 1234
+ group:
+ x-linode-filterable: true
+ deprecated: true
+ example: "Linode-Group"
+ type: "string"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ x-akamai:
+ labels:
+ - "Filterable"
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ interfaces:
+ description: "An array of Network Interfaces to add to this Linode's Configuration Profile. At least one and up to three Interface objects can exist in this array. The position in the array determines which of the Linode's network Interfaces is configured:\n\n- First [0]: eth0\n- Second [1]: eth1\n- Third [2]: eth2\n\nWhen updating a Linode's Interfaces, _each Interface must be redefined_. An empty `interfaces` array results in a default `public` type Interface configuration only.\n\nIf no public Interface is configured, public IP addresses are still assigned to the Linode but will not be usable without manual configuration.\n\n__Note__. Changes to Linode Interface configurations can be enabled by rebooting the Linode.\n\n`vpc` details\n\nSee the [VPC documentation](https://www.linode.com/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.\n\n`vlan` details\n\n- Only Next Generation Network (NGN) data centers support VLANs. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated or cloned because of an incompatibility, you will be prompted to select a different data center or contact support.\n- See the [VLANs Overview](https://www.linode.com/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations."
+ type: "array"
+ uniqueItems: true
+ x-akamai:
+ file-path: "schemas/linode-config-interfaces.yaml"
+ minItems: 1
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/linode-config-interface.yaml"
+ properties:
+ ipv4:
+ type: "object"
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ properties:
+ vpc:
+ format: "ip"
+ type: "string"
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ nullable: true
+ example: "10.0.0.2"
+ nat_1_1:
+ format: "ip"
+ nullable: true
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ type: "string"
+ example: "203.0.113.2"
+ additionalProperties: false
+ active:
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ example: true
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID representing this Interface."
+ type: "integer"
+ readOnly: true
+ example: 101
+ vpc_id:
+ nullable: true
+ description: "__Read-only__ The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces."
+ type: "integer"
+ readOnly: true
+ example: 111
+ purpose:
+ x-linode-cli-display: 3
+ description: "The type of Interface.\n\n- `public`\n - Only one `public` Interface per Linode can be defined.\n - The Linode's default public IPv4 address is assigned to the `public` Interface.\n - A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](https://www.linode.com/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.\n\n- `vlan`\n - Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.\n - The Linode is configured to use the specified `ipam_address`, if any.\n\n- `vpc`\n - Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.\n - When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information."
+ type: "string"
+ example: "vlan"
+ enum:
+ - "public"
+ - "vlan"
+ - "vpc"
+ subnet_id:
+ example: 101
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface.\n\nIn requests, this value is used to assign a Linode to a VPC Subnet.\n\n- Required for `vpc` type Interfaces.\n- Returns `null` for non-`vpc` type Interfaces.\n- Once a VPC Subnet is assigned to an Interface, it cannot be updated.\n- The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet."
+ nullable: true
+ primary:
+ type: "boolean"
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ example: true
+ label:
+ pattern: "[a-zA-Z0-9-]+"
+ maxLength: 64
+ example: "example-interface"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ description: "__Filterable__ The name of this Interface.\n\nFor `vlan` purpose Interfaces:\n\n- Required.\n- Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).\n- If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, run the [List VLANs](https://techdocs.akamai.com/linode-api/reference/get-vlans) operation.\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ minLength: 1
+ ipam_address:
+ example: "10.0.0.1/24"
+ type: "string"
+ description: "This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.\n\nFor `vlan` purpose Interfaces:\n\n- Must be unique among the Linode's Interfaces to avoid conflicting addresses.\n- Should be unique among devices attached to the VLAN to avoid conflict.\n- The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](https://www.linode.com/docs/guides/manual-network-configuration/).\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ nullable: true
+ format: "ip/netmask"
+ x-linode-cli-display: 4
+ ip_ranges:
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ items:
+ format: "ip"
+ type: "string"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ type: "array"
+ nullable: true
+ type: "object"
+ description: "The Network Interface to apply to this Linode's configuration profile."
+ required:
+ - "purpose"
+ example:
+ -
+ ipv4: null
+ id: 101
+ vpc_id: null
+ purpose: "public"
+ ipam_address: null
+ primary: false
+ label: null
+ subnet_id: null
+ -
+ ipv4:
+ nat_1_1: null
+ vpc: "10.0.0.2"
+ id: 102
+ vpc_id: null
+ purpose: "vlan"
+ ipam_address: "10.0.0.1/24"
+ label: "vlan-1"
+ primary: false
+ subnet_id: null
+ -
+ ipv4:
+ vpc: "10.0.1.2"
+ nat_1_1: "203.0.113.2"
+ id: 103
+ vpc_id: 111
+ purpose: "vpc"
+ label: null
+ ipam_address: null
+ primary: true
+ subnet_id: 101
+ maxItems: 3
+ region:
+ description: "The [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode will be located."
+ type: "string"
+ example: "us-east"
+ private_ip:
+ description: "If true, the created Linode will have private networking enabled and assigned a private IPv4 address."
+ type: "boolean"
+ example: true
+ x-example:
+ x-ref: "../examples/post-linode-instance.json"
+ description: "The requested initial state of a new Linode."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ watchdog_enabled:
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ type: "boolean"
+ example: true
+ has_user_data:
+ type: "boolean"
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ readOnly: true
+ example: true
+ placement_group:
+ nullable: true
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ type: "object"
+ properties:
+ label:
+ x-linode-filterable: true
+ example: "PG_Miami_failover"
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 10
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ id:
+ example: 528
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ nullable: false
+ x-linode-cli-display: null
+ placement_group_type:
+ x-linode-filterable: true
+ enum:
+ - "anti_affinity:local"
+ example: "anti-affinity:local"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: null
+ placement_group_policy:
+ example: "strict"
+ enum:
+ - "strict"
+ - "flexible"
+ type: "string"
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ x-linode-cli-display: null
+ additionalProperties: false
+ readOnly: true
+ image:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ nullable: true
+ readOnly: true
+ allOf:
+ -
+ example: "linode/debian9"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ type: "string"
+ x-linode-filterable: true
+ example: "linode/debian10"
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Linode was last updated."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ label:
+ minLength: 3
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ type: "string"
+ maxLength: 64
+ example: "linode123"
+ x-linode-filterable: true
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ type:
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ readOnly: true
+ example: "g6-standard-1"
+ region:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ type: "string"
+ readOnly: true
+ x-linode-filterable: true
+ example: "us-east"
+ ipv4:
+ items:
+ type: "string"
+ format: "ipv4"
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ type: "array"
+ readOnly: true
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ x-linode-filterable: true
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Linode was created."
+ type: "string"
+ format: "date-time"
+ hypervisor:
+ type: "string"
+ description: "__Read-only__ The virtualization software powering this Linode."
+ example: "kvm"
+ enum:
+ - "kvm"
+ readOnly: true
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ id:
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ type: "integer"
+ readOnly: true
+ example: 123
+ x-linode-filterable: true
+ ipv6:
+ nullable: true
+ type: "string"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ format: "ipv6/128"
+ example: "c001:d00d::1337/128"
+ readOnly: true
+ specs:
+ type: "object"
+ description: "__Read-only__ Information about the resources available to this Linode."
+ properties:
+ transfer:
+ readOnly: true
+ example: 4000
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ type: "integer"
+ memory:
+ type: "integer"
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ readOnly: true
+ example: 4096
+ disk:
+ type: "integer"
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ readOnly: true
+ example: 81920
+ vcpus:
+ readOnly: true
+ example: 2
+ type: "integer"
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ gpus:
+ example: 0
+ readOnly: true
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ type: "integer"
+ additionalProperties: false
+ readOnly: true
+ status:
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ readOnly: true
+ example: "running"
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ x-linode-cli-color:
+ default_: "yellow"
+ billing_suspension: "red"
+ offline: "red"
+ running: "green"
+ group:
+ example: "Linode-Group"
+ deprecated: true
+ x-linode-filterable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ type: "string"
+ alerts:
+ type: "object"
+ properties:
+ transfer_quota:
+ type: "integer"
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ example: 80
+ cpu:
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ example: 180
+ io:
+ example: 10000
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ network_out:
+ type: "integer"
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ example: 10
+ network_in:
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ example: 10
+ additionalProperties: false
+ host_uuid:
+ format: "uuid"
+ type: "string"
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ readOnly: true
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ backups:
+ additionalProperties: false
+ properties:
+ schedule:
+ additionalProperties: false
+ properties:
+ day:
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ example: "Saturday"
+ nullable: true
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ window:
+ nullable: true
+ type: "string"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ example: "W22"
+ type: "object"
+ last_successful:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ enabled:
+ example: true
+ readOnly: true
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ type: "boolean"
+ available:
+ type: "boolean"
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ example: true
+ readOnly: true
+ type: "object"
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ type: "object"
+ additionalProperties: false
+ title: "Linode"
+ x-example:
+ x-ref: "../examples/post-linode-instance-200.json"
+ description: "A new Linode is being created."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ x-linode-cli-action: "create"
+ description: "Creates a Linode Instance on your Account. In order for this request to complete successfully, your User must have the `add_linodes` grant. Creating a new Linode will incur a charge on your Account.\n\nLinodes can be created using one of the available Types. Run [List Linode types](https://techdocs.akamai.com/linode-api/reference/get-linode-types) to get more information about each Type's specs and cost.\n\nLinodes can be created in any one of our available Regions, which are accessible from the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation.\n\nIn an effort to fight spam, Linode restricts outbound connections on ports 25, 465, and 587 on all Linodes for new accounts created after November 5th, 2019. For more information, see our guide on [Running a Mail Server](https://www.linode.com/docs/guides/running-a-mail-server/).\n\n__Important__. You must be an unrestricted User in order to add or modify tags on Linodes.\n\nLinodes can be created in a number of ways:\n\n- Using a Linode Public Image distribution or a Private Image you created based on another Linode.\n\n - Run the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images.\n\n - The Linode will be `running` after it completes `provisioning`.\n - A default config with two Disks, one being a 512 swap disk, is created.\n - `swap_size` can be used to customize the swap disk size.\n - Requires a `root_pass` be supplied to use for the root User's Account.\n - It is recommended to supply SSH keys for the root User using the `authorized_keys` field.\n - You may also supply a list of usernames via the `authorized_users` field.\n - These users must have an SSH Key associated with your Profile first. See the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key)) operation for more information.\n\n- Using cloud-init with [Metadata](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata/).\n - Automate system configuration and software installation by providing a base-64 encoded [cloud-config](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata-cloud-config/) file.\n - Requires a compatible Image. You can determine compatible Images by checking for `cloud-init` under `capabilities` when running [List images](https://techdocs.akamai.com/linode-api/reference/get-images).\n - Requires a compatible Region. You can determine compatible Regions by checking for `Metadata` under `capabilities` when running [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions).\n\n- Using a StackScript.\n\n - Run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts) for a list of available StackScripts.\n - The Linode will be `running` after it completes `provisioning`.\n - Requires a compatible Image to be supplied.\n - Run [Get a StackScript](https://techdocs.akamai.com/linode-api/reference/get-stack-script) for compatible Images.\n - Requires a `root_pass` be supplied to use for the root User's Account.\n - It is recommended to supply SSH keys for the root User using the `authorized_keys` field.\n - You may also supply a list of usernames via the `authorized_users` field.\n - These users must have an SSH Key associated with your Profile first. See [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) for more information.\n\n- Using one of your other Linode's backups.\n - You must create a Linode large enough to accommodate the Backup's size.\n - The Disks and Config will match that of the Linode that was backed up.\n - The `root_pass` will match that of the Linode that was backed up.\n\n- Attached to a private VLAN.\n - Review the `interfaces` property of the [Request Body Schema](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) for details.\n - For more information, see our guide on [Getting Started with VLANs](https://www.linode.com/docs/products/networking/vlans/get-started/).\n\n- Create an empty Linode.\n - The Linode will remain `offline` and must be manually started.\n - Run [Boot a Linode](https://techdocs.akamai.com/linode-api/reference/post-boot-linode-instance).\n - Disks and Configs must be created manually.\n - This is only recommended for advanced use cases.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes create \\\n --label linode123 \\\n --root_pass aComplex@Password \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --region us-east \\\n --disk_encryption enabled\\\n --placement_group.id 528 \\\n --type g6-standard-2 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --metadata.user_data \"I2Nsb3VkLWNvbmZpZw==\" \\\n --firewall_id 9000\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_linodes"
+ x-linode-charge: true
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"backup_id\": 1234,\n \"backups_enabled\": true,\n \"swap_size\": 512,\n \"image\": \"linode/ubuntu22.04\",\n \"root_pass\": \"aComplexP@ssword\",\n \"stackscript_id\": 10079,\n \"stackscript_data\": {\n \"gh_username\": \"linode\"\n },\n \"interfaces\": [\n {\n \"purpose\": \"public\",\n \"label\": \"\",\n \"ipam_address\": \"\"\n },\n {\n \"purpose\": \"vlan\",\n \"label\": \"vlan-1\",\n \"ipam_address\": \"10.0.0.1/24\"\n },\n {\n \"purpose\": \"vpc\",\n \"primary\": false,\n \"label\": \"\",\n \"ipam_address\": \"\",\n \"subnet_id\": 101,\n \"ipv4\": {\n \"vpc\": \"10.0.1.2\",\n \"nat_1_1\": \"any\"\n }\n }\n ],\n \"authorized_keys\": [\n \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\"\n ],\n \"authorized_users\": [\n \"myUser\",\n \"secondaryUser\"\n ],\n \"booted\": true,\n \"label\": \"linode123\",\n \"type\": \"g6-standard-2\",\n \"region\": \"us-east\",\n \"disk_encryption\": \"enabled\",\n \"group\": \"Linode-Group\",\n \"placement_group\": {\n \"id\": 528\n },\n \"metadata\": {\n \"user_data\": \"I2Nsb3VkLWNvbmZpZw==\"\n },\n \"firewall_id\": 9000\n }' \\\n https://api.linode.com/v4/linode/instances"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes create \\\n --label linode123 \\\n --root_pass aComplex@Password \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --region us-east \\\n --disk_encryption enabled\\\n --placement_group.id 528 \\\n --type g6-standard-2 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --metadata.user_data \"I2Nsb3VkLWNvbmZpZw==\" \\\n --firewall_id 9000"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes create \\\n --label linode123 \\\n --root_pass aComplex@Password \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --region us-east \\\n --disk_encryption enabled\\\n --placement_group.id 528 \\\n --type g6-standard-2 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --metadata.user_data \"I2Nsb3VkLWNvbmZpZw==\" \\\n --firewall_id 9000"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "post-linode-instance"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-linode-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "createLinodeInstance"
+ summary: "Create a Linode"
+ x-original-op-title: "Linode Create"
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-akamai:
+ file-path: "paths/linode-instances.yaml"
+ path-info: "/{apiVersion}/linode/instances"
+ get:
+ parameters:
+ -
+ schema:
+ x-akamai:
+ file-path: "schemas/x-filter.yaml"
+ description: "Specifies the `X-Filter` header JSON object's filtering and sort criteria."
+ oneOf:
+ -
+ x-akamai:
+ file-path: "schemas/x-filter-criteria.yaml"
+ description: "Specify the name of the data field and the accompanying value."
+ type: "object"
+ title: "Simple filter"
+ -
+ title: "Filter and sort criteria"
+ additionalProperties: false
+ type: "object"
+ properties:
+ +order_by:
+ description: "Order results based on the provided attribute. The attribute needs to be filterable."
+ type: "string"
+ +neq:
+ description: "The provided string is left out of the results."
+ type: "string"
+ +or:
+ type: "array"
+ description: "At least one condition needs to be true."
+ items:
+ type: "object"
+ description: "Specify the name of the data field and the accompanying value."
+ x-akamai:
+ file-path: "schemas/x-filter-criteria.yaml"
+ title: "Simple filter"
+ +lte:
+ description: "The value needs to be less than or equal to the provided number."
+ type: "number"
+ +gte:
+ description: "The value needs to be greater than or equal to the provided number."
+ type: "number"
+ +and:
+ description: "All conditions need to be true."
+ type: "array"
+ items:
+ type: "object"
+ description: "Specify the name of the data field and the accompanying value."
+ x-akamai:
+ file-path: "schemas/x-filter-criteria.yaml"
+ title: "Simple filter"
+ +lt:
+ type: "number"
+ description: "The value needs to be less than the provided number."
+ +order:
+ enum:
+ - "asc"
+ - "desc"
+ type: "string"
+ description: "Sort in ascending (`asc`) or descending (`desc`) order. This defaults to `asc`. Requires `+order_by`."
+ default: "asc"
+ +gt:
+ description: "The value needs to be greater than the provided number."
+ type: "number"
+ +contains:
+ type: "string"
+ description: "The provided string needs to be in the value."
+ name: "X-Filter"
+ description: "Specifies a JSON object to filter down the results. See [Filtering and sorting](filtering-and-sorting) for details."
+ in: "header"
+ required: false
+ x-akamai:
+ file-path: "parameters/x-filter-header.yaml"
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ -
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ schema:
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ default: 100
+ x-original-op-id: "getLinodeInstances"
+ summary: "List Linodes"
+ x-original-op-title: "Linodes List"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ x-linode-grant: "read_only"
+ description: "Returns a paginated list of Linodes you have permission to view.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes list"
+ title: "CLI"
+ -
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "get-linode-instances"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-linode-instances-200.yaml"
+ properties:
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ title: "Linode"
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ properties:
+ alerts:
+ type: "object"
+ properties:
+ cpu:
+ example: 180
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ transfer_quota:
+ example: 80
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ io:
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ example: 10000
+ network_in:
+ type: "integer"
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ example: 10
+ network_out:
+ type: "integer"
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ example: 10
+ additionalProperties: false
+ backups:
+ additionalProperties: false
+ properties:
+ enabled:
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ type: "boolean"
+ readOnly: true
+ example: true
+ available:
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ type: "boolean"
+ readOnly: true
+ example: true
+ schedule:
+ additionalProperties: false
+ type: "object"
+ properties:
+ window:
+ nullable: true
+ type: "string"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ example: "W22"
+ day:
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ nullable: true
+ example: "Saturday"
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ last_successful:
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "object"
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ host_uuid:
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ type: "string"
+ format: "uuid"
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ readOnly: true
+ status:
+ type: "string"
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ x-linode-cli-display: 6
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ example: "running"
+ readOnly: true
+ x-linode-cli-color:
+ running: "green"
+ default_: "yellow"
+ offline: "red"
+ billing_suspension: "red"
+ group:
+ deprecated: true
+ x-linode-filterable: true
+ example: "Linode-Group"
+ type: "string"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ x-akamai:
+ labels:
+ - "Filterable"
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ hypervisor:
+ description: "__Read-only__ The virtualization software powering this Linode."
+ type: "string"
+ readOnly: true
+ enum:
+ - "kvm"
+ example: "kvm"
+ ipv6:
+ format: "ipv6/128"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ type: "string"
+ nullable: true
+ readOnly: true
+ example: "c001:d00d::1337/128"
+ specs:
+ type: "object"
+ description: "__Read-only__ Information about the resources available to this Linode."
+ properties:
+ gpus:
+ readOnly: true
+ example: 0
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ type: "integer"
+ vcpus:
+ readOnly: true
+ example: 2
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ type: "integer"
+ disk:
+ example: 81920
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ memory:
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ type: "integer"
+ example: 4096
+ readOnly: true
+ transfer:
+ type: "integer"
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ readOnly: true
+ example: 4000
+ additionalProperties: false
+ readOnly: true
+ id:
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ region:
+ type: "string"
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ created:
+ type: "string"
+ description: "__Read-only__ When this Linode was created."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ ipv4:
+ readOnly: true
+ x-linode-filterable: true
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "ipv4"
+ x-linode-cli-display: 7
+ items:
+ type: "string"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ type: "array"
+ type:
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ readOnly: true
+ example: "g6-standard-1"
+ label:
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 3
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ example: "linode123"
+ maxLength: 64
+ x-linode-filterable: true
+ updated:
+ description: "__Read-only__ When this Linode was last updated."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ has_user_data:
+ type: "boolean"
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ example: true
+ readOnly: true
+ image:
+ x-linode-filterable: true
+ example: "linode/debian10"
+ readOnly: true
+ allOf:
+ -
+ example: "linode/debian9"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ type: "string"
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ placement_group:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ placement_group_policy:
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ x-linode-cli-display: null
+ enum:
+ - "strict"
+ - "flexible"
+ example: "strict"
+ label:
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ x-linode-cli-display: 10
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ minLength: 1
+ id:
+ example: 528
+ x-linode-cli-display: null
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ nullable: false
+ placement_group_type:
+ x-linode-filterable: true
+ enum:
+ - "anti_affinity:local"
+ example: "anti-affinity:local"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: null
+ nullable: true
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ type: "object"
+ watchdog_enabled:
+ type: "boolean"
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ example: true
+ type: "object"
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-linode-instances-200.json"
+ description: "Returns an array of all Linodes on your Account."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ /{apiVersion}/managed/stats:
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ get:
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-managed-stats-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-managed-stats-200.yaml"
+ properties:
+ data:
+ oneOf:
+ -
+ type: "object"
+ description: "A collection of graph data returned for managed stats."
+ properties:
+ net_out:
+ description: "Outbound network traffic stats from the last 24 hours."
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/stats-data.yaml"
+ properties:
+ y:
+ description: "__Read-only__ A stats graph data point."
+ type: "integer"
+ readOnly: true
+ example: 29.94
+ x:
+ type: "integer"
+ description: "__Read-only__ A stats graph data point."
+ readOnly: true
+ example: 11513761600000
+ description: "A stat data point."
+ type: "object"
+ additionalProperties: false
+ cpu:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "A stat data point."
+ properties:
+ x:
+ type: "integer"
+ description: "__Read-only__ A stats graph data point."
+ readOnly: true
+ example: 11513761600000
+ y:
+ type: "integer"
+ description: "__Read-only__ A stats graph data point."
+ readOnly: true
+ example: 29.94
+ x-akamai:
+ file-path: "schemas/stats-data.yaml"
+ description: "CPU usage stats from the last 24 hours."
+ type: "array"
+ swap:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/stats-data.yaml"
+ properties:
+ x:
+ readOnly: true
+ example: 11513761600000
+ type: "integer"
+ description: "__Read-only__ A stats graph data point."
+ y:
+ description: "__Read-only__ A stats graph data point."
+ type: "integer"
+ readOnly: true
+ example: 29.94
+ description: "A stat data point."
+ type: "object"
+ description: "Swap usage stats from the last 24 hours."
+ type: "array"
+ net_in:
+ description: "Inbound network traffic stats from the last 24 hours."
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "A stat data point."
+ properties:
+ x:
+ description: "__Read-only__ A stats graph data point."
+ type: "integer"
+ example: 11513761600000
+ readOnly: true
+ y:
+ readOnly: true
+ example: 29.94
+ description: "__Read-only__ A stats graph data point."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/stats-data.yaml"
+ disk:
+ items:
+ type: "object"
+ description: "A stat data point."
+ x-akamai:
+ file-path: "schemas/stats-data.yaml"
+ properties:
+ x:
+ example: 11513761600000
+ readOnly: true
+ description: "__Read-only__ A stats graph data point."
+ type: "integer"
+ y:
+ description: "__Read-only__ A stats graph data point."
+ type: "integer"
+ readOnly: true
+ example: 29.94
+ additionalProperties: false
+ type: "array"
+ description: "Disk usage stats from the last 24 hours."
+ x-akamai:
+ file-path: "schemas/stats-data-available.yaml"
+ x-linode-ref-name: "Stats Available"
+ title: "Stats available"
+ additionalProperties: false
+ -
+ x-akamai:
+ file-path: "schemas/stats-data-unavailable.yaml"
+ items:
+ type: "string"
+ example: "Graphs are not yet available."
+ description: "__Read-only__ An array of error messages if managed stats are unavailable."
+ type: "array"
+ readOnly: true
+ title: "Stats unavailable"
+ x-linode-ref-name: "Stats Unavailable"
+ type: "object"
+ discriminator:
+ propertyName: "x-linode-ref-name"
+ type: "object"
+ additionalProperties: false
+ description: "A list of Managed Stats from the last 24 hours."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ x-original-op-title: "Managed Stats List"
+ summary: "List managed stats"
+ x-original-op-id: "getManagedStats"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-managed-stats"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-managed-stats"
+ x-linode-grant: "unrestricted only"
+ description: "Returns a list of Managed Stats on your Account in the form of x and y data points. You can use these data points to plot your own graph visualizations. These stats reflect the last 24 hours of combined usage across all managed Linodes on your account giving you a high-level snapshot of data for the following:\n\n- cpu\n- disk\n- swap\n- network in\n- network out\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed stats-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "stats-list"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli managed stats-list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/managed/stats"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli managed stats-list"
+ x-akamai:
+ path-info: "/{apiVersion}/managed/stats"
+ file-path: "paths/managed-stats.yaml"
+ x-linode-cli-command: "managed"
+ /{apiVersion}/support/tickets/{ticketId}/attachments:
+ x-linode-cli-command: "tickets"
+ post:
+ tags:
+ - "Support"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ requestBody:
+ required: true
+ content:
+ multipart/form-data:
+ schema:
+ properties:
+ file:
+ description: "The local, absolute path to the file you want to attach to your Support Ticket."
+ type: "string"
+ example: "/Users/LinodeGuy/pictures/screen_shot.jpg"
+ required:
+ - "file"
+ x-akamai:
+ file-path: "schemas/attachment-add-form-data.yaml"
+ additionalProperties: false
+ description: "Add an attachment."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ x-example:
+ x-ref: "../examples/post-ticket-attachment-200.json"
+ description: "Attachment created."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ x-original-op-id: "createTicketAttachment"
+ x-original-op-title: "Support Ticket Attachment Create"
+ summary: "Create a support ticket attachment"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n -F 'file=@/Users/LinodeGuy/pictures/screen_shot.jpg' \\\n https://api.linode.com/v4/support/tickets/11223344/attachments"
+ lang: "Shell"
+ x-linode-grant: "read_write"
+ description: "Adds a file attachment to an existing Support Ticket on your Account. File attachments are used to assist our Support team in resolving your Ticket. Examples of attachments are screen shots and text files that provide additional information.\n\nThe file attachment is submitted in the request as multipart/form-data.\n\n__Note__. Accepted file extensions include: .gif, .jpg, .jpeg, .pjpg, .pjpeg, .tif, .tiff, .png, .pdf, or .txt.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "upload-attachment"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-ticket-attachment"
+ x-linode-cli-skip: true
+ operationId: "post-ticket-attachment"
+ x-akamai:
+ path-info: "/{apiVersion}/support/tickets/{ticketId}/attachments"
+ file-path: "paths/attachments.yaml"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ required: true
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "integer"
+ description: "The ID of the Support Ticket."
+ name: "ticketId"
+ required: true
+ x-akamai:
+ file-path: "parameters/ticket-id.yaml"
+ in: "path"
+ /{apiVersion}/managed/services:
+ post:
+ responses:
+ 200:
+ description: "Service created."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ type: "object"
+ properties:
+ notes:
+ example: "The service name is my-cool-application"
+ nullable: true
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ type: "string"
+ address:
+ example: "https://example.org"
+ maxLength: 100
+ minLength: 3
+ x-linode-cli-display: 5
+ format: "url"
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ type: "string"
+ body:
+ nullable: true
+ description: "What to expect to find in the response body for the Service to be considered up."
+ type: "string"
+ maxLength: 100
+ example: "it worked"
+ minLength: 0
+ label:
+ x-linode-cli-display: 4
+ type: "string"
+ description: "The label for this Service. This is for display purposes only."
+ minLength: 3
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ maxLength: 64
+ example: "prod-1"
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Service was last updated."
+ readOnly: true
+ example: "2018-03-01T00:01:01"
+ timeout:
+ example: 30
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ type: "integer"
+ minimum: 1
+ maximum: 255
+ id:
+ example: 9944
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This Service's unique ID."
+ x-linode-cli-display: 1
+ region:
+ type: "string"
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ example: null
+ service_type:
+ enum:
+ - "url"
+ - "tcp"
+ example: "url"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "How this Service is monitored."
+ created:
+ description: "__Read-only__ When this Managed Service was created."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ status:
+ x-linode-cli-color:
+ disabled: "red"
+ default_: "yellow"
+ ok: "green"
+ example: "ok"
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The current status of this Service."
+ x-linode-cli-display: 2
+ credentials:
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ type: "array"
+ items:
+ type: "integer"
+ example: 9991
+ consultation_group:
+ example: "on-call"
+ maxLength: 50
+ type: "string"
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ x-linode-cli-display: 6
+ minLength: 0
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ x-example:
+ x-ref: "../examples/post-managed-service-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ description: "Information about the service to monitor."
+ content:
+ application/json:
+ schema:
+ required:
+ - "label"
+ - "service_type"
+ - "address"
+ - "timeout"
+ x-akamai:
+ file-path: "schemas/added-post-managed-service.yaml"
+ allOf:
+ -
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ properties:
+ status:
+ x-linode-cli-display: 2
+ description: "__Read-only__ The current status of this Service."
+ type: "string"
+ x-linode-cli-color:
+ disabled: "red"
+ ok: "green"
+ default_: "yellow"
+ readOnly: true
+ example: "ok"
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ credentials:
+ items:
+ type: "integer"
+ example: 9991
+ type: "array"
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ consultation_group:
+ minLength: 0
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ maxLength: 50
+ example: "on-call"
+ region:
+ example: null
+ type: "string"
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ service_type:
+ type: "string"
+ description: "How this Service is monitored."
+ x-linode-cli-display: 3
+ enum:
+ - "url"
+ - "tcp"
+ example: "url"
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Service was created."
+ id:
+ example: 9944
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This Service's unique ID."
+ x-linode-cli-display: 1
+ timeout:
+ maximum: 255
+ type: "integer"
+ minimum: 1
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ example: 30
+ updated:
+ readOnly: true
+ example: "2018-03-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Managed Service was last updated."
+ type: "string"
+ label:
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ maxLength: 64
+ example: "prod-1"
+ type: "string"
+ description: "The label for this Service. This is for display purposes only."
+ x-linode-cli-display: 4
+ minLength: 3
+ notes:
+ example: "The service name is my-cool-application"
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ type: "string"
+ nullable: true
+ address:
+ example: "https://example.org"
+ maxLength: 100
+ minLength: 3
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ type: "string"
+ x-linode-cli-display: 5
+ format: "url"
+ body:
+ example: "it worked"
+ maxLength: 100
+ minLength: 0
+ nullable: true
+ description: "What to expect to find in the response body for the Service to be considered up."
+ type: "string"
+ type: "object"
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-managed-service.json"
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-managed-service"
+ operationId: "post-managed-service"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli managed service-create \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is \\\n my-cool-application\" \\\n --credentials 9991"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"service_type\": \"url\",\n \"label\": \"prod-1\",\n \"address\": \"https://example.org\",\n \"timeout\": 30,\n \"body\": \"it worked\",\n \"consultation_group\": \"on-call\",\n \"notes\": \"The service name is my-cool-application\",\n \"credentials\": [\n 9991\n ]\n }' \\\n https://api.linode.com/v4/managed/services"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli managed service-create \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is \\\n my-cool-application\" \\\n --credentials 9991"
+ x-linode-grant: "unrestricted only"
+ description: "Creates a Managed Service. Linode Managed will begin monitoring this service and reporting and attempting to resolve any Issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-create \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is \\\n my-cool-application\" \\\n --credentials 9991\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "service-create"
+ x-original-op-title: "Managed Service Create"
+ summary: "Create a managed service"
+ x-original-op-id: "createManagedService"
+ x-linode-cli-command: "managed"
+ parameters:
+ -
+ required: true
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ x-akamai:
+ file-path: "paths/services.yaml"
+ path-info: "/{apiVersion}/managed/services"
+ get:
+ x-original-op-title: "Managed Services List"
+ summary: "List managed services"
+ x-original-op-id: "getManagedServices"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-managed-services"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-managed-services"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli managed services-list"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/managed/services"
+ lang: "Shell"
+ -
+ source: "linode-cli managed services-list"
+ lang: "CLI"
+ x-linode-grant: "unrestricted only"
+ description: "Returns a paginated list of Managed Services on your Account. These are the services Linode Managed is monitoring and will report and attempt to resolve issues with.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed services-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "services-list"
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ description: "A paginated list of Managed Services."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-managed-services-200.json"
+ schema:
+ properties:
+ results:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ pages:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ credentials:
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ type: "array"
+ items:
+ example: 9991
+ type: "integer"
+ consultation_group:
+ example: "on-call"
+ maxLength: 50
+ minLength: 0
+ x-linode-cli-display: 6
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ type: "string"
+ status:
+ readOnly: true
+ example: "ok"
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ x-linode-cli-color:
+ disabled: "red"
+ default_: "yellow"
+ ok: "green"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The current status of this Service."
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Managed Service was created."
+ type: "string"
+ format: "date-time"
+ region:
+ type: "string"
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ example: null
+ service_type:
+ enum:
+ - "url"
+ - "tcp"
+ example: "url"
+ type: "string"
+ description: "How this Service is monitored."
+ x-linode-cli-display: 3
+ id:
+ example: 9944
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This Service's unique ID."
+ x-linode-cli-display: 1
+ timeout:
+ example: 30
+ minimum: 1
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ type: "integer"
+ maximum: 255
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Service was last updated."
+ readOnly: true
+ example: "2018-03-01T00:01:01"
+ label:
+ example: "prod-1"
+ maxLength: 64
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ minLength: 3
+ x-linode-cli-display: 4
+ description: "The label for this Service. This is for display purposes only."
+ type: "string"
+ body:
+ example: "it worked"
+ maxLength: 100
+ description: "What to expect to find in the response body for the Service to be considered up."
+ type: "string"
+ nullable: true
+ minLength: 0
+ address:
+ maxLength: 100
+ example: "https://example.org"
+ minLength: 3
+ format: "url"
+ x-linode-cli-display: 5
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ type: "string"
+ notes:
+ example: "The service name is my-cool-application"
+ nullable: true
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ type: "object"
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ x-akamai:
+ file-path: "schemas/added-get-managed-services-200.yaml"
+ type: "object"
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ /{apiVersion}/linode/instances/{linodeId}/reboot:
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/reboot"
+ file-path: "paths/reboot.yaml"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "integer"
+ description: "ID of the linode to reboot."
+ name: "linodeId"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-84c49e3c.yaml"
+ in: "path"
+ x-linode-cli-command: "linodes"
+ post:
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-reboot-linode-instance.json"
+ schema:
+ properties:
+ config_id:
+ type: "integer"
+ description: "The Linode Config ID to reboot into. If null or omitted, the last booted config will be used. If there was no last booted config and this Linode only has one config, it will be used. If a config cannot be determined, an error will be returned."
+ example: null
+ x-akamai:
+ file-path: "schemas/added-post-reboot-linode-instance.yaml"
+ type: "object"
+ additionalProperties: false
+ description: "Optional reboot parameters."
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-reboot-linode-instance-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ description: "Reboot started."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/linode/instances/123/reboot"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes reboot 123"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes reboot 123"
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "reboot"
+ description: "Reboots a Linode you have permission to modify. If any actions are currently running or queued, those actions must be completed first before you can initiate a reboot.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes reboot 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ operationId: "post-reboot-linode-instance"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-reboot-linode-instance"
+ x-original-op-id: "rebootLinodeInstance"
+ summary: "Reboot a Linode"
+ x-original-op-title: "Linode Reboot"
+ /{apiVersion}/account/users/{username}:
+ x-linode-cli-command: "users"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Account"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-user-200.json"
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ properties:
+ password_created:
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ type: "string"
+ nullable: true
+ tfa_enabled:
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ example: true
+ readOnly: true
+ email:
+ format: "email"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ example: "example_user@linode.com"
+ ssh_keys:
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ items:
+ type: "string"
+ example:
+ - "home-pc"
+ - "laptop"
+ readOnly: true
+ restricted:
+ type: "boolean"
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ x-linode-cli-display: 3
+ example: true
+ username:
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ x-linode-filterable: true
+ maxLength: 32
+ example: "example_user"
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ last_login:
+ additionalProperties: false
+ readOnly: true
+ nullable: true
+ type: "object"
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ properties:
+ status:
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ type: "string"
+ readOnly: true
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ login_datetime:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ verified_phone_number:
+ example: "+5555555555"
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ format: "phone"
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ type: "object"
+ -
+ additionalProperties: false
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ properties:
+ user_type:
+ readOnly: true
+ example: "parent"
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/added-get-user-200.yaml"
+ description: "The requested User object."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ additionalProperties: false
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "getUser"
+ summary: "Get a user"
+ x-original-op-title: "User View"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/users/example_user"
+ lang: "Shell"
+ -
+ source: "linode-cli users view example_user"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli users view example_user"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-linode-cli-action: "view"
+ x-linode-grant: "unrestricted only"
+ description: "Returns information about a single user on your account.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users view example_user\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-user"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-user"
+ delete:
+ x-original-op-title: "User Delete"
+ summary: "Delete a user"
+ x-original-op-id: "deleteUser"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-user"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-user"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli users delete example_user"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/account/users/example_user"
+ lang: "Shell"
+ -
+ source: "linode-cli users delete example_user"
+ lang: "CLI"
+ x-linode-grant: "unrestricted only"
+ description: "Deletes a user. The API immediately logs the user out and removes all of its `grants`.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't delete a child account parent user (proxy user). The API returns a 403 error if you target a proxy user with this operation.\n\n- A parent account using an unrestricted proxy user can use this operation to delete a child account user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users delete example_user\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ responses:
+ 200:
+ description: "User deleted successfully."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-user-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ put:
+ summary: "Update a user"
+ x-original-op-title: "User Update"
+ x-original-op-id: "updateUser"
+ operationId: "put-user"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-user"
+ x-linode-cli-action: "update"
+ description: "Update information about a user on your account, including its restricted status. When setting a user to `restricted`, the API sets no grants for it. You need to set grants so that user can access things on the account.\n\n__Note__. This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't edit the `username` or `email` values for the child account parent user (proxy user). These are predefined for the proxy user when you initially provision the parent-child relationship. Only a proxy user's `restricted` status can be modified. This can only be done by an unrestricted child account user.\n\n- A parent account using an unrestricted proxy user in a child account can modify the `username`, `email`, and `restricted` status for an existing child account user.\n\n- A restricted account user--parent or child--can't change their user to `unrestricted`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users update example_user \\\n --username example_user \\\n --email example@linode.com \\\n --restricted true\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"username\": example_user,\n \"email\": example@linode.com,\n \"restricted\": true\n }' \\\n https://api.linode.com/v4/account/users/example_user"
+ -
+ source: "linode-cli users update example_user \\\n --username example_user \\\n --email example@linode.com \\\n --restricted true"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli users update example_user \\\n --username example_user \\\n --email example@linode.com \\\n --restricted true"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ responses:
+ 200:
+ content:
+ application/json:
+ example:
+ restricted: true
+ ssh_keys:
+ - "home-pc"
+ - "laptop"
+ email: "jkowalski@linode.com"
+ tfa_enabled: true
+ password_created: "2018-01-01T01:01:01"
+ verified_phone_number: "+5555555555"
+ last_login:
+ status: "successful"
+ login_datetime: "2018-01-01T01:01:01"
+ user_type: "parent"
+ username: "adevi"
+ schema:
+ allOf:
+ -
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ properties:
+ verified_phone_number:
+ format: "phone"
+ type: "string"
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ nullable: true
+ readOnly: true
+ example: "+5555555555"
+ last_login:
+ readOnly: true
+ properties:
+ status:
+ type: "string"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ example: "successful"
+ enum:
+ - "successful"
+ - "failed"
+ readOnly: true
+ login_datetime:
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ format: "date-time"
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ type: "object"
+ nullable: true
+ additionalProperties: false
+ username:
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ x-linode-filterable: true
+ maxLength: 32
+ example: "example_user"
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ restricted:
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ example: true
+ email:
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ type: "string"
+ x-linode-cli-display: 2
+ format: "email"
+ example: "example_user@linode.com"
+ ssh_keys:
+ items:
+ type: "string"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ type: "array"
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ tfa_enabled:
+ readOnly: true
+ example: true
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ password_created:
+ format: "date-time"
+ nullable: true
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ additionalProperties: false
+ -
+ type: "object"
+ description: "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality."
+ properties:
+ user_type:
+ description: "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users."
+ type: "string"
+ enum:
+ - "parent"
+ - "child"
+ - "proxy"
+ - "default"
+ example: "parent"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/user-type.yaml"
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-put-user-200.yaml"
+ description: "User updated successfully."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ requestBody:
+ description: "The information to update."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-user.json"
+ schema:
+ additionalProperties: false
+ properties:
+ restricted:
+ description: "If true, the User must be granted access to perform actions or access entities on this Account. Run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) for details on how to configure grants for a restricted User."
+ type: "boolean"
+ x-linode-cli-display: 3
+ example: true
+ email:
+ example: "example_user@linode.com"
+ type: "string"
+ description: "The email address for the User. Linode sends emails to this address for account management communications. May be used for other communications as configured."
+ x-linode-cli-display: 2
+ format: "email"
+ ssh_keys:
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of SSH Key labels added by this User.\n\nUsers can add keys with the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) operation.\n\nThese keys are deployed when this User is included in the `authorized_users` field of the following requests:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance)\n- [Create a disk](https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk)"
+ readOnly: true
+ example:
+ - "home-pc"
+ - "laptop"
+ tfa_enabled:
+ readOnly: true
+ example: true
+ type: "boolean"
+ description: "__Read-only__ A boolean value indicating if the User has Two Factor Authentication (TFA) enabled. Run the [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) operation to enable TFA."
+ password_created:
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The date and time when this User's current password was created.\n\nUser passwords are first created during the Account sign-up process, and updated using the [Reset Password](https://login.linode.com/forgot/password) webpage.\n\n`null` if this User has not created a password yet."
+ format: "date-time"
+ last_login:
+ readOnly: true
+ additionalProperties: false
+ type: "object"
+ description: "__Read-only__ Information for the most recent login attempt for this User.\n\n`null` if no login attempts have been made since creation of this User.\n\nRun the [List user logins](https://techdocs.akamai.com/linode-api/reference/get-account-logins) operation for additional login information."
+ nullable: true
+ properties:
+ status:
+ readOnly: true
+ example: "successful"
+ enum:
+ - "successful"
+ - "failed"
+ type: "string"
+ description: "__Read-only__ The result of the most recent login attempt for this User."
+ login_datetime:
+ type: "string"
+ description: "__Read-only__ The date and time of this User's most recent login attempt."
+ format: "date-time"
+ example: "2018-01-01T01:01:01"
+ readOnly: true
+ username:
+ pattern: "^[a-zA-Z0-9]((?![_-]{2,})[a-zA-Z0-9-_])+[a-zA-Z0-9]$"
+ example: "example_user"
+ maxLength: 32
+ x-linode-filterable: true
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The User's username. This is used for logging in, and may also be displayed alongside actions the User performs (for example, in Events or public StackScripts)."
+ minLength: 3
+ verified_phone_number:
+ format: "phone"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The phone number verified for this User Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this User Profile has no verified phone number."
+ readOnly: true
+ example: "+5555555555"
+ x-akamai:
+ file-path: "schemas/user.yaml"
+ type: "object"
+ description: "A User on your Account. Unrestricted users can log in and access information about your Account, while restricted users may only access entities or perform actions they've been granted access to."
+ x-akamai:
+ path-info: "/{apiVersion}/account/users/{username}"
+ file-path: "paths/username.yaml"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/username-path.yaml"
+ in: "path"
+ description: "The username to look up."
+ name: "username"
+ /{apiVersion}/lke/versions:
+ x-linode-cli-command: "lke"
+ get:
+ x-linode-grant: "read_only"
+ description: "List the Kubernetes versions available for deployment to a Kubernetes cluster.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke versions-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "versions-list"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli lke versions-list"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/lke/versions"
+ lang: "Shell"
+ -
+ source: "linode-cli lke versions-list"
+ lang: "CLI"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-lke-versions"
+ operationId: "get-lke-versions"
+ x-original-op-id: "getLKEVersions"
+ x-original-op-title: "Kubernetes Versions List"
+ summary: "List Kubernetes versions"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-lke-versions-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-lke-versions-200.yaml"
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ id:
+ type: "string"
+ description: "A Kubernetes version number available for deployment to a Kubernetes cluster in the format of <major>.<minor>, and the latest supported patch version."
+ example: "1.27"
+ x-akamai:
+ file-path: "schemas/lke-version.yaml"
+ type: "object"
+ description: "__Read-only__ LKE versions."
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "object"
+ additionalProperties: false
+ description: "Returns a list of Kubernetes versions available for deployment to a Kubernetes cluster."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_only"
+ x-akamai:
+ path-info: "/{apiVersion}/lke/versions"
+ file-path: "paths/versions.yaml"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ /{apiVersion}/linode/instances/{linodeId}/disks/{diskId}/resize:
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "integer"
+ description: "ID of the Linode to look up."
+ name: "linodeId"
+ x-akamai:
+ file-path: "parameters/linode-id-path.yaml"
+ required: true
+ in: "path"
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/disk-id-path.yaml"
+ in: "path"
+ description: "ID of the Disk to look up."
+ name: "diskId"
+ schema:
+ type: "integer"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/disks/{diskId}/resize"
+ file-path: "paths/disk-resize.yaml"
+ post:
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-resize-disk.json"
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-resize-disk.yaml"
+ required:
+ - "size"
+ properties:
+ size:
+ minimum: 1
+ description: "The desired size, in MB, of the disk."
+ type: "integer"
+ example: 2048
+ additionalProperties: false
+ description: "The new size of the Disk."
+ required: true
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-resize-disk-200.json"
+ description: "Resize started."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "resizeDisk"
+ x-original-op-title: "Disk Resize"
+ summary: "Resize a disk"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes disk-resize 123 25674 \\\n --size 2048"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"size\": 2048\n }' \\\n https://api.linode.com/v4/linode/instances/123/disks/25674/resize"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes disk-resize 123 25674 \\\n --size 2048"
+ lang: "CLI"
+ x-linode-grant: "read_write"
+ description: "Resizes a Disk you have permission to `read_write`.\n\nThe Disk must not be in use. If the Disk is in use, the request will succeed but the resize will ultimately fail. For a request to succeed, the Linode must be shut down prior to resizing the Disk, or the Disk must not be assigned to the Linode's active Configuration Profile.\n\nIf you are resizing the Disk to a smaller size, it cannot be made smaller than what is required by the total size of the files current on the Disk.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes disk-resize 123 25674 \\\n --size 2048\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "disk-resize"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-resize-disk"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-resize-disk"
+ x-linode-cli-command: "linodes"
+ /{apiVersion}/networking/ipv6/ranges:
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ range:
+ example: "2001:0db8::/64"
+ type: "string"
+ description: "The IPv6 network range, including subnet and prefix length."
+ format: "ipv6/prefix_length"
+ route_target:
+ description: "The route target IPV6 SLAAC address for this range. Does not include the prefix length."
+ type: "string"
+ format: "ipv6"
+ example: "2001:0db8::1"
+ x-akamai:
+ file-path: "schemas/added-post-ipv6-range-200.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-ipv6-range-200.json"
+ description: "IPv6 range created successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ required: true
+ description: "Information about the IPv6 range to create."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-ipv6-range.json"
+ schema:
+ required:
+ - "prefix_length"
+ x-akamai:
+ file-path: "schemas/added-post-ipv6-range.yaml"
+ properties:
+ prefix_length:
+ type: "integer"
+ description: "The prefix length of the IPv6 range."
+ enum:
+ - 56
+ - 64
+ linode_id:
+ example: 123
+ description: "The ID of the Linode to assign this range to. The SLAAC address for the provided Linode is used as the range's `route_target`.\n\n- __Required__ if `route_target` is omitted from the request.\n\n- Mutually exclusive with `route_target`. Submitting values for both properties in a request results in an error."
+ type: "integer"
+ route_target:
+ example: "2001:0db8::1"
+ format: "ipv6"
+ type: "string"
+ description: "The IPv6 SLAAC address to assign this range to.\n\n- __Required__ if `linode_id` is omitted from the request.\n\n- Mutually exclusive with `linode_id`. Submitting values for both properties in a request results in an error.\n\n- __Note__. Omit the `/128` prefix length of the SLAAC address when using this property."
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Networking"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_write"
+ - "linodes:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-ipv6-range"
+ operationId: "post-ipv6-range"
+ description: "Creates an IPv6 Range and assigns it based on the provided Linode or route target IPv6 SLAAC address. See the `ipv6` property when running the [Get a Linode](https://techdocs.akamai.com/linode-api/reference/get-linode-instance) operation to view a Linode's IPv6 SLAAC address.\n\n- Either `linode_id` or `route_target` is required in a request.\n- `linode_id` and `route_target` are mutually exclusive. Submitting values for both properties in a request results in an error.\n- Upon a successful request, an IPv6 range is created in the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) that corresponds to the provided `linode_id` or `route_target`.\n- Your Linode is responsible for routing individual addresses in the range, or handling traffic for all the addresses in the range.\n- Run the [Assign IP addresses](https://techdocs.akamai.com/linode-api/reference/post-assign-ips) operation to re-assign IPv6 Ranges to your Linodes.\n\n__Note__. The following restrictions apply:\n\n - A Linode can only have one IPv6 range targeting its SLAAC address.\n - An account can only have one IPv6 range in each [region](https://techdocs.akamai.com/linode-api/reference/get-regions).\n - [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to request expansion of these restrictions.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking v6-range-create \\\n --linode_id 123 \\\n --prefix_length 64\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "v6-range-create"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli networking v6-range-create \\\n --linode_id 123 \\\n --prefix_length 64"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "ips:read_write\nlinodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"linode_id\": 123,\n \"prefix_length\": 64\n }' \\\n https://api.linode.com/v4/networking/ipv6/ranges"
+ -
+ lang: "CLI"
+ source: "linode-cli networking v6-range-create \\\n --linode_id 123 \\\n --prefix_length 64"
+ x-original-op-title: "IPv6 Range Create"
+ summary: "Create an IPv6 range"
+ x-original-op-id: "postIPv6Range"
+ x-linode-cli-command: "networking"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-ipv6-ranges"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-ipv6-ranges"
+ responses:
+ 200:
+ description: "The IPv6 ranges on your Account."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-ipv6-ranges-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-ipv6-ranges-200.yaml"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ items:
+ type: "object"
+ description: "An object representing an IPv6 range."
+ x-akamai:
+ file-path: "schemas/ipv6-range.yaml"
+ properties:
+ region:
+ x-linode-cli-display: 3
+ description: "__Read-only__ The region for this range of IPv6 addresses."
+ type: "string"
+ readOnly: true
+ example: "us-east"
+ range:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The IPv6 address of this range."
+ type: "string"
+ readOnly: true
+ example: "2600:3c01::"
+ prefix:
+ example: 64
+ type: "integer"
+ description: "The prefix length of the address. The total number of addresses that can be assigned from this range is calculated as 2(128 - prefix length) ."
+ x-linode-cli-display: 2
+ route_target:
+ type: "string"
+ description: "The IPv6 SLAAC address."
+ example: "2600:3c01::ffff:ffff:ffff:ffff"
+ additionalProperties: false
+ type: "array"
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli networking v6-ranges"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "ips:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/networking/ipv6/ranges"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli networking v6-ranges"
+ description: "Displays the IPv6 ranges on your Account.\n\n - An IPv6 range is a `/64` or `/54` block of IPv6 addresses routed to a single Linode in a given [region](https://techdocs.akamai.com/linode-api/reference/get-regions).\n\n - Your Linode is responsible for routing individual addresses in the range, or handling traffic for all the addresses in the range.\n\n - Run the [Create an IPv6 range](https://techdocs.akamai.com/linode-api/reference/post-ipv6-range) operation to add a `/64` or `/56` block of IPv6 addresses to your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking v6-ranges\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "v6-ranges"
+ x-original-op-title: "IPv6 Ranges List"
+ summary: "List IPv6 ranges"
+ tags:
+ - "Networking"
+ x-original-op-id: "getIPv6Ranges"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_only"
+ parameters:
+ -
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ required: false
+ description: "The page of a collection to return."
+ name: "page"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ -
+ schema:
+ default: 100
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ x-akamai:
+ file-path: "paths/ranges.yaml"
+ path-info: "/{apiVersion}/networking/ipv6/ranges"
+ /{apiVersion}/databases/mysql/instances/{instanceId}/patch:
+ x-linode-cli-command: "databases"
+ post:
+ responses:
+ 200:
+ description: "Managed Database instance patch request successful."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-databases-mysql-instance-patch-200.json"
+ schema:
+ additionalProperties: false
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ type: "array"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ tags:
+ - "Databases"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST https://api.linode.com/v4/databases/mysql/instances/123/patch"
+ -
+ source: "linode-cli databases mysql-patch 123"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli databases mysql-patch 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ x-linode-cli-action: "mysql-patch"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nApply security patches and updates to the underlying operating system of the Managed MySQL Database. This function runs during regular maintenance windows, which are configurable with the [Update a managed MySQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-mysql-instance) operation.\n\nRequires `read_write` access to the Database.\n\nThe Database must have an `active` status to perform this operation.\n\n__Note__\n\n- If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.\n\n- __The database software is not updated automatically.__ To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then [migrate your databases](https://www.linode.com/docs/products/databases/managed-databases/guides/migrate-mysql/) from the original Managed Database cluster to the new one.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-patch 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ operationId: "post-databases-mysql-instance-patch"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-databases-mysql-instance-patch"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ x-original-op-id: "postDatabasesMySQLInstancePatch"
+ summary: "Patch a managed MySQL database"
+ x-original-op-title: "Managed MySQL Database Patch"
+ x-akamai:
+ file-path: "paths/mysql-patch.yaml"
+ path-info: "/{apiVersion}/databases/mysql/instances/{instanceId}/patch"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ required: true
+ schema:
+ type: "integer"
+ name: "instanceId"
+ description: "The ID of the Managed PostgreSQL Database."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/instance-id-path.yaml"
+ /{apiVersion}/linode/instances/{linodeId}/disks:
+ post:
+ x-original-op-title: "Disk Create"
+ summary: "Create a disk"
+ x-original-op-id: "addLinodeDisk"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-add-linode-disk"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes disk-create 123 \\\n --size 1300 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --root_pass aComplex@Password \\\n --image \"linode/debian9\" \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}'"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"label\": \"Debian 9 Disk\",\n \"image\": \"linode/debian9\",\n \"size\": 1300,\n \"authorized_keys\": [\n \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\"\n ],\n \"authorized_users\": [\n \"myUser\",\n \"secondaryUser\"\n ],\n \"root_pass\": \"aComplexP@ssword\",\n \"stackscript_id\": 10079,\n \"stackscript_data\": {\n \"gh_username\": \"linode\"\n }\n }' \\\n https://api.linode.com/v4/linode/instances/123/disks"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes disk-create 123 \\\n --size 1300 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --root_pass aComplex@Password \\\n --image \"linode/debian9\" \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}'"
+ description: "Adds a new Disk to a Linode.\n\n- You can optionally create a Disk from an Image or an Empty Disk if no Image is provided with a request.\n\n- When creating an Empty Disk, providing a `label` is required.\n\n- If no `label` is provided, an `image` is required instead.\n\n- When creating a Disk from an Image, `root_pass` is required.\n\n- The default filesystem for new Disks is `ext4`. If creating a Disk from an Image, the filesystem of the Image is used unless otherwise specified.\n\n- When deploying a StackScript on a Disk:\n\n - Run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts) for a list of available StackScripts.\n - Requires a compatible Image to be supplied.\n - Run [Get a StackScript](https://techdocs.akamai.com/linode-api/reference/get-stack-script) for compatible Images.\n - It is recommended to supply SSH keys for the root User using the `authorized_keys` field.\n - You may also supply a list of usernames via the `authorized_users` field.\n - These users must have an SSH Key associated with their Profiles first. See [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) for more information.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes disk-create 123 \\\n --size 1300 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --root_pass aComplex@Password \\\n --image \"linode/debian9\" \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}'\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "disk-create"
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ responses:
+ 200:
+ description: "Disk created."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-add-linode-disk-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ filesystem:
+ enum:
+ - "raw"
+ - "swap"
+ - "ext3"
+ - "ext4"
+ - "initrd"
+ example: "ext4"
+ type: "string"
+ description: "The Disk filesystem can be one of:\n\n - raw - No filesystem, just a raw binary stream.\n - swap - Linux swap area.\n - ext3 - The ext3 journaling filesystem for Linux.\n - ext4 - The ext4 journaling filesystem for Linux.\n - initrd - initrd (uncompressed initrd, ext2, max 32 MB)."
+ x-linode-cli-display: 5
+ id:
+ type: "integer"
+ description: "__Read-only__ This Disk's ID which must be provided for all operations impacting this Disk."
+ x-linode-cli-display: 1
+ example: 25674
+ readOnly: true
+ label:
+ example: "Debian 9 Disk"
+ maxLength: 48
+ x-linode-filterable: true
+ minLength: 1
+ description: "__Filterable__ The Disk's label is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Disk was last updated."
+ status:
+ x-linode-cli-display: 3
+ description: "__Read-only__ A brief description of this Disk's current state. This field may change without direct action from you, as a result of operations performed to the Disk or the Linode containing the Disk."
+ type: "string"
+ x-linode-cli-color:
+ default_: "yellow"
+ ready: "green"
+ not ready: "red"
+ readOnly: true
+ example: "ready"
+ enum:
+ - "ready"
+ - "not ready"
+ - "deleting"
+ size:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ type: "integer"
+ description: "__Filterable__ The size of the Disk in MB."
+ x-linode-filterable: true
+ example: 48640
+ created:
+ format: "date-time"
+ description: "__Read-only__ When this Disk was created."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-akamai:
+ file-path: "schemas/disk.yaml"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-post-add-linode-disk.yaml"
+ required:
+ - "size"
+ allOf:
+ -
+ additionalProperties: false
+ description: "Disk object request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/disk-request.yaml"
+ properties:
+ authorized_keys:
+ example:
+ - "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
+ type: "array"
+ writeOnly: true
+ description: "__Write-only__ A list of public SSH keys that will be automatically appended to the root user's `~/.ssh/authorized_keys` file when deploying from an Image."
+ items:
+ type: "string"
+ size:
+ example: 48640
+ x-linode-filterable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The size of the Disk in MB.\n\nImages require a minimum size. Run the [Get an image](https://techdocs.akamai.com/linode-api/reference/get-image) operation to view its size."
+ type: "integer"
+ stackscript_id:
+ description: "A StackScript ID that will cause the referenced StackScript to be run during deployment of this Linode. A compatible `image` is required to use a StackScript. To get a list of available StackScript and their permitted Images, run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts). This field cannot be used when deploying from a Backup or a Private Image."
+ type: "integer"
+ example: 10079
+ image:
+ example: "linode/debian9"
+ type: "string"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ root_pass:
+ type: "string"
+ description: "__Write-only__ This sets the root user's password on a newly-created Linode Disk when deploying from an Image.\n\n- __Required__ when creating a Linode Disk from an Image, including when using a StackScript.\n\n- Must meet a password strength score requirement that is calculated internally by the API. If the strength requirement is not met, you will receive a `Password does not meet strength requirement` error."
+ format: "password"
+ minLength: 7
+ writeOnly: true
+ maxLength: 128
+ example: "aComplexP@ssword"
+ stackscript_data:
+ description: "This field is required only if the StackScript being deployed requires input data from the User for successful completion. See [User Defined Fields (UDFs)](https://www.linode.com/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more details.\n\nThis field is required to be valid JSON.\n\nTotal length cannot exceed 65,535 characters."
+ type: "object"
+ maxLength: 65535
+ example:
+ gh_username: "linode"
+ authorized_users:
+ example:
+ - "myUser"
+ - "secondaryUser"
+ items:
+ type: "string"
+ writeOnly: true
+ description: "__Write-only__ A list of usernames. If the usernames have associated SSH keys, the keys will be appended to the root users `~/.ssh/authorized_keys` file automatically when deploying from an Image."
+ type: "array"
+ filesystem:
+ description: "The Disk filesystem can be one of:\n\n - raw - No filesystem, just a raw binary stream.\n - swap - Linux swap area.\n - ext3 - The ext3 journaling filesystem for Linux.\n - ext4 - The ext4 journaling filesystem for Linux.\n - initrd - initrd (uncompressed initrd, ext2, max 32 MB)."
+ type: "string"
+ x-linode-cli-display: 5
+ enum:
+ - "raw"
+ - "swap"
+ - "ext3"
+ - "ext4"
+ - "initrd"
+ example: "ext4"
+ label:
+ maxLength: 48
+ example: "Debian 9 Disk"
+ x-linode-filterable: true
+ minLength: 1
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The Disk's label is for display purposes only."
+ x-example:
+ x-ref: "../examples/post-add-linode-disk.json"
+ description: "The parameters to set when creating the Disk."
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ required: true
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ description: "ID of the Linode to look up."
+ name: "linodeId"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/disks"
+ file-path: "paths/disks.yaml"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ description: "Returns a paginated list of disks associated with this Linode."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-disks-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ results:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ pages:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ items:
+ properties:
+ filesystem:
+ example: "ext4"
+ enum:
+ - "raw"
+ - "swap"
+ - "ext3"
+ - "ext4"
+ - "initrd"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "The Disk filesystem can be one of:\n\n - raw - No filesystem, just a raw binary stream.\n - swap - Linux swap area.\n - ext3 - The ext3 journaling filesystem for Linux.\n - ext4 - The ext4 journaling filesystem for Linux.\n - initrd - initrd (uncompressed initrd, ext2, max 32 MB)."
+ id:
+ example: 25674
+ readOnly: true
+ description: "__Read-only__ This Disk's ID which must be provided for all operations impacting this Disk."
+ type: "integer"
+ x-linode-cli-display: 1
+ label:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The Disk's label is for display purposes only."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 48
+ example: "Debian 9 Disk"
+ x-linode-filterable: true
+ status:
+ enum:
+ - "ready"
+ - "not ready"
+ - "deleting"
+ example: "ready"
+ readOnly: true
+ x-linode-cli-color:
+ default_: "yellow"
+ ready: "green"
+ not ready: "red"
+ description: "__Read-only__ A brief description of this Disk's current state. This field may change without direct action from you, as a result of operations performed to the Disk or the Linode containing the Disk."
+ type: "string"
+ x-linode-cli-display: 3
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Disk was last updated."
+ type: "string"
+ size:
+ description: "__Filterable__ The size of the Disk in MB."
+ type: "integer"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 48640
+ x-linode-filterable: true
+ created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Disk was created."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-akamai:
+ file-path: "schemas/disk.yaml"
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ x-akamai:
+ file-path: "schemas/added-get-linode-disks-200.yaml"
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ additionalProperties: false
+ type: "array"
+ x-original-op-id: "getLinodeDisks"
+ parameters:
+ -
+ schema:
+ default: 1
+ minimum: 1
+ type: "integer"
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ schema:
+ default: 100
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ summary: "List disks"
+ x-original-op-title: "Disks List"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances/123/disks"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes disks-list 123"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes disks-list 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "disks-list"
+ description: "View Disk information for Disks associated with this Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes disks-list 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ operationId: "get-linode-disks"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-disks"
+ /{apiVersion}/account/transfer:
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ get:
+ responses:
+ 200:
+ description: "Returns a single Transfer object."
+ content:
+ application/json:
+ x-linode-cli-subtables:
+ - "region_transfers"
+ schema:
+ x-akamai:
+ file-path: "schemas/transfer.yaml"
+ properties:
+ region_transfers:
+ type: "array"
+ items:
+ properties:
+ used:
+ type: "integer"
+ description: "__Read-only__ The amount of network usage you have used this billing cycle for this Region."
+ example: 1
+ readOnly: true
+ quota:
+ example: 5010
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount of network usage allowed this billing cycle for this Region."
+ billable:
+ type: "integer"
+ description: "__Read-only__ The amount of your transfer pool that is billable this billing cycle for this Region."
+ readOnly: true
+ example: 0
+ id:
+ type: "string"
+ description: "The Region ID for this network utilization data."
+ example: "us-east"
+ type: "object"
+ additionalProperties: false
+ used:
+ readOnly: true
+ example: 2
+ x-linode-cli-display: 2
+ description: "__Read-only__ The amount of network usage you have used this billing cycle."
+ type: "integer"
+ quota:
+ type: "integer"
+ description: "__Read-only__ The amount of network usage allowed this billing cycle."
+ x-linode-cli-display: 1
+ example: 9141
+ readOnly: true
+ billable:
+ example: 0
+ readOnly: true
+ description: "__Read-only__ The amount of your transfer pool that is billable this billing cycle."
+ type: "integer"
+ x-linode-cli-display: 3
+ type: "object"
+ description: "An object representing your network utilization for the current month, in Gigabytes.\n\nCertain Regions have separate utilization quotas and rates. For Region-specific network utilization data, see `region_transfers`."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-transfer-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account transfer"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/transfer"
+ -
+ source: "linode-cli account transfer"
+ lang: "CLI"
+ description: "Returns a Transfer object showing your network utilization, in GB, for the current month.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account transfer\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "transfer"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-transfer"
+ operationId: "get-transfer"
+ x-original-op-id: "getTransfer"
+ x-original-op-title: "Network Utilization View"
+ summary: "Get network usage"
+ x-akamai:
+ path-info: "/{apiVersion}/account/transfer"
+ file-path: "paths/account-transfer.yaml"
+ x-linode-cli-command: "account"
+ /{apiVersion}/account/payment-methods/{paymentMethodId}:
+ get:
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-payment-method-200.json"
+ schema:
+ additionalProperties: false
+ description: "Payment Method Response Object."
+ type: "object"
+ properties:
+ created:
+ format: "date-time"
+ description: "__Read-only__ When the Payment Method was added to the Account."
+ type: "string"
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ is_default:
+ type: "boolean"
+ description: "Whether this Payment Method is the default method for automatically processing service charges."
+ x-linode-cli-display: 3
+ example: true
+ data:
+ x-linode-cli-display: 4
+ x-linode-cli-format: "json"
+ oneOf:
+ -
+ additionalProperties: false
+ properties:
+ expiry:
+ type: "string"
+ description: "__Read-only__ The expiration month and year of the credit card."
+ format: "MM/YYYY"
+ example: "06/2022"
+ readOnly: true
+ last_four:
+ type: "string"
+ description: "__Read-only__ The last four digits of the credit card number."
+ readOnly: true
+ example: "1234"
+ card_type:
+ type: "string"
+ description: "__Read-only__ The type of credit card."
+ example: "Discover"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/credit-card-data.yaml"
+ type: "object"
+ description: "Credit card information."
+ x-linode-ref-name: "Credit Card"
+ title: "Credit card"
+ -
+ title: "Google Pay"
+ x-linode-ref-name: "Google Pay"
+ additionalProperties: false
+ description: "Google Pay information."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/google-pay-data.yaml"
+ properties:
+ card_type:
+ description: "__Read-only__ The type of credit card."
+ type: "string"
+ readOnly: true
+ example: "Discover"
+ last_four:
+ description: "__Read-only__ The last four digits of the credit card number."
+ type: "string"
+ readOnly: true
+ example: "1234"
+ expiry:
+ description: "__Read-only__ The expiration month and year of the credit card."
+ type: "string"
+ format: "MM/YYYY"
+ example: "06/2022"
+ readOnly: true
+ -
+ additionalProperties: false
+ x-linode-ref-name: "Paypal"
+ title: "Paypal"
+ properties:
+ paypal_id:
+ description: "__Read-only__ PayPal Merchant ID associated with your PayPal account."
+ type: "string"
+ readOnly: true
+ example: "ABC1234567890"
+ email:
+ readOnly: true
+ example: "example@linode.com"
+ description: "__Read-only__ The email address associated with your PayPal account."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/paypal-data.yaml"
+ description: "PayPal information."
+ type: "object"
+ type:
+ enum:
+ - "credit_card"
+ - "google_pay"
+ - "paypal"
+ example: "credit_card"
+ x-linode-cli-display: 2
+ description: "The type of Payment Method."
+ type: "string"
+ id:
+ example: 123
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "The unique ID of this Payment Method."
+ x-akamai:
+ file-path: "schemas/payment-method.yaml"
+ description: "Returns a Payment Method Object."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-title: "Payment Method View"
+ summary: "Get a payment method"
+ x-original-op-id: "getPaymentMethod"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-payment-method"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ operationId: "get-payment-method"
+ description: "View the details of the specified Payment Method.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli payment-methods view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "view"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli payment-methods view 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/payment-methods/123"
+ -
+ source: "linode-cli payment-methods view 123"
+ lang: "CLI"
+ delete:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-payment-method-200.json"
+ description: "Payment Method deactivated."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ x-linode-grant: "read_write"
+ description: "Deactivate the specified Payment Method.\n\nThe default Payment Method can not be deleted. To add a new default Payment Method, run the [Add a payment method](https://techdocs.akamai.com/linode-api/reference/post-payment-method) operation. To designate an existing Payment Method as the default method, run the [Set a default payment method](https://techdocs.akamai.com/linode-api/reference/post-make-payment-method-default) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli payment-methods delete 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli payment-methods delete 123"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/account/payment-methods/123"
+ -
+ source: "linode-cli payment-methods delete 123"
+ lang: "CLI"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-payment-method"
+ operationId: "delete-payment-method"
+ x-original-op-id: "deletePaymentMethod"
+ x-original-op-title: "Payment Method Delete"
+ summary: "Delete a payment method"
+ x-akamai:
+ path-info: "/{apiVersion}/account/payment-methods/{paymentMethodId}"
+ file-path: "paths/payment-method.yaml"
+ parameters:
+ -
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ name: "paymentMethodId"
+ description: "The ID of the Payment Method to look up."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/payment-method-id-path-6078bc7b.yaml"
+ required: true
+ schema:
+ type: "integer"
+ x-linode-cli-command: "payment-methods"
+ /{apiVersion}/account/events/{eventId}/read:
+ x-linode-cli-command: "events"
+ post:
+ x-original-op-title: "Event Mark as Read"
+ summary: "Mark an event as read"
+ x-original-op-id: "eventRead"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-event-read"
+ operationId: "post-event-read"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli events mark-read 123"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "events:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/events/123/read"
+ -
+ source: "linode-cli events mark-read 123"
+ lang: "CLI"
+ description: "Marks a single Event as read.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli events mark-read 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n events:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "mark-read"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "events:read_only"
+ responses:
+ 200:
+ description: "Event read."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-event-read-200.json"
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ file-path: "paths/read.yaml"
+ path-info: "/{apiVersion}/account/events/{eventId}/read"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ description: "The ID of the Event to designate as read."
+ name: "eventId"
+ required: true
+ x-akamai:
+ file-path: "parameters/event-id-path-625aa248.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ /{apiVersion}/databases/types:
+ x-linode-cli-command: "databases"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ x-akamai:
+ path-info: "/{apiVersion}/databases/types"
+ file-path: "paths/database-types.yaml"
+ get:
+ responses:
+ 200:
+ description: "Returns a paginated list of all Managed Database types."
+ content:
+ application/json:
+ x-linode-cli-nested-list: "engines.mysql, engines.postgresql"
+ x-linode-cli-use-schema:
+ allOf:
+ -
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ additionalProperties: false
+ -
+ type: "object"
+ properties:
+ data:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/database-type.yaml"
+ properties:
+ id:
+ readOnly: true
+ example: "g6-nanode-1"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The ID representing the Managed Database node plan type."
+ vcpus:
+ example: 1
+ type: "integer"
+ description: "The integer of number CPUs allocated to databases of this plan type."
+ x-linode-cli-display: 5
+ deprecated:
+ description: "__Filterable__ Whether this Database plan type has been deprecated and is no longer available."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ x-linode-filterable: true
+ example: false
+ engines:
+ properties:
+ mysql:
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ quantity:
+ type: "integer"
+ description: "The number of nodes for the Managed Database cluster for this subscription tier."
+ example: 1
+ enum:
+ - 1
+ - 2
+ - 3
+ price:
+ additionalProperties: false
+ properties:
+ hourly:
+ description: "Cost (in US dollars) per hour for this subscription tier."
+ type: "number"
+ example: 0.03
+ monthly:
+ example: 20
+ type: "number"
+ description: "Maximum cost (in US dollars) per month for this subscription tier."
+ description: "Cost in US dollars, broken down into hourly and monthly charges."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/database-type-engine.yaml"
+ description: "Pricing details for MySQL Managed Databases."
+ type: "array"
+ postgresql:
+ items:
+ type: "object"
+ properties:
+ price:
+ description: "Cost in US dollars, broken down into hourly and monthly charges."
+ type: "object"
+ properties:
+ monthly:
+ type: "number"
+ description: "Maximum cost (in US dollars) per month for this subscription tier."
+ example: 20
+ hourly:
+ example: 0.03
+ description: "Cost (in US dollars) per hour for this subscription tier."
+ type: "number"
+ additionalProperties: false
+ quantity:
+ enum:
+ - 1
+ - 2
+ - 3
+ example: 1
+ description: "The number of nodes for the Managed Database cluster for this subscription tier."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/database-type-engine.yaml"
+ additionalProperties: false
+ description: "Pricing details for PostgreSQL Managed Databases."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ label:
+ x-linode-cli-display: 2
+ description: "__Read-only__ A human-readable string that describes each plan type. For display purposes only."
+ type: "string"
+ readOnly: true
+ example: "DBaaS - Nanode 1GB"
+ class:
+ type: "string"
+ description: "The compute class category."
+ example: "nanode"
+ disk:
+ example: 25600
+ description: "The amount of disk space set aside for Databases of this plan type. The value is represented in megabytes."
+ type: "integer"
+ x-linode-cli-display: 4
+ memory:
+ x-linode-cli-display: 3
+ description: "The amount of RAM allocated to Database created of this plan type. The value is represented in megabytes."
+ type: "integer"
+ example: 1024
+ type: "object"
+ description: "Managed Database plan type object."
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-databases-types-200.yaml"
+ example:
+ page: 1
+ data:
+ -
+ id: "g6-nanode-1"
+ vcpus: 1
+ deprecated: false
+ class: "nanode"
+ label: "DBaaS - Nanode 1GB"
+ engines:
+ mysql:
+ -
+ price:
+ hourly: 0.03
+ monthly: 20
+ quantity: 1
+ postgresql:
+ -
+ quantity: 1
+ price:
+ monthly: 20
+ hourly: 0.03
+ disk: 25600
+ memory: 1024
+ pages: 1
+ results: 1
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ properties:
+ pages:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ -
+ properties:
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "Managed Database plan type object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/database-type.yaml"
+ properties:
+ memory:
+ example: 1024
+ x-linode-cli-display: 3
+ description: "The amount of RAM allocated to Database created of this plan type. The value is represented in megabytes."
+ type: "integer"
+ disk:
+ example: 25600
+ x-linode-cli-display: 4
+ description: "The amount of disk space set aside for Databases of this plan type. The value is represented in megabytes."
+ type: "integer"
+ engines:
+ properties:
+ postgresql:
+ items:
+ type: "object"
+ properties:
+ quantity:
+ example: 1
+ enum:
+ - 1
+ - 2
+ - 3
+ type: "integer"
+ description: "The number of nodes for the Managed Database cluster for this subscription tier."
+ price:
+ type: "object"
+ description: "Cost in US dollars, broken down into hourly and monthly charges."
+ properties:
+ monthly:
+ description: "Maximum cost (in US dollars) per month for this subscription tier."
+ type: "number"
+ example: 20
+ hourly:
+ type: "number"
+ description: "Cost (in US dollars) per hour for this subscription tier."
+ example: 0.03
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/database-type-engine.yaml"
+ additionalProperties: false
+ type: "array"
+ description: "Pricing details for PostgreSQL Managed Databases."
+ mysql:
+ items:
+ additionalProperties: false
+ properties:
+ price:
+ properties:
+ monthly:
+ description: "Maximum cost (in US dollars) per month for this subscription tier."
+ type: "number"
+ example: 20
+ hourly:
+ description: "Cost (in US dollars) per hour for this subscription tier."
+ type: "number"
+ example: 0.03
+ type: "object"
+ description: "Cost in US dollars, broken down into hourly and monthly charges."
+ additionalProperties: false
+ quantity:
+ type: "integer"
+ description: "The number of nodes for the Managed Database cluster for this subscription tier."
+ enum:
+ - 1
+ - 2
+ - 3
+ example: 1
+ x-akamai:
+ file-path: "schemas/database-type-engine.yaml"
+ type: "object"
+ description: "Pricing details for MySQL Managed Databases."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ class:
+ example: "nanode"
+ description: "The compute class category."
+ type: "string"
+ label:
+ readOnly: true
+ example: "DBaaS - Nanode 1GB"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ A human-readable string that describes each plan type. For display purposes only."
+ deprecated:
+ type: "boolean"
+ description: "__Filterable__ Whether this Database plan type has been deprecated and is no longer available."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ x-linode-filterable: true
+ example: false
+ vcpus:
+ x-linode-cli-display: 5
+ type: "integer"
+ description: "The integer of number CPUs allocated to databases of this plan type."
+ example: 1
+ id:
+ readOnly: true
+ example: "g6-nanode-1"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The ID representing the Managed Database node plan type."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-databases-types-200.yaml"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-types"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ operationId: "get-databases-types"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli databases types"
+ title: "CLI"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/databases/types"
+ lang: "Shell"
+ -
+ source: "linode-cli databases types"
+ lang: "CLI"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay all Managed Database node types. The type and number of nodes determine the resources and price of a Managed Database instance.\n\nEach Managed Database can have one node type. In the case of a high availability Database, all nodes are provisioned according to the chosen type.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases types\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action: "types"
+ x-original-op-title: "Managed Database Types List"
+ summary: "List managed database types"
+ x-original-op-id: "getDatabasesTypes"
+ parameters:
+ -
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ -
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ description: "The number of items to return per page."
+ name: "page_size"
+ schema:
+ default: 100
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ /{apiVersion}/object-storage/clusters/{clusterId}:
+ x-linode-cli-command: "object-storage"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "string"
+ example: "us-east-1"
+ required: true
+ x-akamai:
+ file-path: "parameters/cluster-id-legacy.yaml"
+ in: "path"
+ description: "Identifies a cluster where this bucket lives. For backward compatibility with Object Storage in this API.\n\n> 📘\n>\n> You can use the applicable `regionId`, for example `us-west`, in place of the `clusterId`, for example, `us-west-1`. Run [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) to see all regions."
+ name: "clusterId"
+ x-akamai:
+ file-path: "paths/object-storage-cluster.yaml"
+ path-info: "/{apiVersion}/object-storage/clusters/{regionId}"
+ get:
+ tags:
+ - "Object Storage"
+ deprecated: true
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "An Object Storage Cluster."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/object-storage-cluster.yaml"
+ properties:
+ region:
+ example: "us-east"
+ description: "The region where this cluster is located."
+ type: "string"
+ domain:
+ description: "The base URL for this cluster, used for connecting with third-party clients."
+ type: "string"
+ example: "us-east-1.linodeobjects.com"
+ status:
+ description: "This cluster's status."
+ type: "string"
+ example: "available"
+ enum:
+ - "available"
+ - "unavailable"
+ id:
+ type: "string"
+ description: "The unique ID for this cluster."
+ example: "us-east-1"
+ static_site_domain:
+ example: "website-us-east-1.linodeobjects.com"
+ description: "The base URL for this cluster used when hosting static sites."
+ type: "string"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-object-storage-cluster-200.json"
+ description: "The requested Cluster."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ additionalProperties: false
+ type: "object"
+ x-original-op-id: "getObjectStorageCluster"
+ summary: "Get a cluster"
+ x-original-op-title: "Cluster View"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/object-storage/clusters/us-east-1"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli object-storage clusters-view us-east-1"
+ x-akamai:
+ status: "DEPRECATED"
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli object-storage clusters-view us-east-1"
+ x-linode-cli-action: "clusters-view"
+ description: "__Deprecated__ Returns a single Object Storage cluster.\n\n> 📘\n>\n> This displays deprecated `clusterId` values that represent regions used with older versions of the API. It's maintained for backward compatibility. Run [Get a region](https://techdocs.akamai.com/linode-api/reference/get-region), instead.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage clusters-view us-east-1\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ operationId: "get-object-storage-cluster"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-object-storage-cluster"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ /{apiVersion}/databases/postgresql/instances/{instanceId}/patch:
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ x-akamai:
+ file-path: "parameters/instance-id-path.yaml"
+ required: true
+ in: "path"
+ description: "The ID of the Managed PostgreSQL Database."
+ name: "instanceId"
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "paths/postgresql-patch.yaml"
+ path-info: "/{apiVersion}/databases/postgresql/instances/{instanceId}/patch"
+ post:
+ summary: "Patch a managed PostgreSQL database"
+ x-original-op-title: "Managed PostgreSQL Database Patch"
+ x-original-op-id: "postDatabasesPostgreSQLInstancePatch"
+ operationId: "post-databases-postgre-sql-instance-patch"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-databases-postgre-sql-instance-patch"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ x-linode-cli-action: "postgresql-patch"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nApply security patches and updates to the underlying operating system of the Managed PostgreSQL Database. This function runs during regular maintenance windows, which are configurable with the [Update a managed PostgreSQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-postgre-sql-instance) operation.\n\nRequires `read_write` access to the Database.\n\nThe Database must have an `active` status to perform this operation.\n\n__Note__\n\n- If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.\n\n- __The database software is not updated automatically.__ To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-patch 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST https://api.linode.com/v4/databases/postgresql/instances/123/patch"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases postgresql-patch 123"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli databases postgresql-patch 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ tags:
+ - "Databases"
+ responses:
+ 200:
+ description: "Managed Database instance patch request successful."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-databases-postgre-sql-instance-patch-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ additionalProperties: false
+ additionalProperties: false
+ x-linode-cli-command: "databases"
+ /{apiVersion}/vpcs/{vpcId}/subnets:
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "integer"
+ name: "vpcId"
+ description: "The `id` of the VPC."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/vpc-id.yaml"
+ required: true
+ x-akamai:
+ path-info: "/{apiVersion}/vpcs/{vpcId}/subnets"
+ file-path: "paths/subnets.yaml"
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ example:
+ results: 1
+ data:
+ -
+ linodes:
+ -
+ id: 111
+ interfaces:
+ -
+ active: true
+ id: 421
+ updated: "2023-09-11T00:00:00"
+ ipv4: "192.0.2.13/24"
+ created: "2023-07-11T00:00:00"
+ label: "cool-vpc-subnet"
+ id: 456
+ page: 1
+ pages: 1
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-vpc-subnets-200.yaml"
+ allOf:
+ -
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ properties:
+ results:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ page:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ additionalProperties: false
+ -
+ properties:
+ data:
+ items:
+ x-akamai:
+ file-path: "schemas/vpc-subnet.yaml"
+ properties:
+ linodes:
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ An array of Linode IDs assigned to the VPC Subnet.\n\nA Linode is assigned to a VPC Subnet if it has a Configuration Profile with a `vpc` purpose interface with the subnet's `subnet_id`. Even if the Configuration Profile is not active, meaning the Linode does not have access to the Subnet, the Linode still appears in this array."
+ items:
+ additionalProperties: false
+ properties:
+ interfaces:
+ items:
+ properties:
+ id:
+ example: 421
+ description: "ID of the interface."
+ type: "integer"
+ active:
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that the Linode was powered on using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ example: true
+ type: "object"
+ additionalProperties: false
+ description: "VPC purpose interfaces with the subnet's `subnet_id` assigned to the Linode."
+ type: "array"
+ id:
+ example: 111
+ type: "integer"
+ description: "ID of a Linode assigned to the VPC Subnet."
+ type: "object"
+ x-linode-cli-display: 5
+ updated:
+ example: "2023-09-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC Subnet update."
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ ipv4:
+ x-linode-cli-display: 3
+ format: "ip"
+ type: "string"
+ description: "IPv4 range in CIDR canonical form.\n\n- The range must belong to a private address space as defined in [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918).\n- Allowed prefix lengths: 1-29.\n- The range must not overlap with 192.168.128.0/17.\n- The range must not overlap with other Subnets on the same VPC."
+ example: "10.0.1.0/24"
+ created:
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of VPC Subnet creation."
+ readOnly: true
+ x-linode-filterable: true
+ example: "2023-07-11T00:00:00"
+ label:
+ x-linode-filterable: true
+ maxLength: 64
+ example: "cool-vpc-subnet"
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ The VPC Subnet's label, for display purposes only.\n\n- Must be unique among the VPC's Subnets.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ type: "string"
+ id:
+ x-linode-filterable: true
+ example: 456
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC Subnet."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "An object describing a VPC Subnet."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ description: "A paginated list of VPC Subnet objects."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "VPCs"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth: []
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-vpc-subnets"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ operationId: "get-vpc-subnets"
+ description: "Get information about all VPC Subnets associated with a VPC.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli vpcs subnets-list $vpcId\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action:
+ - "subnets-list"
+ - "subnets-ls"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli vpcs subnets-list $vpcId"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/vpcs/$vpcId/subnets \\\n -H \"Authorization: Bearer $TOKEN\""
+ -
+ lang: "CLI"
+ source: "linode-cli vpcs subnets-list $vpcId"
+ x-original-op-title: "VPC Subnets List"
+ summary: "List VPC subnets"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ description: "The page of a collection to return."
+ name: "page"
+ required: false
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ -
+ schema:
+ default: 100
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ x-original-op-id: "getVPCSubnets"
+ post:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "vpc:read_write"
+ tags:
+ - "VPCs"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "An object describing a VPC Subnet."
+ type: "object"
+ properties:
+ id:
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC Subnet."
+ readOnly: true
+ example: 456
+ x-linode-filterable: true
+ created:
+ description: "__Filterable__, __Read-only__ The date-time of VPC Subnet creation."
+ type: "string"
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ ipv4:
+ example: "10.0.1.0/24"
+ x-linode-cli-display: 3
+ format: "ip"
+ description: "IPv4 range in CIDR canonical form.\n\n- The range must belong to a private address space as defined in [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918).\n- Allowed prefix lengths: 1-29.\n- The range must not overlap with 192.168.128.0/17.\n- The range must not overlap with other Subnets on the same VPC."
+ type: "string"
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ The VPC Subnet's label, for display purposes only.\n\n- Must be unique among the VPC's Subnets.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ type: "string"
+ minLength: 1
+ x-linode-filterable: true
+ example: "cool-vpc-subnet"
+ maxLength: 64
+ updated:
+ example: "2023-09-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ nullable: true
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC Subnet update."
+ type: "string"
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ linodes:
+ description: "__Read-only__ An array of Linode IDs assigned to the VPC Subnet.\n\nA Linode is assigned to a VPC Subnet if it has a Configuration Profile with a `vpc` purpose interface with the subnet's `subnet_id`. Even if the Configuration Profile is not active, meaning the Linode does not have access to the Subnet, the Linode still appears in this array."
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ id:
+ example: 111
+ description: "ID of a Linode assigned to the VPC Subnet."
+ type: "integer"
+ interfaces:
+ description: "VPC purpose interfaces with the subnet's `subnet_id` assigned to the Linode."
+ type: "array"
+ items:
+ type: "object"
+ properties:
+ active:
+ example: true
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that the Linode was powered on using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ id:
+ description: "ID of the interface."
+ type: "integer"
+ example: 421
+ additionalProperties: false
+ x-linode-cli-display: 5
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/vpc-subnet.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-vpc-subnet-200.json"
+ description: "The new VPC Subnet."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-vpc-subnet.json"
+ schema:
+ required:
+ - "ipv4"
+ - "label"
+ additionalProperties: false
+ properties:
+ label:
+ maxLength: 64
+ example: "cool-vpc-subnet"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The VPC Subnet's label, for display purposes only.\n\n- Must be unique among the VPC's Subnets.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ minLength: 1
+ ipv4:
+ description: "IPv4 range in CIDR canonical form.\n\n- The range must belong to a private address space as defined in [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918).\n- Allowed prefix lengths: 1-29.\n- The range must not overlap with 192.168.128.0/17.\n- The range must not overlap with other Subnets on the same VPC."
+ type: "string"
+ format: "ip"
+ x-linode-cli-display: 3
+ example: "10.0.1.0/24"
+ x-akamai:
+ file-path: "schemas/added-post-vpc-subnet.yaml"
+ type: "object"
+ description: "VPC Subnet Create request object."
+ description: "VPC Subnet Create request object."
+ summary: "Create a VPC subnet"
+ x-original-op-title: "VPC Subnet Create"
+ x-original-op-id: "createVPCSubnet"
+ operationId: "post-vpc-subnet"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-vpc-subnet"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/vpcs/$vpcId/subnets \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -X POST -d '{\n \"label\": \"cool-vpc-subnet\",\n \"ipv4\": \"10.0.1.0/24\",\n }'"
+ -
+ lang: "CLI"
+ source: "linode-cli vpcs subnet-create $vpcId \\\n --label cool-vpc-subnet \\\n --ipv4 10.0.1.0/24"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli vpcs subnet-create $vpcId \\\n --label cool-vpc-subnet \\\n --ipv4 10.0.1.0/24"
+ title: "CLI"
+ -
+ syntax: "vpc:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "subnet-create"
+ x-linode-grant: "read_write"
+ description: "Create a VPC Subnet.\n\n- The User accessing this operation must have `read_write` grants to the VPC.\n- A successful request triggers a `subnet_create` event.\n\nOnce a VPC Subnet is created, it can be attached to a Linode by assigning the Subnet to one of the Linode's Configuration Profile Interfaces. This step can be accomplished with the following operations:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Create a config profile](https://techdocs.akamai.com/linode-api/reference/post-add-linode-config)\n- [Update a config profile](https://techdocs.akamai.com/linode-api/reference/put-linode-config)\n- [Add a configuration profile interface](https://techdocs.akamai.com/linode-api/reference/post-linode-config-interface)\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli vpcs subnet-create $vpcId \\\n --label cool-vpc-subnet \\\n --ipv4 10.0.1.0/24\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n vpc:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-command: "vpcs"
+ /{apiVersion}/linode/kernels:
+ x-linode-cli-command: "kernels"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ x-akamai:
+ file-path: "paths/kernels.yaml"
+ path-info: "/{apiVersion}/linode/kernels"
+ get:
+ x-original-op-id: "getKernels"
+ parameters:
+ -
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ description: "The page of a collection to return."
+ name: "page"
+ schema:
+ default: 1
+ minimum: 1
+ type: "integer"
+ -
+ schema:
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ default: 100
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ summary: "List kernels"
+ x-original-op-title: "Kernels List"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/linode/kernels"
+ -
+ source: "linode-cli kernels list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli kernels list"
+ title: "CLI"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ description: "Lists available Kernels.\n\nDue to the extensive list of available kernels, please keep [pagination](https://techdocs.akamai.com/linode-api/reference/pagination) controls in mind when managing responses to this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli kernels list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ operationId: "get-kernels"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-kernels"
+ description: "See documentation for this operation in Akamai's Linode API"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-kernels-200.json"
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-kernels-200.yaml"
+ properties:
+ pages:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ type: "array"
+ items:
+ properties:
+ id:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The unique ID of this Kernel."
+ readOnly: true
+ example: "linode/latest-64bit"
+ label:
+ x-linode-filterable: true
+ example: "Latest 64 bit (4.15.7-x86_64-linode102)"
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The friendly name of this Kernel."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ architecture:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The architecture of this Kernel."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ x-linode-filterable: true
+ example: "x86_64"
+ enum:
+ - "x86_64"
+ - "i386"
+ readOnly: true
+ built:
+ description: "__Read-only__ The date on which this Kernel was built."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ kvm:
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ If this Kernel is suitable for KVM Linodes."
+ type: "boolean"
+ readOnly: true
+ example: true
+ x-linode-filterable: true
+ deprecated:
+ x-linode-filterable: true
+ example: false
+ readOnly: true
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ If this Kernel is marked as deprecated, this field has a value of true; otherwise, this field is false."
+ x-akamai:
+ labels:
+ - "Filterable"
+ version:
+ description: "__Filterable__, __Read-only__ Linux Kernel version."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "4.15.7"
+ x-linode-filterable: true
+ readOnly: true
+ pvops:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ If this Kernel is suitable for paravirtualized operations."
+ readOnly: true
+ example: false
+ x-linode-filterable: true
+ x-akamai:
+ file-path: "schemas/kernel.yaml"
+ type: "object"
+ description: "Linux kernel object."
+ additionalProperties: false
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ additionalProperties: false
+ description: "Returns an array of Kernels."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ /{apiVersion}/account/payments:
+ x-akamai:
+ path-info: "/{apiVersion}/account/payments"
+ file-path: "paths/payments.yaml"
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-payments-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-payments-200.yaml"
+ properties:
+ data:
+ items:
+ additionalProperties: false
+ properties:
+ date:
+ type: "string"
+ description: "__Read-only__ When the Payment was made."
+ x-linode-cli-display: 2
+ format: "date-time"
+ example: "2018-01-15T00:01:01"
+ readOnly: true
+ id:
+ example: 123
+ readOnly: true
+ description: "__Read-only__ The unique ID of the Payment."
+ type: "integer"
+ x-linode-cli-display: 1
+ usd:
+ readOnly: true
+ example: "120.50"
+ x-linode-cli-display: 3
+ description: "__Read-only__ The amount, in US dollars, of the Payment."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/payment.yaml"
+ description: "Payment object response."
+ type: "object"
+ type: "array"
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ results:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ description: "Returns a paginated list of Payment objects."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-payments"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-payments"
+ description: "Returns a paginated list of Payments made on this Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account payments-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "payments-list"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account payments-list"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/payments"
+ lang: "Shell"
+ -
+ source: "linode-cli account payments-list"
+ lang: "CLI"
+ x-original-op-title: "Payments List"
+ summary: "List payments"
+ parameters:
+ -
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ description: "The page of a collection to return."
+ name: "page"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ in: "query"
+ -
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ description: "The number of items to return per page."
+ name: "page_size"
+ schema:
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ default: 100
+ x-original-op-id: "getPayments"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ x-linode-cli-command: "account"
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ usd:
+ readOnly: true
+ example: "120.50"
+ x-linode-cli-display: 3
+ type: "integer"
+ description: "__Read-only__ The amount, in US dollars, of the Payment."
+ id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of the Payment."
+ type: "integer"
+ date:
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 2
+ description: "__Read-only__ When the Payment was made."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/payment.yaml"
+ type: "object"
+ description: "Payment object response."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-payment-200.json"
+ description: "Payment submitted successfully."
+ 202:
+ description: "Accepted with warning.\n\nA warnings array is included with the standard 200 response body."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ warnings:
+ items:
+ description: "An object for describing a single warning associated with a response."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/warning-object.yaml"
+ properties:
+ title:
+ example: "Unable to reboot Linode."
+ type: "string"
+ description: "The general warning message."
+ details:
+ description: "Specific information related to the warning."
+ type: "string"
+ example: "Linode 123 could not be rebooted."
+ additionalProperties: false
+ type: "array"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ requestBody:
+ required: true
+ description: "Information about the Payment you are making."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-payment.json"
+ schema:
+ additionalProperties: false
+ properties:
+ usd:
+ example: "$120.50"
+ type: "string"
+ description: "The amount in US Dollars of the Payment.\n\n- Can begin with or without `$`.\n- Commas (`,`) are not accepted.\n- Must end with a decimal expression, such as `.00` or `.99`.\n- Minimum: `$5.00` or the Account balance, whichever is lower.\n- Maximum: `$2000.00` or the Account balance up to `$50000.00`, whichever is greater."
+ pattern: "^\\$?\\d+\\.\\d{2}$"
+ payment_method_id:
+ type: "integer"
+ description: "The ID of the Payment Method to apply to the Payment."
+ example: 123
+ x-akamai:
+ file-path: "schemas/added-post-payment.yaml"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ operationId: "post-payment"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-payment"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"usd\": \"120.50\",\n \"payment_method_id\": 123\n }' \\\n https://api.linode.com/v4/account/payments"
+ -
+ lang: "CLI"
+ source: "linode-cli account payment-create \\\n --usd 120.50 \\\n --payment_method_id 123"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account payment-create \\\n --usd 120.50 \\\n --payment_method_id 123"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "payment-create"
+ x-linode-grant: "read_write"
+ description: "Makes a Payment to your Account.\n\n- The requested amount is charged to the default Payment Method if no `payment_method_id` is specified.\n\n- A `payment_submitted` event is generated when a payment is successfully submitted.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- Child account users can't run this operation. These users don't have access to billing-related operations.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account payment-create \\\n --usd 120.50 \\\n --payment_method_id 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ summary: "Make a payment"
+ x-original-op-title: "Payment Make"
+ x-original-op-id: "createPayment"
+ /{apiVersion}/account/events/{eventId}/seen:
+ post:
+ x-original-op-title: "Event Mark as Seen"
+ summary: "Mark an event as seen"
+ x-original-op-id: "eventSeen"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-event-seen"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-event-seen"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli events mark-seen 123"
+ title: "CLI"
+ -
+ syntax: "events:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/events/123/seen"
+ -
+ source: "linode-cli events mark-seen 123"
+ lang: "CLI"
+ x-linode-grant: "read_write"
+ description: "Marks all Events up to and including this Event by ID as seen.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli events mark-seen 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n events:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "mark-seen"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "events:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/post-event-seen-200.json"
+ description: "Events seen."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-linode-cli-command: "events"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ x-akamai:
+ file-path: "parameters/event-id-path-214cd042.yaml"
+ in: "path"
+ description: "The ID of the Event to designate as seen."
+ name: "eventId"
+ schema:
+ type: "integer"
+ required: true
+ x-akamai:
+ file-path: "paths/seen.yaml"
+ path-info: "/{apiVersion}/account/events/{eventId}/seen"
+ /{apiVersion}/linode/instances/{linodeId}/ips/{address}:
+ delete:
+ x-original-op-id: "removeLinodeIP"
+ summary: "Delete an IPv4 address"
+ x-original-op-title: "IPv4 Address Delete"
+ x-linode-cli-action: "ip-delete"
+ description: "Deletes a public or private IPv4 address associated with this Linode. This will fail if it is the Linode's last remaining public IPv4 address, or if the address has a 1:1 NAT with an active VPC Subnet address.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes ip-delete 97.107.143.141\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes ip-delete 97.107.143.141"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes ip-delete 97.107.143.141"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "delete-linode-ip"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-linode-ip"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ description: "IP address successfully removed."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-linode-ip-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ put:
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ requestBody:
+ description: "The information to update for the IP address."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ rdns:
+ type: "string"
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ nullable: true
+ example: "test.example.org"
+ required:
+ - "rdns"
+ x-akamai:
+ file-path: "schemas/added-put-linode-ip.yaml"
+ type: "object"
+ x-example:
+ x-ref: "../examples/put-linode-ip.json"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-ip-200.json"
+ schema:
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ properties:
+ vpc_nat_1_1:
+ additionalProperties: false
+ type: "object"
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ properties:
+ address:
+ example: "192.168.0.42"
+ format: "ipv4"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ type: "string"
+ vpc_id:
+ nullable: false
+ type: "integer"
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ readOnly: true
+ example: 111
+ subnet_id:
+ example: 101
+ description: "The `id` of the VPC Subnet for this Interface."
+ type: "integer"
+ nullable: false
+ region:
+ description: "__Read-only__ The Region this IP address resides in."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "us-east"
+ readOnly: true
+ address:
+ x-linode-cli-display: 1
+ format: "ip"
+ type: "string"
+ description: "__Read-only__ The IP address."
+ readOnly: true
+ example: "97.107.143.141"
+ type:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The type of address this is."
+ readOnly: true
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ public:
+ readOnly: true
+ example: true
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ subnet_mask:
+ type: "string"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ format: "ip"
+ example: "255.255.255.0"
+ readOnly: true
+ rdns:
+ example: "test.example.org"
+ nullable: true
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ type: "string"
+ x-linode-cli-display: 4
+ prefix:
+ type: "integer"
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ example: 24
+ readOnly: true
+ linode_id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 6
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ gateway:
+ readOnly: true
+ example: "97.107.143.1"
+ format: "ip"
+ description: "__Read-only__ The default gateway for this address."
+ type: "string"
+ nullable: true
+ additionalProperties: false
+ description: "The updated IP address record."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "updateLinodeIP"
+ x-original-op-title: "IP Address RDNS Update"
+ summary: "Update an IP address's RDNS for a Linode"
+ description: "Updates the reverse DNS (RDNS) for a Linode's IP Address. This may be done for both IPv4 and IPv6 addresses.\n\nSetting the RDNS to `null` for a public IPv4 address, resets it to the default `ip.linodeusercontent.com` RDNS value.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes ip-update 123 \\\n 203.0.113.1 \\\n --rdns test.example.org\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "ip-update"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes ip-update 123 \\\n 203.0.113.1 \\\n --rdns test.example.org"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"rdns\": \"test.example.org\"\n }' \\\n https://api.linode.com/v4/linode/instances/123/ips/203.0.113.1"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes ip-update 123 \\\n 203.0.113.1 \\\n --rdns test.example.org"
+ lang: "CLI"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-linode-ip"
+ operationId: "put-linode-ip"
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ properties:
+ address:
+ example: "97.107.143.141"
+ readOnly: true
+ description: "__Read-only__ The IP address."
+ type: "string"
+ x-linode-cli-display: 1
+ format: "ip"
+ region:
+ x-linode-cli-display: 5
+ type: "string"
+ description: "__Read-only__ The Region this IP address resides in."
+ readOnly: true
+ example: "us-east"
+ vpc_nat_1_1:
+ additionalProperties: false
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ type: "object"
+ properties:
+ subnet_id:
+ example: 101
+ description: "The `id` of the VPC Subnet for this Interface."
+ type: "integer"
+ nullable: false
+ vpc_id:
+ type: "integer"
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ nullable: false
+ readOnly: true
+ example: 111
+ address:
+ example: "192.168.0.42"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ type: "string"
+ format: "ipv4"
+ type:
+ x-linode-cli-display: 2
+ description: "__Read-only__ The type of address this is."
+ type: "string"
+ readOnly: true
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ example: "ipv4"
+ public:
+ readOnly: true
+ example: true
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ prefix:
+ type: "integer"
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ readOnly: true
+ example: 24
+ rdns:
+ example: "test.example.org"
+ x-linode-cli-display: 4
+ nullable: true
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ type: "string"
+ subnet_mask:
+ example: "255.255.255.0"
+ readOnly: true
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ type: "string"
+ format: "ip"
+ gateway:
+ readOnly: true
+ example: "97.107.143.1"
+ format: "ip"
+ description: "__Read-only__ The default gateway for this address."
+ type: "string"
+ nullable: true
+ linode_id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 6
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-linode-ip-200.json"
+ description: "A single IP address."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes ip-view 123 97.107.143.141"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances/123/ips/97.107.143.141"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes ip-view 123 97.107.143.141"
+ description: "View information about the specified IP address associated with the specified Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes ip-view 123 97.107.143.141\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "ip-view"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-ip"
+ operationId: "get-linode-ip"
+ x-original-op-id: "getLinodeIP"
+ x-original-op-title: "IP Address View"
+ summary: "Get a Linode's IP address"
+ x-akamai:
+ file-path: "paths/linode-ip-address.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/ips/{address}"
+ parameters:
+ -
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ name: "linodeId"
+ description: "The ID of the Linode."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/linode-id-path-820d9f86.yaml"
+ schema:
+ type: "integer"
+ required: true
+ -
+ schema:
+ format: "ip"
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/address-path-59ea51e6.yaml"
+ in: "path"
+ description: "The IP address."
+ name: "address"
+ x-linode-cli-command: "linodes"
+ /{apiVersion}/nodebalancers/{nodeBalancerId}/stats:
+ x-linode-cli-command: "nodebalancers"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ schema:
+ type: "integer"
+ description: "The ID of the NodeBalancer to access."
+ name: "nodeBalancerId"
+ required: true
+ x-akamai:
+ file-path: "parameters/node-balancer-id.yaml"
+ in: "path"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_only"
+ tags:
+ - "NodeBalancers"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-node-balancer-stats-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "Stats for this NodeBalancer."
+ properties:
+ data:
+ additionalProperties: false
+ description: "The data returned about this NodeBalancers."
+ type: "object"
+ properties:
+ traffic:
+ additionalProperties: false
+ properties:
+ in:
+ description: "An array of key/value pairs representing unix timestamp and reading for inbound traffic."
+ type: "array"
+ items:
+ type: "number"
+ example:
+ - 1526391300000
+ - 631.21
+ out:
+ items:
+ example:
+ - 1526391300000
+ - 103.44
+ type: "number"
+ type: "array"
+ description: "An array of key/value pairs representing unix timestamp and reading for outbound traffic."
+ type: "object"
+ description: "Traffic statistics for this NodeBalancer."
+ connections:
+ type: "array"
+ description: "An array of key/value pairs representing unix timestamp and reading for connections to this NodeBalancer."
+ items:
+ type: "number"
+ example:
+ - 1526391300000
+ - 0
+ title:
+ example: "linode.com - balancer12345 (12345) - day (5 min avg)"
+ description: "The title for the statistics generated in this response."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/node-balancer-stats.yaml"
+ description: "The requested stats."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "object"
+ x-original-op-id: "get-node-balancer-stats"
+ summary: "Get node balancer statistics"
+ x-original-op-title: "NodeBalancer Statistics View"
+ x-linode-cli-action: "stats"
+ x-linode-grant: "read_only"
+ description: "Returns detailed statistics about the requested NodeBalancer.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-akamai:
+ tabs:
+ -
+ syntax: "nodebalancers:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-skip: true
+ operationId: "get-node-balancer-stats"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-node-balancer-stats"
+ x-akamai:
+ path-info: "/{apiVersion}/nodebalancers/{nodeBalancerId}/stats"
+ file-path: "paths/stats.yaml"
+ /{apiVersion}/databases/instances:
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ get:
+ x-original-op-title: "Managed Databases List All"
+ summary: "List managed databases"
+ x-original-op-id: "getDatabasesInstances"
+ parameters:
+ -
+ required: false
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ -
+ schema:
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ default: 100
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-instances"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ operationId: "get-databases-instances"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "databases:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/instances"
+ lang: "Shell"
+ -
+ source: "linode-cli databases list"
+ lang: "CLI"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay all Managed Databases that are accessible by your User, regardless of engine type.\n\nFor more detailed information on a particular Database instance, make a request to its `instance_uri`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ readOnly: true
+ example: 1
+ -
+ type: "object"
+ properties:
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/database.yaml"
+ properties:
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ A unique ID that can be used to identify and reference the Managed Database."
+ type: "integer"
+ readOnly: true
+ example: 123
+ created:
+ example: "2022-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this Managed Database was created."
+ format: "date-time"
+ region:
+ example: "us-east"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID for the Managed Database."
+ allow_list:
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ type: "array"
+ items:
+ format: "ipv4/prefix_length"
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ type: "string"
+ cluster_size:
+ type: "integer"
+ description: "The number of Linode Instance nodes deployed to the Managed Database.\n\nChoosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes."
+ x-linode-cli-display: 5
+ default: 1
+ example: 3
+ enum:
+ - 1
+ - 3
+ status:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The operating status of the Managed Database."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 100
+ x-linode-cli-color:
+ default_: "white"
+ restoring: "yellow"
+ active: "green"
+ failed: "red"
+ provisioning: "yellow"
+ updating: "yellow"
+ degraded: "red"
+ resuming: "yellow"
+ x-linode-filterable: true
+ enum:
+ - "provisioning"
+ - "active"
+ - "suspending"
+ - "suspended"
+ - "resuming"
+ - "restoring"
+ - "failed"
+ - "degraded"
+ - "updating"
+ - "backing_up"
+ example: "active"
+ readOnly: true
+ hosts:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete."
+ properties:
+ secondary:
+ nullable: true
+ description: "The secondary/private network host for the Managed Database.\n\nA private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.\n\n__Note__. The secondary hostname is publicly viewable and accessible."
+ type: "string"
+ example: "lin-123-456-mysql-primary-private.servers.linodedb.net"
+ primary:
+ example: "lin-123-456-mysql-mysql-primary.servers.linodedb.net"
+ nullable: true
+ type: "string"
+ description: "The primary host for the Managed Database."
+ updates:
+ type: "object"
+ description: "Configuration settings for automated patch update maintenance for the Managed Database."
+ properties:
+ frequency:
+ example: "weekly"
+ enum:
+ - "weekly"
+ - "monthly"
+ default: "weekly"
+ type: "string"
+ description: "Whether maintenance occurs on a weekly or monthly basis."
+ day_of_week:
+ example: 1
+ description: "The day to perform maintenance. 1=Monday, 2=Tuesday, etc."
+ type: "integer"
+ minimum: 1
+ maximum: 7
+ week_of_month:
+ example: null
+ maximum: 4
+ nullable: true
+ minimum: 1
+ type: "integer"
+ description: "The week of the month to perform `monthly` frequency updates. Defaults to `null`.\n\n- Required for `monthly` frequency updates.\n\n- Must be `null` for `weekly` frequency updates."
+ duration:
+ description: "The maximum maintenance window time in hours."
+ type: "integer"
+ minimum: 1
+ maximum: 3
+ example: 3
+ hour_of_day:
+ minimum: 0
+ description: "The hour to begin maintenance based in UTC time."
+ type: "integer"
+ maximum: 23
+ example: 0
+ additionalProperties: false
+ engine:
+ readOnly: true
+ x-linode-filterable: true
+ enum:
+ - "mysql"
+ - "postgresql"
+ example: "mysql"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine type."
+ label:
+ minLength: 3
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "example-db"
+ maxLength: 32
+ type:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ description: "__Filterable__ The Linode Instance type used by the Managed Database for its nodes."
+ type: "string"
+ x-linode-filterable: true
+ example: "g6-dedicated-2"
+ instance_uri:
+ example: "/v4/databases/mysql/instances/123"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ Append this to `https://api.linode.com` to run commands for the Managed Database."
+ encrypted:
+ type: "boolean"
+ description: "Whether the Managed Databases is encrypted."
+ default: false
+ example: false
+ updated:
+ description: "__Read-only__ When this Managed Database was last updated."
+ type: "string"
+ format: "date-time"
+ example: "2022-01-01T00:01:01"
+ readOnly: true
+ version:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine version."
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "8.0.26"
+ x-linode-filterable: true
+ readOnly: true
+ type: "object"
+ description: "A general Managed Database instance object containing properties that are identical for all database types."
+ x-akamai:
+ file-path: "schemas/added-get-databases-instances-200.yaml"
+ example:
+ pages: 1
+ data:
+ -
+ engine: "mysql"
+ updates:
+ week_of_month: null
+ day_of_week: 1
+ frequency: "weekly"
+ duration: 3
+ hour_of_day: 0
+ label: "example-db"
+ type: "g6-dedicated-2"
+ encrypted: false
+ instance_uri: "/v4/databases/mysql/instances/123"
+ updated: "2022-01-01T00:01:01"
+ version: "8.0.26"
+ id: 123
+ created: "2022-01-01T00:01:01"
+ region: "us-east"
+ allow_list:
+ - "192.0.2.202/24"
+ - "192.0.2.14/24"
+ cluster_size: 3
+ status: "active"
+ hosts:
+ primary: "lin-123-456-mysql-mysql-primary.servers.linodedb.net"
+ secondary: "lin-123-456-mysql-primary-private.servers.linodedb.net"
+ page: 1
+ results: 1
+ description: "Returns a paginated list of all accessible Managed Databases on your Account."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ path-info: "/{apiVersion}/databases/instances"
+ file-path: "paths/database-instances.yaml"
+ x-linode-cli-command: "databases"
+ /{apiVersion}/account/child-accounts/{euuid}:
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ schema:
+ type: "string"
+ required: true
+ description: "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`."
+ name: "euuid"
+ x-akamai:
+ file-path: "parameters/eeuid.yaml"
+ in: "path"
+ x-akamai:
+ path-info: "/{apiVersion}/account/child-accounts/{euuid}"
+ file-path: "paths/child-account.yaml"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "child_account:read_only"
+ tags:
+ - "Account"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "Child account object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/child-account.yaml"
+ properties:
+ tax_id:
+ maxLength: 25
+ example: "ATU99999999"
+ type: "string"
+ description: "The tax identification number for this child account. Use this for tax calculations in some countries. If you live in a country that doesn't collect taxes, ensure this is an empty string (`\"\"`)."
+ phone:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The phone number for the owner of this child account."
+ maxLength: 32
+ example: "858-555-1212"
+ x-linode-filterable: true
+ company:
+ maxLength: 128
+ example: "Acme"
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value."
+ x-akamai:
+ labels:
+ - "Filterable"
+ billing_source:
+ description: "__Read-only__ The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment."
+ type: "string"
+ enum:
+ - "external"
+ example: "external"
+ readOnly: true
+ email:
+ x-linode-filterable: true
+ maxLength: 128
+ example: "john.smith@linode.com"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__ The email address of the owner of this child account."
+ type: "string"
+ balance_uninvoiced:
+ readOnly: true
+ example: 145
+ x-linode-cli-display: 4
+ type: "number"
+ description: "__Read-only__ This child account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ last_name:
+ x-linode-filterable: true
+ example: "Smith"
+ maxLength: 50
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ country:
+ x-linode-filterable: true
+ example: "US"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The two-letter ISO 3166 country code for this child account's billing address."
+ type: "string"
+ address_1:
+ type: "string"
+ description: "__Filterable__ First line of this child account's billing address."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "123 Main Street"
+ maxLength: 64
+ euuid:
+ description: "__Read-only__ An external, unique identifier that Akamai assigned to the child account."
+ type: "string"
+ format: "uuid"
+ example: "A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ readOnly: true
+ credit_card:
+ type: "object"
+ description: "__Read-only__ Information for the credit card you've assigned to this child account."
+ properties:
+ expiry:
+ type: "string"
+ description: "The expiration month and year of the credit card."
+ example: "11/2024"
+ last_four:
+ example: 1111
+ type: "string"
+ description: "The last four digits of the credit card."
+ additionalProperties: false
+ readOnly: true
+ city:
+ type: "string"
+ description: "__Filterable__ The city for this child account's billing address."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "San Diego"
+ maxLength: 24
+ state:
+ x-linode-filterable: true
+ maxLength: 24
+ example: "CA"
+ type: "string"
+ description: "__Filterable__ The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.\n\n__Note__. If this is a US military address, use state abbreviations (AA, AE, AP)."
+ x-akamai:
+ labels:
+ - "Filterable"
+ balance:
+ x-linode-cli-display: 4
+ type: "number"
+ description: "__Read-only__ This child account's balance, in US dollars."
+ readOnly: true
+ example: 200
+ active_since:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ The activation date and time for the child account."
+ type: "string"
+ first_name:
+ x-linode-filterable: true
+ maxLength: 50
+ example: "John"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Filterable__ The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ address_2:
+ description: "__Filterable__ Second line of this child account's billing address, if applicable."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "Suite A"
+ maxLength: 64
+ capabilities:
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ A list of the capabilities the child account supports."
+ items:
+ type: "string"
+ zip:
+ description: "__Filterable__ The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Can't contain more than 9 letter or number characters."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: "92111-1234"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-child-account-200.json"
+ description: "Returns the child-level account for a specified `euuid`."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "viewChildAccount"
+ summary: "Get a child account"
+ x-original-op-title: "Child Account View"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/child-accounts/A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ -
+ source: "linode-cli child-account view A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli child-account view A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "child_account:read_only"
+ x-linode-cli-action:
+ - "view"
+ x-linode-grant: "child_account_access"
+ description: "View a specific child account based on its `euuid`. See [Parent and Child Accounts for Akamai Partners](https://www.linode.com/docs/guides/parent-child-accounts/) for details on these accounts.\n\n__Note__. This operation can only be accessed by an unrestricted user, or restricted user with the `child_account_access` grant.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account view A1BC2DEF-34GH-567I-J890KLMN12O34P56\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-child-account"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-child-account"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-linode-cli-command: "child-account"
+ /{apiVersion}/managed/credentials:
+ post:
+ description: "Creates a Managed Credential. A Managed Credential is stored securely to allow Linode special forces to access your Managed Services and resolve issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-create \\\n --label prod-password-1 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action: "credential-create"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli managed credential-create \\\n --label prod-password-1 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd"
+ title: "CLI"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"label\": \"prod-password-1\",\n \"username\": \"johndoe\",\n \"password\": \"s3cur3P@ssw0rd\"\n }' \\\n https://api.linode.com/v4/managed/credentials"
+ -
+ lang: "CLI"
+ source: "linode-cli managed credential-create \\\n --label prod-password-1 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-managed-credential"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-managed-credential"
+ x-original-op-id: "createManagedCredential"
+ x-original-op-title: "Managed Credential Create"
+ summary: "Create a managed credential"
+ requestBody:
+ description: "Information about the Credential to create."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-managed-credential.json"
+ schema:
+ allOf:
+ -
+ properties:
+ label:
+ minLength: 2
+ type: "string"
+ description: "The unique label for this Credential. This is for display purposes only."
+ x-linode-cli-display: 2
+ maxLength: 75
+ example: "prod-password-1"
+ pattern: "[a-zA-Z0-9-_ \\.]{2,75}"
+ id:
+ example: 9991
+ readOnly: true
+ description: "__Read-only__ This Credential's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ last_decrypted:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Read-only__ The date this Credential was last decrypted by a member of Linode special forces."
+ x-akamai:
+ file-path: "schemas/managed-credential.yaml"
+ type: "object"
+ description: "A securely-stored Credential that allows Linode's special forces to access a Managed server to respond to Issues."
+ additionalProperties: false
+ -
+ type: "object"
+ properties:
+ username:
+ type: "string"
+ description: "The username to use when accessing the Managed Service."
+ example: "johndoe"
+ maxLength: 5000
+ minLength: 0
+ password:
+ description: "The password to use when accessing the Managed Service."
+ type: "string"
+ example: "s3cur3P@ssw0rd"
+ x-akamai:
+ file-path: "schemas/added-post-managed-credential.yaml"
+ required:
+ - "label"
+ - "password"
+ responses:
+ 200:
+ description: "Credential created."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-managed-credential-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "A securely-stored Credential that allows Linode's special forces to access a Managed server to respond to Issues."
+ x-akamai:
+ file-path: "schemas/managed-credential.yaml"
+ properties:
+ last_decrypted:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Read-only__ The date this Credential was last decrypted by a member of Linode special forces."
+ id:
+ description: "__Read-only__ This Credential's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 9991
+ readOnly: true
+ label:
+ pattern: "[a-zA-Z0-9-_ \\.]{2,75}"
+ example: "prod-password-1"
+ maxLength: 75
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The unique label for this Credential. This is for display purposes only."
+ minLength: 2
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ x-linode-cli-command: "managed"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ x-akamai:
+ path-info: "/{apiVersion}/managed/credentials"
+ file-path: "paths/credentials.yaml"
+ get:
+ x-linode-cli-action: "credentials-list"
+ description: "Returns a paginated list of Managed Credentials on your Account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credentials-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/managed/credentials"
+ -
+ source: "linode-cli managed credentials-list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli managed credentials-list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "get-managed-credentials"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-managed-credentials"
+ parameters:
+ -
+ required: false
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ name: "page"
+ description: "The page of a collection to return."
+ -
+ schema:
+ default: 100
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ x-original-op-id: "getManagedCredentials"
+ summary: "List managed credentials"
+ x-original-op-title: "Managed Credentials List"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ page:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ items:
+ x-akamai:
+ file-path: "schemas/managed-credential.yaml"
+ properties:
+ id:
+ readOnly: true
+ example: 9991
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Credential's unique ID."
+ label:
+ example: "prod-password-1"
+ maxLength: 75
+ pattern: "[a-zA-Z0-9-_ \\.]{2,75}"
+ minLength: 2
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The unique label for this Credential. This is for display purposes only."
+ last_decrypted:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ The date this Credential was last decrypted by a member of Linode special forces."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 3
+ type: "object"
+ description: "A securely-stored Credential that allows Linode's special forces to access a Managed server to respond to Issues."
+ additionalProperties: false
+ type: "array"
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/added-get-managed-credentials-200.yaml"
+ x-example:
+ x-ref: "../examples/get-managed-credentials-200.json"
+ description: "A paginated list of ManagedCredentials."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Managed"
+ /{apiVersion}/databases/mysql/instances/{instanceId}:
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ name: "instanceId"
+ description: "The ID of the Managed PostgreSQL Database."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/instance-id-path.yaml"
+ required: true
+ schema:
+ type: "integer"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_only"
+ tags:
+ - "Databases"
+ responses:
+ 200:
+ description: "Returns information for a single Managed MySQL Database."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-databases-mysql-instance-200.json"
+ schema:
+ additionalProperties: false
+ description: "Managed MySQL Databases object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/database-mysql.yaml"
+ properties:
+ port:
+ example: 3306
+ description: "The access port for this Managed Database."
+ type: "integer"
+ x-linode-cli-display: 98
+ engine:
+ readOnly: true
+ example: "mysql"
+ x-linode-filterable: true
+ x-linode-cli-display: 8
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine type."
+ updates:
+ properties:
+ week_of_month:
+ maximum: 4
+ example: null
+ nullable: true
+ description: "The week of the month to perform `monthly` frequency updates. Defaults to `null`.\n\n- Required for `monthly` frequency updates.\n\n- Must be `null` for `weekly` frequency updates."
+ minimum: 1
+ type: "integer"
+ day_of_week:
+ example: 1
+ maximum: 7
+ description: "The day to perform maintenance. 1=Monday, 2=Tuesday, etc."
+ minimum: 1
+ type: "integer"
+ frequency:
+ example: "weekly"
+ enum:
+ - "weekly"
+ - "monthly"
+ default: "weekly"
+ type: "string"
+ description: "Whether maintenance occurs on a weekly or monthly basis."
+ duration:
+ example: 3
+ description: "The maximum maintenance window time in hours."
+ type: "integer"
+ minimum: 1
+ maximum: 3
+ hour_of_day:
+ example: 0
+ description: "The hour to begin maintenance based in UTC time."
+ minimum: 0
+ type: "integer"
+ maximum: 23
+ type: "object"
+ description: "Configuration settings for automated patch update maintenance for the Managed Database."
+ additionalProperties: false
+ ssl_connection:
+ default: true
+ type: "boolean"
+ description: "Whether to require SSL credentials to establish a connection to the Managed Database.\n\nRun the [Get managed MySQL database credentials](https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance-credentials) operation for access information."
+ example: true
+ replication_type:
+ description: "The replication method used for the Managed Database.\n\nDefaults to `none` for a single cluster and `semi_synch` for a high availability cluster.\n\nMust be `none` for a single node cluster.\n\nMust be `asynch` or `semi_synch` for a high availability cluster."
+ type: "string"
+ x-linode-cli-display: 99
+ enum:
+ - "none"
+ - "asynch"
+ - "semi_synch"
+ example: "semi_synch"
+ version:
+ readOnly: true
+ example: "8.0.26"
+ x-linode-filterable: true
+ x-linode-cli-display: 9
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The Managed Database engine version."
+ type: "string"
+ updated:
+ description: "__Read-only__ When this Managed Database was last updated."
+ type: "string"
+ format: "date-time"
+ example: "2022-01-01T00:01:01"
+ readOnly: true
+ type:
+ description: "__Filterable__ The Linode Instance type used by the Managed Database for its nodes."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ x-linode-filterable: true
+ example: "g6-dedicated-2"
+ label:
+ type: "string"
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 3
+ x-linode-filterable: true
+ example: "example-db"
+ maxLength: 32
+ encrypted:
+ example: false
+ type: "boolean"
+ description: "Whether the Managed Databases is encrypted."
+ default: false
+ created:
+ example: "2022-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this Managed Database was created."
+ format: "date-time"
+ region:
+ example: "us-east"
+ x-linode-filterable: true
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID for the Managed Database."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ example: 123
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ A unique ID that can be used to identify and reference the Managed Database."
+ x-linode-cli-display: 1
+ used_disk_size_gb:
+ description: "The used space of the database in GB."
+ type: "integer"
+ x-linode-cli-display: 6
+ example: 2
+ total_disk_size_gb:
+ example: 15
+ x-linode-cli-display: 5
+ description: "The total disk size of the database in GB."
+ type: "integer"
+ cluster_size:
+ default: 1
+ enum:
+ - 1
+ - 3
+ example: 3
+ description: "The number of Linode Instance nodes deployed to the Managed Database.\n\nChoosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes."
+ type: "integer"
+ x-linode-cli-display: 7
+ status:
+ readOnly: true
+ x-linode-filterable: true
+ enum:
+ - "provisioning"
+ - "active"
+ - "suspending"
+ - "suspended"
+ - "resuming"
+ - "restoring"
+ - "failed"
+ - "degraded"
+ - "updating"
+ - "backing_up"
+ example: "active"
+ x-linode-cli-color:
+ resuming: "yellow"
+ degraded: "red"
+ restoring: "yellow"
+ failed: "red"
+ default_: "white"
+ active: "green"
+ provisioning: "yellow"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 100
+ description: "__Filterable__, __Read-only__ The operating status of the Managed Database."
+ type: "string"
+ hosts:
+ properties:
+ secondary:
+ description: "The secondary/private network host for the Managed Database.\n\nA private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.\n\n__Note__. The secondary hostname is publicly viewable and accessible."
+ type: "string"
+ nullable: true
+ example: "lin-123-456-mysql-primary-private.servers.linodedb.net"
+ primary:
+ nullable: true
+ type: "string"
+ description: "The primary host for the Managed Database."
+ example: "lin-123-456-mysql-mysql-primary.servers.linodedb.net"
+ description: "__Read-only__ The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete."
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ allow_list:
+ items:
+ format: "ipv4/prefix_length"
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ type: "string"
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ type: "array"
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ type: "object"
+ summary: "Get a managed MySQL database"
+ x-original-op-title: "Managed MySQL Database View"
+ x-original-op-id: "getDatabasesMySQLInstance"
+ operationId: "get-databases-mysql-instance"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/mysql/instances/123"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-view 123"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases mysql-view 123"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "databases:read_only"
+ title: "OAuth scopes"
+ x-linode-cli-action: "mysql-view"
+ x-linode-grant: "read_only"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay information for a single, accessible Managed MySQL Database.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-command: "databases"
+ put:
+ x-linode-grant: "read_write"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nUpdate a Managed MySQL Database.\n\nRequires `read_write` access to the Database.\n\nThe Database must have an `active` status to perform this operation.\n\nUpdating addresses in the `allow_list` overwrites any existing addresses.\n\n- IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.\n\n- If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.\n\n- Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.\n\n- __Note__. Updates to the `allow_list` may take a short period of time to complete, making this operation inappropriate for rapid successive updates to this property.\n\nAll Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed MySQL Database. The maintenance window for these updates is configured with the Managed Database's `updates` property.\n\n- If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.\n\n- __The database software is not updated automatically.__ To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then [migrate your databases](https://www.linode.com/docs/products/databases/managed-databases/guides/migrate-mysql/) from the original Managed Database cluster to the new one.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-update 123 \\\n --label example-db \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24 \\\n --type g6-standard-1 \\\n --updates.frequency monthly \\\n --updates.duration 3 \\\n --updates.hour_of_day 12 \\\n --updates.day_of_week 4 \\\n --updates.week_of_month 3\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "mysql-update"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases mysql-update 123 \\\n --label example-db \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24 \\\n --type g6-standard-1 \\\n --updates.frequency monthly \\\n --updates.duration 3 \\\n --updates.hour_of_day 12 \\\n --updates.day_of_week 4 \\\n --updates.week_of_month 3"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "databases:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"label\": \"example-db\",\n \"allow_list\": [\n \"203.0.113.1\",\n \"192.0.1.0/24\"\n ],\n \"type\": \"g6-standard-1\",\n \"updates\": {\n \"frequency\": \"monthly\",\n \"duration\": 3,\n \"hour_of_day\": 12,\n \"day_of_week\": 4,\n \"week_of_month\": 3\n }\n }' \\\n https://api.linode.com/v4/databases/mysql/instances/123"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-update 123 \\\n --label example-db \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24 \\\n --type g6-standard-1 \\\n --updates.frequency monthly \\\n --updates.duration 3 \\\n --updates.hour_of_day 12 \\\n --updates.day_of_week 4 \\\n --updates.week_of_month 3"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-databases-mysql-instance"
+ operationId: "put-databases-mysql-instance"
+ x-original-op-id: "putDatabasesMySQLInstance"
+ x-original-op-title: "Managed MySQL Database Update"
+ summary: "Update a managed MySQL database"
+ requestBody:
+ description: "Updated information for the Managed MySQL Database."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-databases-mysql-instance.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-put-databases-mysql-instance.yaml"
+ properties:
+ allow_list:
+ items:
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ type: "string"
+ format: "ipv4/prefix_length"
+ type: "array"
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ label:
+ maxLength: 32
+ example: "example-db"
+ x-linode-filterable: true
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 3
+ type:
+ description: "Request re-sizing of your cluster to a Linode Type with more disk space. For example, you could request a Linode Type that uses a higher plan.\n\n- Needs to be a Linode Type with more disk space than your current Linode.\n\n- Resizing to a larger Linode Type can accrue additional cost. Review the `price` output in the [List types](https://techdocs.akamai.com/linode-api/reference/get-linode-types) operation for more information.\n\n- You can't update the `allow_list` and set a new `type` in the same request.\n\n- Any active updates to your cluster need to complete before you can request a resize. The reverse is also true: An active resizing needs to complete before you can perform any other update."
+ type: "string"
+ example: "g6-standard-1"
+ updates:
+ additionalProperties: false
+ properties:
+ frequency:
+ type: "string"
+ description: "Whether maintenance occurs on a weekly or monthly basis."
+ default: "weekly"
+ example: "weekly"
+ enum:
+ - "weekly"
+ - "monthly"
+ week_of_month:
+ maximum: 4
+ example: null
+ nullable: true
+ minimum: 1
+ description: "The week of the month to perform `monthly` frequency updates. Defaults to `null`.\n\n- Required for `monthly` frequency updates.\n\n- Must be `null` for `weekly` frequency updates."
+ type: "integer"
+ day_of_week:
+ type: "integer"
+ minimum: 1
+ description: "The day to perform maintenance. 1=Monday, 2=Tuesday, etc."
+ maximum: 7
+ example: 1
+ duration:
+ type: "integer"
+ description: "The maximum maintenance window time in hours."
+ minimum: 1
+ maximum: 3
+ example: 3
+ hour_of_day:
+ description: "The hour to begin maintenance based in UTC time."
+ minimum: 0
+ type: "integer"
+ maximum: 23
+ example: 0
+ description: "Configuration settings for automated patch update maintenance for the Managed Database."
+ type: "object"
+ type: "object"
+ description: "Updated information for the Managed MySQL Database."
+ additionalProperties: false
+ required: true
+ responses:
+ 200:
+ description: "Managed Database updated successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-databases-mysql-instance-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/database-mysql.yaml"
+ properties:
+ label:
+ x-linode-filterable: true
+ maxLength: 32
+ example: "example-db"
+ minLength: 3
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type:
+ example: "g6-dedicated-2"
+ x-linode-filterable: true
+ description: "__Filterable__ The Linode Instance type used by the Managed Database for its nodes."
+ type: "string"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ encrypted:
+ default: false
+ description: "Whether the Managed Databases is encrypted."
+ type: "boolean"
+ example: false
+ replication_type:
+ type: "string"
+ description: "The replication method used for the Managed Database.\n\nDefaults to `none` for a single cluster and `semi_synch` for a high availability cluster.\n\nMust be `none` for a single node cluster.\n\nMust be `asynch` or `semi_synch` for a high availability cluster."
+ x-linode-cli-display: 99
+ example: "semi_synch"
+ enum:
+ - "none"
+ - "asynch"
+ - "semi_synch"
+ updated:
+ example: "2022-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Managed Database was last updated."
+ type: "string"
+ format: "date-time"
+ version:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine version."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 9
+ x-linode-filterable: true
+ example: "8.0.26"
+ readOnly: true
+ ssl_connection:
+ example: true
+ type: "boolean"
+ description: "Whether to require SSL credentials to establish a connection to the Managed Database.\n\nRun the [Get managed MySQL database credentials](https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance-credentials) operation for access information."
+ default: true
+ port:
+ type: "integer"
+ description: "The access port for this Managed Database."
+ x-linode-cli-display: 98
+ example: 3306
+ engine:
+ description: "__Filterable__, __Read-only__ The Managed Database engine type."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 8
+ x-linode-filterable: true
+ example: "mysql"
+ readOnly: true
+ updates:
+ additionalProperties: false
+ description: "Configuration settings for automated patch update maintenance for the Managed Database."
+ type: "object"
+ properties:
+ hour_of_day:
+ example: 0
+ type: "integer"
+ description: "The hour to begin maintenance based in UTC time."
+ minimum: 0
+ maximum: 23
+ duration:
+ maximum: 3
+ type: "integer"
+ minimum: 1
+ description: "The maximum maintenance window time in hours."
+ example: 3
+ week_of_month:
+ description: "The week of the month to perform `monthly` frequency updates. Defaults to `null`.\n\n- Required for `monthly` frequency updates.\n\n- Must be `null` for `weekly` frequency updates."
+ type: "integer"
+ minimum: 1
+ nullable: true
+ maximum: 4
+ example: null
+ day_of_week:
+ example: 1
+ description: "The day to perform maintenance. 1=Monday, 2=Tuesday, etc."
+ minimum: 1
+ type: "integer"
+ maximum: 7
+ frequency:
+ enum:
+ - "weekly"
+ - "monthly"
+ example: "weekly"
+ default: "weekly"
+ description: "Whether maintenance occurs on a weekly or monthly basis."
+ type: "string"
+ allow_list:
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ items:
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ type: "string"
+ format: "ipv4/prefix_length"
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ type: "array"
+ total_disk_size_gb:
+ type: "integer"
+ description: "The total disk size of the database in GB."
+ x-linode-cli-display: 5
+ example: 15
+ cluster_size:
+ type: "integer"
+ description: "The number of Linode Instance nodes deployed to the Managed Database.\n\nChoosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes."
+ x-linode-cli-display: 7
+ example: 3
+ enum:
+ - 1
+ - 3
+ default: 1
+ hosts:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ secondary:
+ example: "lin-123-456-mysql-primary-private.servers.linodedb.net"
+ nullable: true
+ type: "string"
+ description: "The secondary/private network host for the Managed Database.\n\nA private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.\n\n__Note__. The secondary hostname is publicly viewable and accessible."
+ primary:
+ example: "lin-123-456-mysql-mysql-primary.servers.linodedb.net"
+ description: "The primary host for the Managed Database."
+ type: "string"
+ nullable: true
+ description: "__Read-only__ The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete."
+ type: "object"
+ status:
+ description: "__Filterable__, __Read-only__ The operating status of the Managed Database."
+ type: "string"
+ x-linode-cli-display: 100
+ x-akamai:
+ labels:
+ - "Filterable"
+ enum:
+ - "provisioning"
+ - "active"
+ - "suspending"
+ - "suspended"
+ - "resuming"
+ - "restoring"
+ - "failed"
+ - "degraded"
+ - "updating"
+ - "backing_up"
+ example: "active"
+ x-linode-filterable: true
+ readOnly: true
+ x-linode-cli-color:
+ degraded: "red"
+ resuming: "yellow"
+ restoring: "yellow"
+ active: "green"
+ failed: "red"
+ default_: "white"
+ provisioning: "yellow"
+ id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ A unique ID that can be used to identify and reference the Managed Database."
+ used_disk_size_gb:
+ example: 2
+ x-linode-cli-display: 6
+ description: "The used space of the database in GB."
+ type: "integer"
+ created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Database was created."
+ readOnly: true
+ example: "2022-01-01T00:01:01"
+ region:
+ x-linode-filterable: true
+ example: "us-east"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID for the Managed Database."
+ type: "string"
+ description: "Managed MySQL Databases object."
+ type: "object"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ delete:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-databases-mysql-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ operationId: "delete-databases-mysql-instance"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nRemove a Managed MySQL Database from your Account.\n\nRequires `read_write` access to the Database.\n\nThe Database must have an `active`, `failed`, or `degraded` status to perform this operation.\n\nOnly unrestricted Users can access this operation, and have access regardless of the acting token's OAuth scopes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-delete 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "mysql-delete"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli databases mysql-delete 123"
+ -
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/databases/mysql/instances/123"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-delete 123"
+ x-original-op-title: "Managed MySQL Database Delete"
+ summary: "Delete a managed MySQL database"
+ x-original-op-id: "deleteDatabasesMySQLInstance"
+ responses:
+ 200:
+ description: "Managed MySQL Database successfully deleted."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-databases-mysql-instance-200.json"
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ x-akamai:
+ file-path: "paths/mysql-instance.yaml"
+ path-info: "/{apiVersion}/databases/mysql/instances/{instanceId}"
+ /{apiVersion}/databases/postgresql/instances:
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ example:
+ results: 1
+ pages: 1
+ page: 1
+ data:
+ -
+ ssl_connection: true
+ engine: "postgresql"
+ replication_commit_type: "local"
+ updates:
+ frequency: "weekly"
+ day_of_week: 1
+ week_of_month: null
+ duration: 3
+ hour_of_day: 0
+ port: 3306
+ encrypted: false
+ type: "g6-dedicated-2"
+ label: "example-db"
+ version: "13.2"
+ updated: "2022-01-01T00:01:01"
+ replication_type: "async"
+ used_disk_size_gb: 2
+ id: 123
+ region: "us-east"
+ created: "2022-01-01T00:01:01"
+ allow_list:
+ - "192.0.2.122/24"
+ - "192.0.2.133/24"
+ status: "active"
+ hosts:
+ secondary: "lin-0000-000-pgsql-primary-private.servers.linodedb.net"
+ primary: "lin-0000-000-pgsql-primary.servers.linodedb.net"
+ total_disk_size_gb: 15
+ cluster_size: 3
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ -
+ properties:
+ data:
+ items:
+ properties:
+ version:
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine version."
+ readOnly: true
+ example: "13.2"
+ x-linode-filterable: true
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Database was last updated."
+ readOnly: true
+ example: "2022-01-01T00:01:01"
+ replication_type:
+ description: "The replication method used for the Managed Database.\n\nDefaults to `none` for a single cluster and `asynch` for a high availability cluster.\n\nMust be `none` for a single node cluster.\n\nMust be `asynch` for a high availability cluster."
+ type: "string"
+ x-linode-cli-display: 99
+ enum:
+ - "none"
+ - "asynch"
+ example: "async"
+ encrypted:
+ type: "boolean"
+ description: "Whether the Managed Databases is encrypted."
+ default: false
+ example: false
+ type:
+ description: "__Filterable__ The Linode Instance type used by the Managed Database for its nodes."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ x-linode-filterable: true
+ example: "g6-dedicated-2"
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ type: "string"
+ minLength: 3
+ x-linode-filterable: true
+ example: "example-db"
+ maxLength: 32
+ replication_commit_type:
+ enum:
+ - true
+ - "local"
+ - "remote_write"
+ - "remote_apply"
+ - false
+ example: "local"
+ type: "string"
+ description: "The synchronization level of the replicating server.\n\nMust be `local` or `off` for the `asynch` replication type."
+ default: "local"
+ x-linode-cli-display: 100
+ engine:
+ x-linode-filterable: true
+ example: "postgresql"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The Managed Database engine type."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ updates:
+ additionalProperties: false
+ properties:
+ hour_of_day:
+ maximum: 23
+ minimum: 0
+ description: "The hour to begin maintenance based in UTC time."
+ type: "integer"
+ example: 0
+ duration:
+ example: 3
+ minimum: 1
+ description: "The maximum maintenance window time in hours."
+ type: "integer"
+ maximum: 3
+ frequency:
+ default: "weekly"
+ type: "string"
+ description: "Whether maintenance occurs on a weekly or monthly basis."
+ enum:
+ - "weekly"
+ - "monthly"
+ example: "weekly"
+ week_of_month:
+ nullable: true
+ maximum: 4
+ minimum: 1
+ type: "integer"
+ description: "The week of the month to perform `monthly` frequency updates. Defaults to `null`.\n\n- Required for `monthly` frequency updates.\n\n- Must be `null` for `weekly` frequency updates."
+ example: null
+ day_of_week:
+ example: 1
+ maximum: 7
+ type: "integer"
+ minimum: 1
+ description: "The day to perform maintenance. 1=Monday, 2=Tuesday, etc."
+ type: "object"
+ description: "Configuration settings for automated patch update maintenance for the Managed Database."
+ port:
+ example: 3306
+ x-linode-cli-display: 98
+ description: "The access port for this Managed Database."
+ type: "integer"
+ ssl_connection:
+ example: true
+ default: true
+ description: "Whether to require SSL credentials to establish a connection to the Managed Database.\n\nRun the [Get managed PostgreSQL database credentials](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instance-credentials) operation for access information."
+ type: "boolean"
+ hosts:
+ properties:
+ primary:
+ example: "lin-0000-000-pgsql-primary.servers.linodedb.net"
+ description: "The primary host for the Managed Database."
+ type: "string"
+ nullable: true
+ secondary:
+ example: "lin-0000-000-pgsql-primary-private.servers.linodedb.net"
+ nullable: true
+ description: "The secondary/private network host for the Managed Database.\n\nA private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.\n\n__Note__. The secondary hostname is publicly viewable and accessible."
+ type: "string"
+ type: "object"
+ description: "__Read-only__ The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete."
+ additionalProperties: false
+ readOnly: true
+ status:
+ readOnly: true
+ x-linode-filterable: true
+ example: "active"
+ enum:
+ - "provisioning"
+ - "active"
+ - "suspending"
+ - "suspended"
+ - "resuming"
+ - "restoring"
+ - "failed"
+ - "degraded"
+ - "updating"
+ - "backing_up"
+ x-linode-cli-color:
+ provisioning: "yellow"
+ failed: "red"
+ default_: "white"
+ active: "green"
+ restoring: "yellow"
+ resuming: "yellow"
+ degraded: "red"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 100
+ description: "__Filterable__, __Read-only__ The operating status of the Managed Database."
+ type: "string"
+ total_disk_size_gb:
+ example: 15
+ description: "The total disk size of the database in GB."
+ type: "integer"
+ x-linode-cli-display: 8
+ cluster_size:
+ x-linode-cli-display: 5
+ type: "integer"
+ description: "The number of Linode Instance nodes deployed to the Managed Database.\n\nChoosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes."
+ default: 1
+ example: 3
+ enum:
+ - 1
+ - 3
+ allow_list:
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ items:
+ type: "string"
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ format: "ipv4/prefix_length"
+ type: "array"
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ region:
+ example: "us-east"
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID for the Managed Database."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ created:
+ readOnly: true
+ example: "2022-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Database was created."
+ used_disk_size_gb:
+ x-linode-cli-display: 9
+ type: "integer"
+ description: "The used space of the database in GB."
+ example: 2
+ id:
+ description: "__Read-only__ A unique ID that can be used to identify and reference the Managed Database."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 123
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/database-postgresql.yaml"
+ type: "object"
+ description: "Managed PostgreSQL Databases object."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-databases-postgre-sql-instances-200.yaml"
+ description: "Returns a paginated list of all accessible Managed PostgreSQL Databases on your Account."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_only"
+ x-linode-grant: "read_only"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay all accessible Managed PostgreSQL Databases.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "postgresql-list"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases postgresql-list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/postgresql/instances/"
+ lang: "Shell"
+ -
+ source: "linode-cli databases postgresql-list"
+ lang: "CLI"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-databases-postgre-sql-instances"
+ parameters:
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ -
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ x-original-op-id: "getDatabasesPostgreSQLInstances"
+ x-original-op-title: "Managed PostgreSQL Databases List"
+ summary: "List managed PostgreSQL databases"
+ x-akamai:
+ path-info: "/{apiVersion}/databases/postgresql/instances"
+ file-path: "paths/postgresql-instances.yaml"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ x-linode-cli-command: "databases"
+ post:
+ x-original-op-title: "Managed PostgreSQL Database Create"
+ summary: "Create a managed PostgreSQL database"
+ x-original-op-id: "postDatabasesPostgreSQLInstances"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-databases-postgre-sql-instances"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-databases-postgre-sql-instances"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nProvision a Managed PostgreSQL Database.\n\nRestricted Users must have the `add_databases` grant to use this operation.\n\nNew instances can take approximately 15 to 30 minutes to provision.\n\nThe `allow_list` is used to control access to the Managed Database.\n\n- IP addresses and ranges in this list can access the Managed Database. All other sources are blocked.\n\n- If `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database.\n\n- Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.\n\nAll Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.\n\nAll Managed Databases include automatic patch updates, which apply security patches and updates to the underlying operating system of the Managed PostgreSQL Database during configurable maintenance windows.\n\n- If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.\n\n- __The database software is not updated automatically.__ To upgrade to a new database engine version, consider deploying a new Managed Database with your preferred version. You can then migrate your databases from the original Managed Database cluster to the new one.\n\n- To modify update the maintenance window for a Database, run the [Update a managed PostgreSQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-postgre-sql-instance) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-create \\\n --label example-db \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine postgresql/13.2 \\\n --encrypted false \\\n --ssl_connection false \\\n --replication_type asynch \\\n --replication_commit_type local \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_databases"
+ x-linode-cli-action: "postgresql-create"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases postgresql-create \\\n --label example-db \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine postgresql/13.2 \\\n --encrypted false \\\n --ssl_connection false \\\n --replication_type asynch \\\n --replication_commit_type local \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "databases:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\ -H \"Authorization: Bearer $TOKEN\" \\ -X POST -d '{\n \"label\": \"example-db\",\n \"region\": \"us-east\",\n \"type\": \"g6-dedicated-2\",\n \"cluster_size\": 3,\n \"engine\": \"postgresql/13.2\",\n \"encrypted\": false,\n \"ssl_connection\": false,\n \"replication_type\": \"asynch\",\n \"replication_commit_type\": \"local\",\n \"allow_list\": [\n \"203.0.113.1\",\n \"192.0.1.0/24\"\n ]\n}' \\ https://api.linode.com/v4/databases/postgresql/instances"
+ -
+ lang: "CLI"
+ source: "linode-cli databases postgresql-create \\\n --label example-db \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine postgresql/13.2 \\\n --encrypted false \\\n --ssl_connection false \\\n --replication_type asynch \\\n --replication_commit_type local \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24"
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ responses:
+ 200:
+ description: "A new Managed PostgreSQL Database is provisioning."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "Managed PostgreSQL Databases object."
+ properties:
+ type:
+ example: "g6-dedicated-2"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The Linode Instance type used by the Managed Database for its nodes."
+ label:
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 3
+ example: "example-db"
+ maxLength: 32
+ x-linode-filterable: true
+ encrypted:
+ example: false
+ description: "Whether the Managed Databases is encrypted."
+ type: "boolean"
+ default: false
+ replication_type:
+ example: "async"
+ enum:
+ - "none"
+ - "asynch"
+ description: "The replication method used for the Managed Database.\n\nDefaults to `none` for a single cluster and `asynch` for a high availability cluster.\n\nMust be `none` for a single node cluster.\n\nMust be `asynch` for a high availability cluster."
+ type: "string"
+ x-linode-cli-display: 99
+ version:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine version."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 7
+ x-linode-filterable: true
+ example: "13.2"
+ readOnly: true
+ updated:
+ example: "2022-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Managed Database was last updated."
+ type: "string"
+ format: "date-time"
+ ssl_connection:
+ default: true
+ description: "Whether to require SSL credentials to establish a connection to the Managed Database.\n\nRun the [Get managed PostgreSQL database credentials](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instance-credentials) operation for access information."
+ type: "boolean"
+ example: true
+ port:
+ example: 3306
+ description: "The access port for this Managed Database."
+ type: "integer"
+ x-linode-cli-display: 98
+ updates:
+ additionalProperties: false
+ type: "object"
+ description: "Configuration settings for automated patch update maintenance for the Managed Database."
+ properties:
+ frequency:
+ description: "Whether maintenance occurs on a weekly or monthly basis."
+ type: "string"
+ default: "weekly"
+ enum:
+ - "weekly"
+ - "monthly"
+ example: "weekly"
+ day_of_week:
+ example: 1
+ description: "The day to perform maintenance. 1=Monday, 2=Tuesday, etc."
+ type: "integer"
+ minimum: 1
+ maximum: 7
+ week_of_month:
+ example: null
+ maximum: 4
+ nullable: true
+ description: "The week of the month to perform `monthly` frequency updates. Defaults to `null`.\n\n- Required for `monthly` frequency updates.\n\n- Must be `null` for `weekly` frequency updates."
+ type: "integer"
+ minimum: 1
+ hour_of_day:
+ maximum: 23
+ type: "integer"
+ minimum: 0
+ description: "The hour to begin maintenance based in UTC time."
+ example: 0
+ duration:
+ example: 3
+ maximum: 3
+ description: "The maximum maintenance window time in hours."
+ minimum: 1
+ type: "integer"
+ replication_commit_type:
+ example: "local"
+ enum:
+ - true
+ - "local"
+ - "remote_write"
+ - "remote_apply"
+ - false
+ default: "local"
+ x-linode-cli-display: 100
+ type: "string"
+ description: "The synchronization level of the replicating server.\n\nMust be `local` or `off` for the `asynch` replication type."
+ engine:
+ readOnly: true
+ x-linode-filterable: true
+ example: "postgresql"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Managed Database engine type."
+ allow_list:
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ type: "array"
+ items:
+ type: "string"
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ format: "ipv4/prefix_length"
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ cluster_size:
+ type: "integer"
+ description: "The number of Linode Instance nodes deployed to the Managed Database.\n\nChoosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes."
+ x-linode-cli-display: 5
+ example: 3
+ enum:
+ - 1
+ - 3
+ default: 1
+ total_disk_size_gb:
+ description: "The total disk size of the database in GB."
+ type: "integer"
+ x-linode-cli-display: 8
+ example: 15
+ hosts:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete."
+ properties:
+ primary:
+ example: "lin-0000-000-pgsql-primary.servers.linodedb.net"
+ nullable: true
+ type: "string"
+ description: "The primary host for the Managed Database."
+ secondary:
+ description: "The secondary/private network host for the Managed Database.\n\nA private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs.\n\n__Note__. The secondary hostname is publicly viewable and accessible."
+ type: "string"
+ nullable: true
+ example: "lin-0000-000-pgsql-primary-private.servers.linodedb.net"
+ status:
+ x-linode-cli-color:
+ restoring: "yellow"
+ degraded: "red"
+ resuming: "yellow"
+ provisioning: "yellow"
+ active: "green"
+ failed: "red"
+ default_: "white"
+ readOnly: true
+ x-linode-filterable: true
+ example: "active"
+ enum:
+ - "provisioning"
+ - "active"
+ - "suspending"
+ - "suspended"
+ - "resuming"
+ - "restoring"
+ - "failed"
+ - "degraded"
+ - "updating"
+ - "backing_up"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 100
+ description: "__Filterable__, __Read-only__ The operating status of the Managed Database."
+ type: "string"
+ id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ A unique ID that can be used to identify and reference the Managed Database."
+ used_disk_size_gb:
+ description: "The used space of the database in GB."
+ type: "integer"
+ x-linode-cli-display: 9
+ example: 2
+ created:
+ format: "date-time"
+ description: "__Read-only__ When this Managed Database was created."
+ type: "string"
+ readOnly: true
+ example: "2022-01-01T00:01:01"
+ region:
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID for the Managed Database."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ x-linode-filterable: true
+ example: "us-east"
+ x-akamai:
+ file-path: "schemas/database-postgresql.yaml"
+ x-example:
+ x-ref: "../examples/post-databases-postgre-sql-instances-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-databases-postgre-sql-instances.json"
+ schema:
+ additionalProperties: false
+ description: "Managed PostgreSQL Database request object."
+ type: "object"
+ properties:
+ region:
+ example: "us-east"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID for the Managed Database."
+ engine:
+ example: "postgresql/13.2"
+ description: "The Managed Database engine in engine/version format."
+ type: "string"
+ replication_commit_type:
+ enum:
+ - true
+ - "local"
+ - "remote_write"
+ - "remote_apply"
+ - false
+ example: "local"
+ type: "string"
+ description: "The synchronization level of the replicating server.\n\nMust be `local` or `off` for the `asynch` replication type."
+ default: "local"
+ x-linode-cli-display: 100
+ ssl_connection:
+ example: true
+ default: true
+ type: "boolean"
+ description: "Whether to require SSL credentials to establish a connection to the Managed Database.\n\nRun the [Get managed PostgreSQL database credentials](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instance-credentials) operation for access information."
+ cluster_size:
+ default: 1
+ example: 3
+ enum:
+ - 1
+ - 3
+ type: "integer"
+ description: "The number of Linode Instance nodes deployed to the Managed Database.\n\nChoosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes."
+ x-linode-cli-display: 5
+ replication_type:
+ enum:
+ - "none"
+ - "asynch"
+ example: "async"
+ x-linode-cli-display: 99
+ type: "string"
+ description: "The replication method used for the Managed Database.\n\nDefaults to `none` for a single cluster and `asynch` for a high availability cluster.\n\nMust be `none` for a single node cluster.\n\nMust be `asynch` for a high availability cluster."
+ encrypted:
+ example: false
+ description: "Whether the Managed Databases is encrypted."
+ type: "boolean"
+ default: false
+ allow_list:
+ example:
+ - "203.0.113.1/32"
+ - "192.0.1.0/24"
+ items:
+ format: "ipv4/prefix_length"
+ type: "string"
+ pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$"
+ description: "A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format.\n\nBy default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database.\n\nIf `0.0.0.0/0` is a value in this list, then all IP addresses can access the Managed Database."
+ type: "array"
+ type:
+ type: "string"
+ description: "__Filterable__ The Linode Instance type used by the Managed Database for its nodes."
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "g6-dedicated-2"
+ x-linode-filterable: true
+ label:
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ A unique, user-defined string referring to the Managed Database."
+ type: "string"
+ x-linode-filterable: true
+ maxLength: 32
+ example: "example-db"
+ x-akamai:
+ file-path: "schemas/database-postgresql-request.yaml"
+ required:
+ - "label"
+ - "type"
+ - "engine"
+ - "region"
+ description: "Information about the Managed PostgreSQL Database you are creating."
+ required: true
+ x-linode-cli-allowed-defaults:
+ - "engine"
+ - "region"
+ - "type"
+ /{apiVersion}/regions:
+ x-linode-cli-command: "regions"
+ get:
+ x-original-op-id: "getRegions"
+ x-original-op-title: "Regions List"
+ summary: "List regions"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli regions list"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/regions"
+ -
+ source: "linode-cli regions list"
+ lang: "CLI"
+ description: "Lists the Regions available for Linode services. Not all services are guaranteed to be available in all Regions.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli regions list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-regions"
+ operationId: "get-regions"
+ tags:
+ - "Regions"
+ x-linode-redoc-load-ids: true
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-regions-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-regions-200.yaml"
+ properties:
+ results:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An area where Linode services are available."
+ type: "object"
+ properties:
+ id:
+ type: "string"
+ description: "__Read-only__ The unique ID of this Region."
+ x-linode-cli-display: 1
+ example: "us-east"
+ readOnly: true
+ site-type:
+ x-linode-cli-display: 8
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ This region's site type. A `core` region indicates a traditional cloud computing [region](https://www.linode.com/docs/products/platform/get-started/guides/choose-a-data-center/#product-availability) that offers all compute services. A `distributed` region indicates sites that are globally dispersed to be closer to end users and workloads. These regions offer limited services."
+ readOnly: true
+ example: "core"
+ enum:
+ - "core"
+ - "distributed"
+ x-linode-filterable: true
+ country:
+ description: "__Filterable__, __Read-only__ The country where this Region resides."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ x-linode-filterable: true
+ example: "us"
+ readOnly: true
+ resolvers:
+ properties:
+ ipv4:
+ description: "__Read-only__ The IPv4 addresses for this region's DNS resolvers, separated by commas."
+ type: "string"
+ readOnly: true
+ example: "192.0.2.0,192.0.2.1"
+ ipv6:
+ description: "__Read-only__ The IPv6 addresses for this region's DNS resolvers, separated by commas."
+ type: "string"
+ readOnly: true
+ example: "2001:0db8::,2001:0db8::1"
+ x-linode-cli-display: 6
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ status:
+ enum:
+ - "ok"
+ - "outage"
+ example: "ok"
+ readOnly: true
+ description: "__Read-only__ This region's current operational status."
+ type: "string"
+ x-linode-cli-display: 5
+ placement_group_limits:
+ readOnly: true
+ additionalProperties: false
+ x-linode-cli-display: 7
+ properties:
+ maximum_pgs_per_customer:
+ nullable: true
+ description: "__Read-only__ The maximum number of placement groups you can have in this region. Displayed as `null` if you don't have a limit."
+ type: "integer"
+ readOnly: true
+ example: 10
+ maximum_linodes_per_pg:
+ example: 5
+ readOnly: true
+ description: "__Read-only__ The maximum number of compute instances you can include in a single placement group in this region."
+ type: "integer"
+ type: "object"
+ description: "__Read-only__ The limits for [placement groups](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) in this region."
+ label:
+ type: "string"
+ description: "__Read-only__ Detailed location information for this Region, including city, state or region, and country."
+ x-linode-cli-display: 2
+ example: "Newark, NJ, USA"
+ readOnly: true
+ capabilities:
+ description: "__Read-only__ A list of capabilities of this region."
+ type: "array"
+ items:
+ type: "string"
+ x-linode-cli-display: 4
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ - "Placement Groups"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/region.yaml"
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "object"
+ additionalProperties: false
+ description: "Returns an array of Regions."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ path-info: "/{apiVersion}/regions"
+ file-path: "paths/regions.yaml"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ /{apiVersion}/linode/instances/{linodeId}/backups/{backupId}/restore:
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-restore-backup-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ additionalProperties: false
+ description: "Restore from Backup was initiated."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ overwrite:
+ example: true
+ description: "If True, deletes all Disks and Configs on the target Linode before restoring.\n\nIf False, and the Disk image size is larger than the available\nspace on the Linode, an error message indicating insufficient\nspace is returned."
+ type: "boolean"
+ linode_id:
+ example: 234
+ description: "The ID of the Linode to restore a Backup to."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-post-restore-backup.yaml"
+ required:
+ - "linode_id"
+ type: "object"
+ x-example:
+ x-ref: "../examples/post-restore-backup.json"
+ description: "Parameters to provide when restoring the Backup."
+ required: true
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-restore-backup"
+ operationId: "post-restore-backup"
+ x-linode-grant: "read_write"
+ description: "Restores a Linode's Backup to the specified Linode.\n\nThe following conditions apply:\n\n - Backups may not be restored across Regions.\n - Only successfully completed Backups that are not undergoing maintenance can be restored.\n - The Linode that the Backup is being restored to must not itself be in the process of creating a Backup.\n\n__Note__. When you restore a backup, the restored disk is assigned the same [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) as the original disk. In most cases, this is acceptable and does not cause issues. However, if you attempt to mount both the original disk and the corresponding restore disk at the same time (by assigning them both to devices in your Configuration Profile's __Block Device Assignment__), you will encounter a UUID \"collision\".\n\nWhen this happens, the system selects, and mounts, only one of the disks at random. This is due to both disks sharing the same UUID, and your instance _may fail to boot_ since it will not be clear which disk is root. If your system does boot, you will not see any immediate indication if you are booted into the restored disk or the original disk, and you will be unable to access both disks at the same time.\n\nTo avoid this, we recommend only restoring a backup to the same Compute Instance if you do not intend on mounting them at the same time or are comfortable modifying UUIDs. If you need access to files on both the original disk and the restored disk simultaneously (such as needing to copy files between them), we suggest either restoring the backup to a separate Compute Instance or [creating](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) a new Compute Instance with the desired `backup_id`.\n\nTo learn more about block device assignments and viewing your disks' UUIDs, see our guide on [Configuration Profiles](https://www.linode.com/docs/products/compute/compute-instances/guides/configuration-profiles/#block-device-assignment).\n\n__Note__. Backups are not encrypted even when they are taken from an encrypted disk. When a backup is restored, and if encryption is enabled, the data stored on the disk is encrypted again.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes backup-restore 123 123456 \\\n --linode_id 234 \\\n --overwrite true\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "backup-restore"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes backup-restore 123 123456 \\\n --linode_id 234 \\\n --overwrite true"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"linode_id\": 234,\n \"overwrite\": true\n }' \\\n https://api.linode.com/v4/linode/instances/123/backups/123456/restore"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes backup-restore 123 123456 \\\n --linode_id 234 \\\n --overwrite true"
+ lang: "CLI"
+ x-original-op-title: "Backup Restore"
+ summary: "Restore a backup"
+ x-original-op-id: "restoreBackup"
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ description: "The ID of the Linode that the Backup belongs to."
+ name: "linodeId"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-b7f66cf7.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ -
+ description: "The ID of the Backup to restore."
+ name: "backupId"
+ required: true
+ x-akamai:
+ file-path: "parameters/backup-id-path-d7402da7.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/backups/{backupId}/restore"
+ file-path: "paths/restore.yaml"
+ /{apiVersion}/linode/instances/{linodeId}/clone:
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ name: "linodeId"
+ description: "ID of the Linode to clone."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/linode-id-path-8a1bf096.yaml"
+ schema:
+ type: "integer"
+ required: true
+ x-akamai:
+ file-path: "paths/linode-clone.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/clone"
+ post:
+ requestBody:
+ description: "The requested state your Linode will be cloned into."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-post-clone-linode-instance.yaml"
+ properties:
+ placement_group:
+ properties:
+ id:
+ example: 528
+ nullable: false
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ type: "integer"
+ x-linode-cli-display: 1
+ required:
+ - "id"
+ type: "object"
+ description: "Include this to assign this Linode to an existing [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/). Consider these points when cloning:\n\n- If the Linode you're cloning exists in a placement group, the API won't automatically add the cloned instance to the same placement group. You need to specify a placement group to add the clone to.\n- The target placement group needs to be in the same `region` set for this Linode.\n- The placement group needs to have capacity. Run the [Get a region](https://techdocs.akamai.com/linode-api/reference/get-region) operation and store the `maximum_linodes_per_pg` value to know the Linode limit per placement group. You can then run the [Get a placement group](https://techdocs.akamai.com/linode-api/reference/get-placement-group) operation to review the Linodes in that group."
+ additionalProperties: false
+ configs:
+ type: "array"
+ description: "An array of configuration profile IDs.\n\n- If the `configs` parameter __is not provided__, then __all configuration profiles and their associated disks will be cloned__ from the source Linode. Any disks specified by the `disks` parameter will also be cloned.\n- __If an empty array is provided__ for the `configs` parameter, then __no configuration profiles (nor their associated disks) will be cloned__ from the source Linode. Any disks specified by the `disks` parameter will still be cloned.\n- __If a non-empty array is provided__ for the `configs` parameter, then __the configuration profiles specified in the array (and their associated disks) will be cloned__ from the source Linode. Any disks specified by the `disks` parameter will also be cloned."
+ items:
+ type: "integer"
+ example: 23456
+ region:
+ description: "This is the Region where the Linode will be deployed. To view all available Regions you can deploy to, run [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions).\n\n- Region can only be provided and is required when cloning to a new Linode."
+ type: "string"
+ example: "us-east"
+ private_ip:
+ example: true
+ type: "boolean"
+ description: "If true, the created Linode will have private networking enabled and assigned a private IPv4 address.\n\n- Can only be provided when cloning to a new Linode."
+ label:
+ type: "string"
+ description: "The label to assign this Linode when cloning to a new Linode.\n\n- Can only be provided when cloning to a new Linode.\n- Defaults to `linode`."
+ maxLength: 64
+ example: "cloned-linode"
+ minLength: 3
+ backups_enabled:
+ type: "boolean"
+ description: "If this field is set to `true`, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. Pricing is included in the response from [List types](https://techdocs.akamai.com/linode-api/reference/get-linode-types).\n\n- Can only be included when cloning to a new Linode."
+ example: true
+ type:
+ example: "g6-standard-2"
+ description: "A Linode's Type determines what resources are available to it, including disk space, memory, and virtual cpus. The amounts available to a specific Linode are returned as `specs` on the Linode object.\n\nTo view all available Linode Types you can deploy with, run [List types](https://techdocs.akamai.com/linode-api/reference/get-linode-types).\n\n- Type can only be provided and is required when cloning to a new Linode."
+ type: "string"
+ linode_id:
+ example: 124
+ description: "If an existing Linode is the target for the clone, the ID of that Linode. The existing Linode must have enough resources to accept the clone."
+ type: "integer"
+ group:
+ example: "Linode-Group"
+ deprecated: true
+ type: "string"
+ description: "A label used to group Linodes for display. Linodes are not required to have a group."
+ disks:
+ items:
+ type: "integer"
+ example: 25674
+ description: "An array of disk IDs.\n\n- If the `disks` parameter __is not provided__, then __no extra disks will be cloned__ from the source Linode. All disks associated with the configuration profiles specified by the `configs` parameter will still be cloned.\n- __If an empty array is provided__ for the `disks` parameter, then __no extra disks will be cloned__ from the source Linode. All disks associated with the configuration profiles specified by the `configs` parameter will still be cloned.\n- __If a non-empty array is provided__ for the `disks` parameter, then __the disks specified in the array will be cloned__ from the source Linode, in addition to any disks associated with the configuration profiles specified by the `configs` parameter."
+ type: "array"
+ metadata:
+ properties:
+ user_data:
+ example: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlX3VwZGF0ZTogdHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IHRydWU="
+ format: "byte"
+ description: "Base64-encoded [cloud-config](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata-cloud-config/) data.\n\nCannot be modified after provisioning. To update, use either the [Clone a Linode](https://techdocs.akamai.com/linode-api/reference/post-clone-linode-instance) or [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance) operations.\n\nMust not be included when cloning to an existing Linode.\n\nUnencoded data must not exceed 65535 bytes, or about 16kb encoded."
+ type: "string"
+ writeOnly: true
+ type: "object"
+ description: "__Write-only__ An object containing user-defined data relevant to the creation of Linodes."
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-clone-linode-instance.json"
+ required: true
+ x-linode-cli-allowed-defaults:
+ - "region"
+ - "type"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-clone-linode-instance-200.json"
+ schema:
+ title: "Linode"
+ additionalProperties: false
+ type: "object"
+ properties:
+ status:
+ readOnly: true
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ example: "running"
+ x-linode-cli-display: 6
+ x-linode-cli-color:
+ billing_suspension: "red"
+ offline: "red"
+ default_: "yellow"
+ running: "green"
+ type: "string"
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ group:
+ example: "Linode-Group"
+ deprecated: true
+ x-linode-filterable: true
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ alerts:
+ properties:
+ io:
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ example: 10000
+ cpu:
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ example: 180
+ transfer_quota:
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ example: 80
+ network_in:
+ example: 10
+ type: "integer"
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ network_out:
+ example: 10
+ type: "integer"
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ type: "object"
+ additionalProperties: false
+ backups:
+ additionalProperties: false
+ type: "object"
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ properties:
+ last_successful:
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ schedule:
+ properties:
+ day:
+ nullable: true
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ example: "Saturday"
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ window:
+ example: "W22"
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ type: "string"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ nullable: true
+ type: "object"
+ additionalProperties: false
+ enabled:
+ type: "boolean"
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ readOnly: true
+ example: true
+ available:
+ type: "boolean"
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ example: true
+ readOnly: true
+ host_uuid:
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ readOnly: true
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ type: "string"
+ format: "uuid"
+ region:
+ type: "string"
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ created:
+ type: "string"
+ description: "__Read-only__ When this Linode was created."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ ipv4:
+ x-linode-cli-display: 7
+ format: "ipv4"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ type: "array"
+ readOnly: true
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ x-linode-filterable: true
+ tags:
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ hypervisor:
+ readOnly: true
+ enum:
+ - "kvm"
+ example: "kvm"
+ description: "__Read-only__ The virtualization software powering this Linode."
+ type: "string"
+ specs:
+ properties:
+ transfer:
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ type: "integer"
+ example: 4000
+ readOnly: true
+ memory:
+ example: 4096
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ vcpus:
+ type: "integer"
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ example: 2
+ readOnly: true
+ gpus:
+ example: 0
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ disk:
+ readOnly: true
+ example: 81920
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ type: "integer"
+ type: "object"
+ description: "__Read-only__ Information about the resources available to this Linode."
+ readOnly: true
+ additionalProperties: false
+ ipv6:
+ readOnly: true
+ example: "c001:d00d::1337/128"
+ format: "ipv6/128"
+ type: "string"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ nullable: true
+ id:
+ readOnly: true
+ x-linode-filterable: true
+ example: 123
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Linode was last updated."
+ label:
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ maxLength: 64
+ example: "linode123"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ minLength: 3
+ type:
+ readOnly: true
+ example: "g6-standard-1"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ watchdog_enabled:
+ example: true
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ type: "boolean"
+ has_user_data:
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ type: "boolean"
+ readOnly: true
+ example: true
+ image:
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ allOf:
+ -
+ type: "string"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ example: "linode/debian9"
+ readOnly: true
+ example: "linode/debian10"
+ x-linode-filterable: true
+ placement_group:
+ nullable: true
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ type: "object"
+ properties:
+ placement_group_policy:
+ example: "strict"
+ enum:
+ - "strict"
+ - "flexible"
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ x-linode-cli-display: null
+ label:
+ x-linode-cli-display: 10
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ minLength: 1
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ id:
+ example: 528
+ x-linode-cli-display: null
+ nullable: false
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ placement_group_type:
+ enum:
+ - "anti_affinity:local"
+ example: "anti-affinity:local"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ x-linode-cli-display: null
+ x-akamai:
+ labels:
+ - "Filterable"
+ additionalProperties: false
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ description: "Clone started."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ x-linode-cli-action: "clone"
+ description: "You can clone your Linode's existing Disks or Configuration profiles to another Linode on your Account. In order for this request to complete successfully, your User must have the `add_linodes` grant. Cloning to a new Linode will incur a charge on your Account.\n\nIf cloning to an existing Linode, any actions currently running or queued must be completed first before you can clone to it.\n\nUp to five clone operations from any given source Linode can be run concurrently. If more concurrent clones are attempted, an HTTP 400 error will be returned by this operation.\n\nAny [tags](https://techdocs.akamai.com/linode-api/reference/get-tags) existing on the source Linode will be cloned to the target Linode.\n\nLinodes utilizing Metadata (`\"has_user_data\": true`) must be cloned to a new Linode with `metadata.user_data` included with the clone request.\n\n`vpc` details\n\n- If the Linode you are cloning has a `vpc` purpose Interface on its active Configuration Profile that includes a 1:1 NAT, the resulting clone is configured with an `any` 1:1 NAT.\n- See the [VPC documentation](https://www.linode.com/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.\n\n`vlan` details\n\n- Only Next Generation Network (NGN) data centers support VLANs. If a VLAN is attached to your Linode and you attempt clone it to a non-NGN data center, the cloning will not initiate. If a Linode cannot be cloned because of an incompatibility, you will be prompted to select a different data center or contact support.\n- See the [VLANs Overview](https://www.linode.com/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes clone 123 \\\n --linode_id 124 \\\n --region us-east \\\n --type g6-standard-2 \\\n --label cloned-linode \\\n --backups_enabled true \\\n --placement_group.id 528 \\\n --disks 25674 \\\n --configs 23456 \\\n --private_ip true \\\n --metadata.user_data I2Nsb3VkLWNvbmZpZw==\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_linodes"
+ x-linode-charge: true
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"region\": \"us-east\",\n \"type\": \"g6-standard-2\",\n \"linode_id\": 124,\n \"label\": \"cloned-linode\",\n \"group\": \"Linode-Group\",\n \"placement_group\": {\n \"id\": 528\n },\n \"backups_enabled\": true,\n \"disks\": [25674],\n \"configs\": [23456],\n \"private_ip\": true,\n \"metadata\": {\n \"user_data\": \"I2Nsb3VkLWNvbmZpZw==\"\n }\n }' \\\n https://api.linode.com/v4/linode/instances/123/clone"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes clone 123 \\\n --linode_id 124 \\\n --region us-east \\\n --type g6-standard-2 \\\n --label cloned-linode \\\n --backups_enabled true \\\n --placement_group.id 528 \\\n --disks 25674 \\\n --configs 23456 \\\n --private_ip true \\\n --metadata.user_data I2Nsb3VkLWNvbmZpZw=="
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes clone 123 \\\n --linode_id 124 \\\n --region us-east \\\n --type g6-standard-2 \\\n --label cloned-linode \\\n --backups_enabled true \\\n --placement_group.id 528 \\\n --disks 25674 \\\n --configs 23456 \\\n --private_ip true \\\n --metadata.user_data I2Nsb3VkLWNvbmZpZw=="
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ operationId: "post-clone-linode-instance"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-clone-linode-instance"
+ x-original-op-id: "cloneLinodeInstance"
+ summary: "Clone a Linode"
+ x-original-op-title: "Linode Clone"
+ x-linode-cli-command: "linodes"
+ /{apiVersion}/databases/postgresql/instances/{instanceId}/backups/{backupId}:
+ x-akamai:
+ path-info: "/{apiVersion}/databases/postgresql/instances/{instanceId}/backups/{backupId}"
+ file-path: "paths/postgresql-backup.yaml"
+ delete:
+ summary: "Delete a managed PostgreSQL database backup"
+ x-original-op-title: "Managed PostgreSQL Database Backup Delete"
+ x-original-op-id: "deleteDatabasePostgreSQLInstanceBackup"
+ operationId: "delete-database-postgre-sql-instance-backup"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-database-postgre-sql-instance-backup"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/databases/postgresql/instances/123/backups/456"
+ lang: "Shell"
+ -
+ source: "linode-cli databases postgresql-backup-delete 123 456"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases postgresql-backup-delete 123 456"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ x-linode-cli-action: "postgresql-backup-delete"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDelete a single backup for an accessible Managed PostgreSQL Database.\n\nRequires `read_write` access to the Database.\n\nThe Database must not be provisioning to perform this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-backup-delete 123 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ tags:
+ - "Databases"
+ responses:
+ 200:
+ description: "Request to delete Database backup successful."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/delete-database-postgre-sql-instance-backup-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ get:
+ x-linode-cli-action: "postgresql-backup-view"
+ x-linode-grant: "read_only"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay information for a single backup for an accessible Managed PostgreSQL Database.\n\nThe Database must not be provisioning to perform this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-backup-view 123 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/postgresql/instances/123/backups/456"
+ -
+ source: "linode-cli databases postgresql-backup-view 123 456"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli databases postgresql-backup-view 123 456"
+ -
+ syntax: "databases:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "get-databases-postgresql-instance-backup"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-postgresql-instance-backup"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ x-original-op-id: "getDatabasesPostgreSQLInstanceBackup"
+ summary: "Get a managed PostgreSQL database backup"
+ x-original-op-title: "Managed PostgreSQL Database Backup View"
+ responses:
+ 200:
+ description: "Returns a single backup for the Managed PostgreSQL Database."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/database-backup.yaml"
+ properties:
+ id:
+ example: 123
+ x-linode-cli-display: 1
+ description: "The ID of the database backup object."
+ type: "integer"
+ label:
+ example: "Scheduled - 02/04/22 11:11 UTC-XcCRmI"
+ maxLength: 30
+ type: "string"
+ description: "The database backup's label, for display purposes only.\n\nMust include only ASCII letters or numbers."
+ x-linode-cli-display: 2
+ type:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Filterable__ The type of database backup, determined by how the backup was created."
+ x-linode-filterable: true
+ example: "auto"
+ enum:
+ - "snapshot"
+ - "auto"
+ created:
+ example: "2022-01-01T00:01:01"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ A time value given in a combined date and time format that represents when the database backup was created."
+ description: "A database backup object."
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-databases-postgresql-instance-backup-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ tags:
+ - "Databases"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "integer"
+ description: "The ID of the Managed PostgreSQL Database."
+ name: "instanceId"
+ required: true
+ x-akamai:
+ file-path: "parameters/instance-id-path.yaml"
+ in: "path"
+ -
+ name: "backupId"
+ description: "The ID of the Managed PostgreSQL Database backup."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/backup-id-path-85b1bbbf.yaml"
+ schema:
+ type: "integer"
+ x-linode-cli-command: "databases"
+ /{apiVersion}/volumes/{volumeId}/detach:
+ x-akamai:
+ path-info: "/{apiVersion}/volumes/{volumeId}/detach"
+ file-path: "paths/detach.yaml"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ -
+ required: true
+ schema:
+ type: "integer"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/volume-id-path-e125a1de.yaml"
+ name: "volumeId"
+ description: "ID of the Volume to detach."
+ x-linode-cli-command: "volumes"
+ post:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "volumes:read_write"
+ - "linodes:read_write"
+ x-original-op-id: "detachVolume"
+ tags:
+ - "Volumes"
+ summary: "Detach a volume"
+ x-original-op-title: "Volume Detach"
+ x-linode-cli-action: "detach"
+ description: "Detaches a Volume on your Account from a Linode on your Account. In order for this request to complete successfully, your User must have `read_write` access to the Volume and `read_write` access to the Linode.\n\nVolumes are automatically detached from deleted Linodes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes detach 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/volumes/12345/detach"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli volumes detach 12345"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli volumes detach 12345"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "volumes:read_write\nlinodes:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-detach-volume-200.json"
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ description: "Volume was detached from a Linode."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ operationId: "post-detach-volume"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-detach-volume"
+ /{apiVersion}/linode/instances/{linodeId}/configs/{configId}/interfaces:
+ post:
+ requestBody:
+ description: "The Interface to add to the Configuration Profile."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-linode-config-interface.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-post-linode-config-interface.yaml"
+ allOf:
+ -
+ required:
+ - "purpose"
+ -
+ type: "object"
+ description: "The Network Interface to apply to this Linode's configuration profile."
+ required:
+ - "purpose"
+ x-akamai:
+ file-path: "schemas/linode-config-interface.yaml"
+ properties:
+ subnet_id:
+ example: 101
+ description: "The `id` of the VPC Subnet for this Interface.\n\nIn requests, this value is used to assign a Linode to a VPC Subnet.\n\n- Required for `vpc` type Interfaces.\n- Returns `null` for non-`vpc` type Interfaces.\n- Once a VPC Subnet is assigned to an Interface, it cannot be updated.\n- The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet."
+ type: "integer"
+ nullable: true
+ label:
+ pattern: "[a-zA-Z0-9-]+"
+ x-linode-filterable: true
+ example: "example-interface"
+ maxLength: 64
+ description: "__Filterable__ The name of this Interface.\n\nFor `vlan` purpose Interfaces:\n\n- Required.\n- Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).\n- If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, run the [List VLANs](https://techdocs.akamai.com/linode-api/reference/get-vlans) operation.\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 1
+ primary:
+ example: true
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ type: "boolean"
+ ipam_address:
+ example: "10.0.0.1/24"
+ description: "This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.\n\nFor `vlan` purpose Interfaces:\n\n- Must be unique among the Linode's Interfaces to avoid conflicting addresses.\n- Should be unique among devices attached to the VLAN to avoid conflict.\n- The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](https://www.linode.com/docs/guides/manual-network-configuration/).\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ nullable: true
+ format: "ip/netmask"
+ x-linode-cli-display: 4
+ ip_ranges:
+ items:
+ format: "ip"
+ type: "string"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ type: "array"
+ nullable: true
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ purpose:
+ description: "The type of Interface.\n\n- `public`\n - Only one `public` Interface per Linode can be defined.\n - The Linode's default public IPv4 address is assigned to the `public` Interface.\n - A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](https://www.linode.com/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.\n\n- `vlan`\n - Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.\n - The Linode is configured to use the specified `ipam_address`, if any.\n\n- `vpc`\n - Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.\n - When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information."
+ type: "string"
+ x-linode-cli-display: 3
+ enum:
+ - "public"
+ - "vlan"
+ - "vpc"
+ example: "vlan"
+ vpc_id:
+ description: "__Read-only__ The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces."
+ type: "integer"
+ nullable: true
+ example: 111
+ readOnly: true
+ id:
+ example: 101
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The unique ID representing this Interface."
+ x-linode-cli-display: 1
+ ipv4:
+ additionalProperties: false
+ properties:
+ vpc:
+ example: "10.0.0.2"
+ nullable: true
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ type: "string"
+ format: "ip"
+ nat_1_1:
+ format: "ip"
+ nullable: true
+ type: "string"
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ example: "203.0.113.2"
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ type: "object"
+ active:
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ example: true
+ additionalProperties: false
+ required: true
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ purpose:
+ enum:
+ - "public"
+ - "vlan"
+ - "vpc"
+ example: "vlan"
+ type: "string"
+ description: "The type of Interface.\n\n- `public`\n - Only one `public` Interface per Linode can be defined.\n - The Linode's default public IPv4 address is assigned to the `public` Interface.\n - A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](https://www.linode.com/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.\n\n- `vlan`\n - Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.\n - The Linode is configured to use the specified `ipam_address`, if any.\n\n- `vpc`\n - Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.\n - When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information."
+ x-linode-cli-display: 3
+ primary:
+ example: true
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ type: "boolean"
+ ipam_address:
+ format: "ip/netmask"
+ x-linode-cli-display: 4
+ nullable: true
+ description: "This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.\n\nFor `vlan` purpose Interfaces:\n\n- Must be unique among the Linode's Interfaces to avoid conflicting addresses.\n- Should be unique among devices attached to the VLAN to avoid conflict.\n- The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](https://www.linode.com/docs/guides/manual-network-configuration/).\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ example: "10.0.0.1/24"
+ label:
+ pattern: "[a-zA-Z0-9-]+"
+ x-linode-filterable: true
+ maxLength: 64
+ example: "example-interface"
+ type: "string"
+ description: "__Filterable__ The name of this Interface.\n\nFor `vlan` purpose Interfaces:\n\n- Required.\n- Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).\n- If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, run the [List VLANs](https://techdocs.akamai.com/linode-api/reference/get-vlans) operation.\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 1
+ ip_ranges:
+ items:
+ format: "ip"
+ type: "string"
+ nullable: true
+ type: "array"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ subnet_id:
+ example: 101
+ nullable: true
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface.\n\nIn requests, this value is used to assign a Linode to a VPC Subnet.\n\n- Required for `vpc` type Interfaces.\n- Returns `null` for non-`vpc` type Interfaces.\n- Once a VPC Subnet is assigned to an Interface, it cannot be updated.\n- The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet."
+ ipv4:
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ type: "object"
+ properties:
+ vpc:
+ example: "10.0.0.2"
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ type: "string"
+ nullable: true
+ format: "ip"
+ nat_1_1:
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ type: "string"
+ nullable: true
+ format: "ip"
+ example: "203.0.113.2"
+ additionalProperties: false
+ active:
+ example: true
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The unique ID representing this Interface."
+ readOnly: true
+ example: 101
+ vpc_id:
+ example: 111
+ readOnly: true
+ nullable: true
+ description: "__Read-only__ The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/linode-config-interface.yaml"
+ description: "The Network Interface to apply to this Linode's configuration profile."
+ type: "object"
+ required:
+ - "purpose"
+ x-example:
+ x-ref: "../examples/post-linode-config-interface-200.json"
+ description: "Interface successfully added."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ x-linode-cli-action: "config-interface-add"
+ description: "Creates and appends a single Interface to the end of the `interfaces` array for an existing Configuration Profile.\n\n- The User accessing this operation must have `read_write` grants to the Linode.\n- A successful request triggers a `linode_config_update` event.\n- If the new Interface is added with `\"primary\": true`, then any existing primary Interface is changed to `\"primary\": false`.\n\nReboot the Linode with this Configuration Profile to activate an Interface that was added with this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes config-interface-add $linodeId $configId \\\n --purpose vpc \\\n --primary false \\\n --subnet_id 101 \\\n --ipv4.vpc \"10.0.1.2\" \\\n --ipv4.nat_1_1 \"203.0.113.2\"\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -X POST -d '{\n \"purpose\": \"vpc\",\n \"primary\": false,\n \"label\": \"\",\n \"ipam_address\": \"\",\n \"subnet_id\": 101,\n \"ipv4\": {\n \"vpc\": \"10.0.1.2\",\n \"nat_1_1\": \"203.0.113.2\"\n }\n }'"
+ -
+ source: "linode-cli linodes config-interface-add $linodeId $configId \\\n --purpose vpc \\\n --primary false \\\n --subnet_id 101 \\\n --ipv4.vpc \"10.0.1.2\" \\\n --ipv4.nat_1_1 \"203.0.113.2\""
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes config-interface-add $linodeId $configId \\\n --purpose vpc \\\n --primary false \\\n --subnet_id 101 \\\n --ipv4.vpc \"10.0.1.2\" \\\n --ipv4.nat_1_1 \"203.0.113.2\""
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "post-linode-config-interface"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-linode-config-interface"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "addLinodeConfigInterface"
+ summary: "Add a configuration profile interface"
+ x-original-op-title: "Configuration Profile Interface Add"
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id.yaml"
+ name: "linodeId"
+ description: "The `id` of the Linode."
+ -
+ name: "configId"
+ description: "The `id` of the Configuration Profile."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/config-id-profile.yaml"
+ required: true
+ schema:
+ type: "integer"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ description: "An ordered array of Interface objects."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-config-interfaces-200.json"
+ schema:
+ maxItems: 3
+ example:
+ -
+ id: 101
+ vpc_id: null
+ ipv4: null
+ subnet_id: null
+ label: null
+ ipam_address: null
+ primary: false
+ purpose: "public"
+ -
+ purpose: "vlan"
+ subnet_id: null
+ primary: false
+ label: "vlan-1"
+ ipam_address: "10.0.0.1/24"
+ ipv4:
+ vpc: "10.0.0.2"
+ nat_1_1: null
+ id: 102
+ vpc_id: null
+ -
+ ipv4:
+ vpc: "10.0.1.2"
+ nat_1_1: "203.0.113.2"
+ vpc_id: 111
+ id: 103
+ purpose: "vpc"
+ ipam_address: null
+ label: null
+ primary: true
+ subnet_id: 101
+ type: "array"
+ description: "An array of Network Interfaces to add to this Linode's Configuration Profile. At least one and up to three Interface objects can exist in this array. The position in the array determines which of the Linode's network Interfaces is configured:\n\n- First [0]: eth0\n- Second [1]: eth1\n- Third [2]: eth2\n\nWhen updating a Linode's Interfaces, _each Interface must be redefined_. An empty `interfaces` array results in a default `public` type Interface configuration only.\n\nIf no public Interface is configured, public IP addresses are still assigned to the Linode but will not be usable without manual configuration.\n\n__Note__. Changes to Linode Interface configurations can be enabled by rebooting the Linode.\n\n`vpc` details\n\nSee the [VPC documentation](https://www.linode.com/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.\n\n`vlan` details\n\n- Only Next Generation Network (NGN) data centers support VLANs. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated or cloned because of an incompatibility, you will be prompted to select a different data center or contact support.\n- See the [VLANs Overview](https://www.linode.com/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations."
+ uniqueItems: true
+ x-akamai:
+ file-path: "schemas/linode-config-interfaces.yaml"
+ minItems: 1
+ items:
+ properties:
+ purpose:
+ type: "string"
+ description: "The type of Interface.\n\n- `public`\n - Only one `public` Interface per Linode can be defined.\n - The Linode's default public IPv4 address is assigned to the `public` Interface.\n - A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](https://www.linode.com/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.\n\n- `vlan`\n - Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.\n - The Linode is configured to use the specified `ipam_address`, if any.\n\n- `vpc`\n - Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.\n - When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information."
+ x-linode-cli-display: 3
+ example: "vlan"
+ enum:
+ - "public"
+ - "vlan"
+ - "vpc"
+ subnet_id:
+ example: 101
+ description: "The `id` of the VPC Subnet for this Interface.\n\nIn requests, this value is used to assign a Linode to a VPC Subnet.\n\n- Required for `vpc` type Interfaces.\n- Returns `null` for non-`vpc` type Interfaces.\n- Once a VPC Subnet is assigned to an Interface, it cannot be updated.\n- The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet."
+ type: "integer"
+ nullable: true
+ ip_ranges:
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ items:
+ type: "string"
+ format: "ip"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ type: "array"
+ nullable: true
+ primary:
+ example: true
+ type: "boolean"
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ label:
+ maxLength: 64
+ example: "example-interface"
+ x-linode-filterable: true
+ pattern: "[a-zA-Z0-9-]+"
+ minLength: 1
+ nullable: true
+ description: "__Filterable__ The name of this Interface.\n\nFor `vlan` purpose Interfaces:\n\n- Required.\n- Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).\n- If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, run the [List VLANs](https://techdocs.akamai.com/linode-api/reference/get-vlans) operation.\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ ipam_address:
+ example: "10.0.0.1/24"
+ format: "ip/netmask"
+ x-linode-cli-display: 4
+ nullable: true
+ description: "This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.\n\nFor `vlan` purpose Interfaces:\n\n- Must be unique among the Linode's Interfaces to avoid conflicting addresses.\n- Should be unique among devices attached to the VLAN to avoid conflict.\n- The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](https://www.linode.com/docs/guides/manual-network-configuration/).\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ active:
+ example: true
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ ipv4:
+ additionalProperties: false
+ properties:
+ vpc:
+ format: "ip"
+ nullable: true
+ type: "string"
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ example: "10.0.0.2"
+ nat_1_1:
+ type: "string"
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ nullable: true
+ format: "ip"
+ example: "203.0.113.2"
+ type: "object"
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ id:
+ type: "integer"
+ description: "__Read-only__ The unique ID representing this Interface."
+ x-linode-cli-display: 1
+ example: 101
+ readOnly: true
+ vpc_id:
+ nullable: true
+ type: "integer"
+ description: "__Read-only__ The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces."
+ example: 111
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/linode-config-interface.yaml"
+ type: "object"
+ description: "The Network Interface to apply to this Linode's configuration profile."
+ additionalProperties: false
+ required:
+ - "purpose"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ additionalProperties: false
+ x-original-op-id: "getLinodeConfigInterfaces"
+ summary: "List configuration profile interfaces"
+ x-original-op-title: "Configuration Profile Interfaces List"
+ x-linode-cli-action:
+ - "config-interfaces-list"
+ - "config-interfaces-ls"
+ description: "Returns an ordered array of all Interfaces associated with this Configuration Profile.\n\n- The User accessing this operation must have at least `read_only` grants to the Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes config-interfaces-list $linodeId $configId\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces \\\n -H \"Authorization: Bearer $TOKEN\""
+ -
+ lang: "CLI"
+ source: "linode-cli linodes config-interfaces-list $linodeId $configId"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes config-interfaces-list $linodeId $configId"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ operationId: "get-linode-config-interfaces"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-config-interfaces"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-akamai:
+ file-path: "paths/interfaces.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/configs/{configId}/interfaces"
+ /{apiVersion}/linode/instances/{linodeId}/migrate:
+ x-linode-cli-command: "linodes"
+ post:
+ responses:
+ 200:
+ description: "Scheduled migration started."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/post-migrate-linode-instance-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-migrate-linode-instance.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ region:
+ type: "string"
+ description: "The region to which the Linode will be migrated. Must be a valid region slug. A list of regions can be viewed by running the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation. A cross data center migration will cancel a pending migration that has not yet been initiated. A cross data center migration will initiate a `linode_migrate_datacenter_create` event."
+ example: "us-east"
+ placement_group:
+ type: "object"
+ description: "Include this to assign this Linode to an existing [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) in the data center you're migrating to. These constraints apply:\n\n- If the target Linode is in a placement group, it will be removed from it when migrating.\n- The target placement group needs to be in the same `region` you're migrating to.\n- The target placement group needs to have capacity. Run the [Get a region](https://techdocs.akamai.com/linode-api/reference/get-region) operation for the region you want to migrate to, and store the `maximum_linodes_per_pg` value. Run the [Get a placement group](https://techdocs.akamai.com/linode-api/reference/get-placement-group) operation for that same region to review how many Linodes are in that group."
+ required:
+ - "id"
+ properties:
+ id:
+ example: 528
+ x-linode-cli-display: 1
+ nullable: false
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ type: "integer"
+ additionalProperties: false
+ type:
+ example: "warm"
+ enum:
+ - "warm"
+ - "cold"
+ default: "cold"
+ type: "string"
+ description: "Type of migration used in moving to a new host or Linode type.\n\n`warm`: the Linode will not power down until the migration is complete.\nWarm migrations are not available for DC migrations.\n\n`cold`: the Linode will be powered down and migrated. When the migration\nis complete, the Linode will be powered on."
+ upgrade:
+ default: false
+ description: "When initiating a cross DC migration, setting this value to true will also ensure that the Linode is upgraded to the latest generation of hardware that corresponds to your Linode's Type, if any free upgrades are available for it. If no free upgrades are available, and this value is set to true, then the endpoint will return a 400 error code and the migration will not be performed. If the data center set in the `region` field does not allow upgrades, then the endpoint will return a 400 error code and the migration will not be performed."
+ type: "boolean"
+ example: false
+ x-akamai:
+ file-path: "schemas/added-post-migrate-linode-instance.yaml"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ operationId: "post-migrate-linode-instance"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance"
+ x-linode-cli-action: "migrate"
+ x-linode-grant: "read_write"
+ description: "Initiate a pending host migration that has been scheduled by Linode or initiate a cross data center (DC) migration. A list of pending migrations, if any, can be accessed from [List notifications](https://techdocs.akamai.com/linode-api/reference/get-notifications). When the migration begins, your Linode will be shutdown if not already off. If the migration initiated the shutdown, it will reboot the Linode when completed.\n\nTo initiate a cross DC migration, you must pass a `region` parameter to the request body specifying the target data center region. You can view a list of all available regions and their feature capabilities from [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions). See our [Pricing Page](https://www.linode.com/pricing/) for Region-specific pricing, which applies after migration is complete. If your Linode has a DC migration already queued or you have initiated a previously scheduled migration, you will not be able to initiate a DC migration until it has completed.\n\n`vpc` details\n\n- Cross DC migrations are not allowed for Linodes that have a `vpc` purpose Configuration Profile Interface. Host migrations within the same DC are permitted.\n- See the [VPC documentation](https://www.linode.com/docs/products/networking/vpc/#technical-specifications) guide for its specifications and limitations.\n\n`vlan` details\n\n- Only Next Generation Network (NGN) data centers support VLANs. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated or cloned because of an incompatibility, you will be prompted to select a different data center or contact support.\n- Next Generation Network (NGN) data centers do not support IPv6 `/116` pools or IP Failover. If you have these features enabled on your Linode and attempt to migrate to an NGN data center, the migration will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.\n- See the [VLANs Overview](https://www.linode.com/docs/products/networking/vlans/#technical-specifications) guide to view additional specifications and limitations.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes migrate 123 \\\n --region us-central \\\n --placement_group.id 528\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"region\": \"us-central\",\n \"placement_group\": {\n \"id\": 528\n }\n }' \\\n https://api.linode.com/v4/linode/instances/123/migrate"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes migrate 123 \\ --region us-central \\ --placement_group.id 528"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli linodes migrate 123 \\\n --region us-central \\\n --placement_group.id 528"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ summary: "Initiate a DC migration/pending host migration"
+ x-original-op-title: "DC Migration/Pending Host Migration Initiate"
+ x-original-op-id: "migrateLinodeInstance"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/migrate"
+ file-path: "paths/migrate.yaml"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ schema:
+ type: "integer"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-1510d8f8.yaml"
+ in: "path"
+ description: "ID of the Linode to migrate."
+ name: "linodeId"
+ /{apiVersion}/linode/instances/{linodeId}/backups/enable:
+ post:
+ responses:
+ 200:
+ description: "Backup service was enabled."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ x-example:
+ x-ref: "../examples/post-enable-backups-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-enable-backups"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-enable-backups"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes backups-enable 123"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/linode/instances/123/backups/enable"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes backups-enable 123"
+ lang: "CLI"
+ description: "Enables backups for the specified Linode.\n\n__Note__. Backups are not encrypted even when they are taken from an encrypted disk. When a backup is restored, and if encryption is enabled, the data stored on the disk is encrypted again.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes backups-enable 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "backups-enable"
+ x-original-op-title: "Backups Enable"
+ summary: "Enable backups"
+ x-original-op-id: "enableBackups"
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ schema:
+ type: "integer"
+ description: "The ID of the Linode to enable backup service for."
+ name: "linodeId"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-b606dac5.yaml"
+ in: "path"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/backups/enable"
+ file-path: "paths/backup-enable.yaml"
+ /{apiVersion}/linode/instances/{linodeId}/backups/cancel:
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/backups/cancel"
+ file-path: "paths/linode-backups-cancel.yaml"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "integer"
+ description: "The ID of the Linode to cancel backup service for."
+ name: "linodeId"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-8c2bdc46.yaml"
+ in: "path"
+ x-linode-cli-command: "linodes"
+ post:
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes backups-cancel 123"
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/linode/instances/123/backups/cancel"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes backups-cancel 123"
+ description: "Cancels the Backup service on the given Linode. Deletes all of this Linode's existing backups forever.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes backups-cancel 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "backups-cancel"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-cancel-backups"
+ operationId: "post-cancel-backups"
+ x-original-op-id: "cancelBackups"
+ x-original-op-title: "Backups Cancel"
+ summary: "Cancel backups"
+ responses:
+ 200:
+ description: "Backup service was canceled for the specified Linode."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-cancel-backups-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ /{apiVersion}/tags/{tagLabel}:
+ get:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-tagged-objects"
+ x-linode-cli-command: "view"
+ x-linode-cli-skip: true
+ operationId: "get-tagged-objects"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/tags/$tagLabel"
+ lang: "Shell"
+ description: "Returns a paginated list of all objects you've tagged with the requested Tag. This is a mixed collection of all object types.\n\n__Important__. You must be an unrestricted User in order to access, add, or modify Tags information.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-original-op-title: "Tagged Objects List"
+ summary: "List tagged objects"
+ x-original-op-id: "getTaggedObjects"
+ parameters:
+ -
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ -
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ schema:
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ default: 100
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-tagged-objects-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ type: "object"
+ properties:
+ data:
+ oneOf:
+ -
+ title: "Linode"
+ x-linode-ref-name: "linode"
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ properties:
+ placement_group:
+ readOnly: true
+ additionalProperties: false
+ type: "object"
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ nullable: true
+ properties:
+ placement_group_policy:
+ x-linode-cli-display: null
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ enum:
+ - "strict"
+ - "flexible"
+ example: "strict"
+ id:
+ nullable: false
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ x-linode-cli-display: null
+ example: 528
+ label:
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ type: "string"
+ x-linode-cli-display: 10
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ placement_group_type:
+ x-linode-cli-display: null
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ readOnly: true
+ example: "anti-affinity:local"
+ enum:
+ - "anti_affinity:local"
+ x-linode-filterable: true
+ image:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ nullable: true
+ readOnly: true
+ allOf:
+ -
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ type: "string"
+ example: "linode/debian9"
+ x-linode-filterable: true
+ example: "linode/debian10"
+ has_user_data:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ watchdog_enabled:
+ type: "boolean"
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ example: true
+ label:
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ type: "string"
+ minLength: 3
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ example: "linode123"
+ maxLength: 64
+ x-linode-filterable: true
+ type:
+ readOnly: true
+ example: "g6-standard-1"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ updated:
+ type: "string"
+ description: "__Read-only__ When this Linode was last updated."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ id:
+ x-linode-filterable: true
+ example: 123
+ readOnly: true
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ type: "integer"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ specs:
+ readOnly: true
+ additionalProperties: false
+ description: "__Read-only__ Information about the resources available to this Linode."
+ type: "object"
+ properties:
+ transfer:
+ example: 4000
+ readOnly: true
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ type: "integer"
+ disk:
+ example: 81920
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ gpus:
+ readOnly: true
+ example: 0
+ type: "integer"
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ vcpus:
+ readOnly: true
+ example: 2
+ type: "integer"
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ memory:
+ example: 4096
+ readOnly: true
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ type: "integer"
+ ipv6:
+ format: "ipv6/128"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ readOnly: true
+ example: "c001:d00d::1337/128"
+ hypervisor:
+ example: "kvm"
+ enum:
+ - "kvm"
+ readOnly: true
+ description: "__Read-only__ The virtualization software powering this Linode."
+ type: "string"
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ created:
+ type: "string"
+ description: "__Read-only__ When this Linode was created."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ ipv4:
+ type: "array"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ items:
+ type: "string"
+ x-linode-cli-display: 7
+ format: "ipv4"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ x-linode-filterable: true
+ readOnly: true
+ region:
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ type: "string"
+ readOnly: true
+ example: "us-east"
+ x-linode-filterable: true
+ host_uuid:
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ readOnly: true
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ type: "string"
+ format: "uuid"
+ backups:
+ type: "object"
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ properties:
+ last_successful:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ type: "string"
+ schedule:
+ properties:
+ window:
+ example: "W22"
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ nullable: true
+ type: "string"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ day:
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ example: "Saturday"
+ type: "string"
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ nullable: true
+ type: "object"
+ additionalProperties: false
+ available:
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ type: "boolean"
+ readOnly: true
+ example: true
+ enabled:
+ example: true
+ readOnly: true
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ type: "boolean"
+ additionalProperties: false
+ alerts:
+ type: "object"
+ properties:
+ network_out:
+ type: "integer"
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ example: 10
+ network_in:
+ example: 10
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ transfer_quota:
+ example: 80
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ cpu:
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ example: 180
+ io:
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ example: 10000
+ additionalProperties: false
+ group:
+ x-linode-filterable: true
+ deprecated: true
+ example: "Linode-Group"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ status:
+ x-linode-cli-color:
+ running: "green"
+ offline: "red"
+ billing_suspension: "red"
+ default_: "yellow"
+ readOnly: true
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ example: "running"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ -
+ x-linode-ref-name: "domain"
+ title: "Domain"
+ additionalProperties: false
+ properties:
+ master_ips:
+ type: "array"
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ items:
+ type: "string"
+ format: "ip"
+ example: []
+ retry_sec:
+ default: 0
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ example: 300
+ ttl_sec:
+ example: 300
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ type: "integer"
+ default: 0
+ axfr_ips:
+ items:
+ format: "ip"
+ type: "string"
+ type: "array"
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ example: []
+ soa_email:
+ x-linode-cli-display: 5
+ format: "email"
+ type: "string"
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ example: "admin@example.org"
+ description:
+ description: "A description for this Domain. This is for display purposes only."
+ type: "string"
+ example: null
+ maxLength: 253
+ minLength: 1
+ type:
+ type: "string"
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ x-linode-cli-display: 3
+ example: "master"
+ enum:
+ - "master"
+ - "slave"
+ refresh_sec:
+ default: 0
+ type: "integer"
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ example: 300
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ id:
+ type: "integer"
+ description: "__Read-only__ This Domain's unique ID."
+ x-linode-cli-display: 1
+ example: 1234
+ readOnly: true
+ domain:
+ minLength: 1
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ maxLength: 253
+ example: "example.org"
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ status:
+ x-linode-cli-display: 4
+ type: "string"
+ description: "Used to control whether this Domain is currently being rendered."
+ example: "active"
+ enum:
+ - "disabled"
+ - "active"
+ default: "active"
+ x-linode-cli-color:
+ active: "green"
+ default_: "red"
+ edit_mode: "yellow"
+ disabled: "yellow"
+ expire_sec:
+ example: 300
+ default: 0
+ type: "integer"
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ group:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 50
+ example: null
+ deprecated: true
+ x-linode-filterable: true
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ type: "object"
+ -
+ x-linode-ref-name: "volume"
+ title: "Volume"
+ additionalProperties: false
+ description: "A Block Storage Volume associated with your Account."
+ type: "object"
+ properties:
+ updated:
+ format: "date-time"
+ description: "__Read-only__ When this Volume was last updated."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ hardware_type:
+ enum:
+ - "hdd"
+ - "nvme"
+ example: "nvme"
+ readOnly: true
+ description: "__Read-only__ The storage type of this Volume."
+ type: "string"
+ label:
+ pattern: "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$"
+ maxLength: 32
+ example: "my-volume"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The Volume's label is for display purposes only."
+ type: "string"
+ minLength: 1
+ region:
+ example: "us-east"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The unique ID of this Region."
+ x-linode-cli-display: 5
+ size:
+ x-linode-cli-display: 4
+ maximum: 10240
+ description: "The Volume's size, in GiB."
+ type: "integer"
+ example: 30
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Volume was created."
+ type: "string"
+ format: "date-time"
+ linode_label:
+ type: "string"
+ description: "__Read-only__ If a Volume is attached to a specific Linode, the label of that Linode will be displayed here."
+ nullable: true
+ x-linode-cli-display: 7
+ example: "linode123"
+ readOnly: true
+ filesystem_path:
+ type: "string"
+ description: "__Read-only__ The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label."
+ example: "/dev/disk/by-id/scsi-0Linode_Volume_my-volume"
+ readOnly: true
+ tags:
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The unique ID of this Volume."
+ readOnly: true
+ example: 12345
+ status:
+ x-linode-cli-color:
+ active: "green"
+ default_: "yellow"
+ contact_support: "red"
+ example: "active"
+ enum:
+ - "creating"
+ - "active"
+ - "resizing"
+ readOnly: true
+ description: "__Read-only__ The current status of the volume. Can be one of:\n\n - `creating` - the Volume is being created and is not yet available\n for use.\n - `active` - the Volume is online and available for use.\n - `resizing` - the Volume is in the process of upgrading\n its current capacity."
+ type: "string"
+ x-linode-cli-display: 3
+ linode_id:
+ nullable: true
+ type: "integer"
+ description: "If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here."
+ x-linode-cli-display: 6
+ example: 12346
+ x-akamai:
+ file-path: "schemas/volume.yaml"
+ -
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ type: "object"
+ properties:
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ type: "string"
+ ipv4:
+ format: "ip"
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ readOnly: true
+ example: "203.0.113.1"
+ x-linode-filterable: true
+ created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ tags:
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ client_conn_throttle:
+ example: 0
+ maximum: 20
+ type: "integer"
+ minimum: 0
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ x-linode-cli-display: 6
+ ipv6:
+ format: "ip"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ nullable: true
+ readOnly: true
+ example: null
+ transfer:
+ type: "object"
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ properties:
+ out:
+ example: 3.54877281188965
+ readOnly: true
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ type: "number"
+ nullable: true
+ in:
+ nullable: true
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ type: "number"
+ readOnly: true
+ example: 28.9120082855225
+ total:
+ readOnly: true
+ example: 32.4607810974121
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ type: "number"
+ nullable: true
+ readOnly: true
+ additionalProperties: false
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ type: "integer"
+ readOnly: true
+ example: 12345
+ updated:
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ type: "string"
+ format: "date-time"
+ label:
+ minLength: 3
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 32
+ example: "balancer12345"
+ x-linode-filterable: true
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ hostname:
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ type: "string"
+ x-linode-cli-display: 4
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ x-linode-ref-name: "nodeBalancer"
+ title: "NodeBalancer"
+ additionalProperties: false
+ discriminator:
+ propertyName: "type"
+ type:
+ type: "string"
+ example: "linode"
+ additionalProperties: false
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/added-get-tagged-objects-200.yaml"
+ type: "object"
+ description: "A paginated list of objects, organized by type, that have been tagged with the requested Tag."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Tags"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ delete:
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli tags delete\nlinode-cli tags rm"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ description: "Remove a Tag from all objects and delete it.\n\n__Important__. You must be an unrestricted User in order to access, add, or modify Tags information.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags delete\nlinode-cli tags rm\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "delete-ag"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-ag"
+ responses:
+ 200:
+ description: "Tag deleted."
+ content:
+ application/json:
+ schema:
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-ag-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Tags"
+ x-original-op-id: "deleteTag"
+ summary: "Delete a tag"
+ x-original-op-title: "Tag Delete"
+ x-akamai:
+ file-path: "paths/tag-label.yaml"
+ path-info: "/{apiVersion}/tags/{tagLabel}"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/tag-label-path.yaml"
+ name: "tagLabel"
+ schema:
+ description: "The `label` of the Tag to access."
+ type: "string"
+ x-linode-cli-command: "tags"
+ /{apiVersion}/networking/ips:
+ x-akamai:
+ path-info: "/{apiVersion}/networking/ips"
+ file-path: "paths/networking-ips.yaml"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_only"
+ tags:
+ - "Networking"
+ responses:
+ 200:
+ description: "A paginated list of IP Addresses."
+ content:
+ application/json:
+ example:
+ results: 1
+ data:
+ -
+ vpc_nat_1_1:
+ vpc_id: 111
+ subnet_id: 101
+ address: "192.0.2.99"
+ region: "us-east"
+ address: "192.0.2.141"
+ linode_id: 123
+ gateway: "192.0.2.1"
+ subnet_mask: "192.0.2.139"
+ rdns: "test.example.org"
+ prefix: 24
+ public: true
+ type: "ipv4"
+ page: 1
+ pages: 1
+ schema:
+ description: "The response data for the [List IP addresses](https://techdocs.akamai.com/linode-api/reference/get-ips) operation."
+ x-akamai:
+ file-path: "schemas/ip-addresses-list-response.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ pages:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ -
+ properties:
+ data:
+ type: "array"
+ description: "IP addresses that exist in Linode's system, either IPv4 or IPv6, specific to the response for the [List IP addresses](https://techdocs.akamai.com/linode-api/reference/get-ips) operation."
+ items:
+ properties:
+ address:
+ example: "192.0.2.141"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The IP address."
+ type: "string"
+ format: "ip"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ region:
+ x-linode-filterable: true
+ example: "us-east"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The Region this IP address resides in."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ vpc_nat_1_1:
+ additionalProperties: false
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. Empty if no address is configured as a 1:1 NAT.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ type: "object"
+ properties:
+ address:
+ example: "192.168.0.42"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ type: "string"
+ format: "ipv4"
+ subnet_id:
+ nullable: false
+ description: "The `id` of the VPC Subnet for this Interface."
+ type: "integer"
+ example: 101
+ vpc_id:
+ nullable: false
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ type: "integer"
+ example: 111
+ readOnly: true
+ gateway:
+ example: "192.0.2.1"
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ format: "ip"
+ linode_id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 6
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this defaults to the Linode that this address was assigned to on creation. IPv4 addresses may be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ rdns:
+ example: "test.example.org"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ type: "string"
+ description: "__Filterable__ The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ prefix:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The number of bits set in the subnet mask."
+ readOnly: true
+ x-linode-filterable: true
+ example: 24
+ subnet_mask:
+ type: "string"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ format: "ip"
+ example: "255.255.255.0"
+ readOnly: true
+ public:
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ x-linode-cli-display: 3
+ example: true
+ readOnly: true
+ type:
+ description: "__Filterable__, __Read-only__ The type of address this is."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ readOnly: true
+ type: "object"
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6, specific to the response for the [List IP addresses](https://techdocs.akamai.com/linode-api/reference/get-ips) operation."
+ additionalProperties: false
+ type: "object"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ parameters:
+ -
+ name: "skip_ipv6_rdns"
+ description: "When `true`, the `rdns` property for any `ipv6` type addresses always returns `null` regardless of whether RDNS data exists for the address."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/skip-ipv6-rdns-query.yaml"
+ schema:
+ default: false
+ type: "boolean"
+ x-original-op-id: "getIPs"
+ summary: "List IP addresses"
+ x-original-op-title: "IP Addresses List"
+ x-linode-cli-action: "ips-list"
+ description: "Returns a paginated list of IP addresses on your account, excluding private addresses.\n\n__Note__. Use the `skip_ipv6_rdns` query string to improve performance if your application frequently accesses this operation and doesn't require IPv6 RDNS data.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking ips-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/networking/ips?skip_ipv6_rdns=true"
+ -
+ source: "linode-cli networking ips-list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli networking ips-list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "ips:read_only"
+ operationId: "get-ips"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-ips"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-linode-cli-command: "networking"
+ post:
+ operationId: "post-allocate-ip"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-allocate-ip"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"type\": \"ipv4\",\n \"public\": true,\n \"linode_id\": 123\n }' \\\n https://api.linode.com/v4/networking/ips"
+ -
+ source: "linode-cli networking ip-add \\\n --type ipv4 \\\n --public true \\\n --linode_id 123"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli networking ip-add \\\n --type ipv4 \\\n --public true \\\n --linode_id 123"
+ -
+ syntax: "ips:read_write\nlinodes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "ip-add"
+ description: "Allocates a new IPv4 Address on your Account. The Linode must be configured to support additional addresses - please [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) requesting additional addresses before attempting allocation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking ip-add \\\n --type ipv4 \\\n --public true \\\n --linode_id 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ summary: "Allocate an IP address"
+ x-original-op-title: "IP Address Allocate"
+ x-original-op-id: "allocateIP"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-allocate-ip-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ address:
+ example: "97.107.143.141"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The IP address."
+ format: "ip"
+ x-linode-cli-display: 1
+ region:
+ x-linode-cli-display: 5
+ description: "__Read-only__ The Region this IP address resides in."
+ type: "string"
+ readOnly: true
+ example: "us-east"
+ vpc_nat_1_1:
+ properties:
+ address:
+ example: "192.168.0.42"
+ type: "string"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ format: "ipv4"
+ subnet_id:
+ nullable: false
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface."
+ example: 101
+ vpc_id:
+ example: 111
+ readOnly: true
+ nullable: false
+ type: "integer"
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ type: "object"
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ additionalProperties: false
+ gateway:
+ description: "__Read-only__ The default gateway for this address."
+ type: "string"
+ nullable: true
+ format: "ip"
+ example: "97.107.143.1"
+ readOnly: true
+ linode_id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 6
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ type: "integer"
+ prefix:
+ example: 24
+ readOnly: true
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ type: "integer"
+ rdns:
+ nullable: true
+ type: "string"
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ x-linode-cli-display: 4
+ example: "test.example.org"
+ subnet_mask:
+ type: "string"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ format: "ip"
+ example: "255.255.255.0"
+ readOnly: true
+ public:
+ x-linode-cli-display: 3
+ description: "__Read-only__ Whether this is a public or private IP address."
+ type: "boolean"
+ readOnly: true
+ example: true
+ type:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The type of address this is."
+ readOnly: true
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ type: "object"
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ description: "IP Address allocated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-allocate-ip.json"
+ schema:
+ required:
+ - "type"
+ - "public"
+ - "linode_id"
+ x-akamai:
+ file-path: "schemas/added-post-allocate-ip.yaml"
+ properties:
+ type:
+ type: "string"
+ description: "The type of address you are requesting. Only IPv4 addresses may be allocated through this operation."
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ public:
+ type: "boolean"
+ description: "Whether to create a public or private IPv4 address."
+ example: true
+ linode_id:
+ description: "The ID of a Linode you have access to that this address will be allocated to."
+ type: "integer"
+ example: 123
+ type: "object"
+ additionalProperties: false
+ description: "Information about the address you are creating."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_write"
+ tags:
+ - "Networking"
+ /{apiVersion}/object-storage/buckets:
+ post:
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "object_storage:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"label\": \"example-bucket\",\n \"cluster\": \"us-east-1\",\n \"cors_enabled\": true,\n \"acl\": \"private\"\n }' \\\n https://api.linode.com/v4/object-storage/buckets/"
+ lang: "Shell"
+ description: "Creates an Object Storage bucket in the specified data center ([region](https://techdocs.akamai.com/linode-api/reference/get-regions)). If the bucket already exists on your account, this operation returns a 200 response with that bucket as if the API just created it.\n\n> 📘\n>\n> - Accounts with negative balances can't access this operation.\n>\n> - The [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#put-bucket) equivalent operation offers more detail.\n>\n> - The API still supports the `clusterId` equivalent (`us-west-1`) when setting a `region` for a new bucket, but you should use the `regionId` (`us-west`), instead.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-object-storage-bucket"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ operationId: "post-object-storage-bucket"
+ x-linode-cli-skip: true
+ x-original-op-id: "createObjectStorageBucket"
+ x-original-op-title: "Object Storage Bucket Create"
+ summary: "Create an Object Storage bucket"
+ requestBody:
+ description: "Information about the bucket you want to create."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-object-storage-bucket.json"
+ schema:
+ properties:
+ label:
+ pattern: "^(?=.{3,63}$)[a-z0-9]+(?:-[a-z0-9]+)*(?:[.][a-z0-9]+(?:-[a-z0-9]+)*)*$"
+ type: "string"
+ description: "The name for this bucket.\n\n* A bucket name can contain from 3 to 63 alphanumeric characters, dashes (`-`), or dots (`.`).\n* A bucket name can't end in a dash and you can't use two consecutive dashes.\n* A bucket name can't start or end in a dot, and you can't use two consecutive dots. As a best practice, only use dots if a certificate you're using with your bucket requires it. (For example, if you're using a custom TLS certificate.)\n* A bucket name needs to be unique in the `region` where you're creating the bucket. The API only reserves labels for the `region` where active buckets are created and stored. If you want to reserve this bucket's label in another `region`, create a new bucket with the same label in the new `region`."
+ example: "example-bucket"
+ cors_enabled:
+ default: true
+ description: "If set to `false`, CORS is disabled for all origins in the bucket. For more fine-grained controls of CORS, use the S3 API directly."
+ type: "boolean"
+ example: false
+ acl:
+ default: "private"
+ type: "string"
+ description: "The Access Control Level of the bucket using a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly."
+ example: "private"
+ enum:
+ - "private"
+ - "public-read"
+ - "authenticated-read"
+ - "public-read-write"
+ region:
+ example: "us-east"
+ description: "The `id` assigned to the data center ([region](https://techdocs.akamai.com/linode-api/reference/get-regions)) where this Object Storage bucket should be created.\n\n> 📘\n>\n> This supports legacy `clusterId` values that represented a specific region. For example, `us-east-1` is the legacy reference for the `us-east` region."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/added-post-object-storage-bucket.yaml"
+ required:
+ - "label"
+ - "cluster"
+ type: "object"
+ additionalProperties: false
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-object-storage-bucket-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/object-storage-bucket.yaml"
+ properties:
+ label:
+ type: "string"
+ description: "The name of this bucket."
+ example: "example-bucket"
+ hostname:
+ example: "example-bucket-1.us-east-12.linodeobjects.com"
+ description: "The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public."
+ type: "string"
+ created:
+ format: "date-time"
+ description: "When this bucket was created."
+ type: "string"
+ example: "2019-01-01T01:23:45"
+ size:
+ description: "The size of the bucket in bytes."
+ type: "integer"
+ example: 188318981
+ objects:
+ type: "integer"
+ description: "The number of objects stored in this bucket."
+ example: 4
+ cluster:
+ x-akamai:
+ status: "DEPRECATED"
+ description: "__Deprecated__ The legacy `clusterId` equivalent for the `regionId` where this bucket lives. The API maintains this for backward compatibility.\n\n> 📘\n>\n> - This value and the `regionId` are interchangeable when used in requests. Best practice is to use the `regionId`.\n>\n> - This value is empty for newer regions that don't have a legacy `clusterId`."
+ type: "string"
+ example: "us-east-1"
+ deprecated: true
+ region:
+ example: "us-east"
+ description: "The `id` of the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where this Object Storage bucket lives."
+ type: "string"
+ description: "An Object Storage bucket. You should access this through the [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/#api)."
+ type: "object"
+ description: "The bucket created successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-object-storage-buckets"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-linode-cli-skip: true
+ operationId: "get-object-storage-buckets"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "object_storage:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/object-storage/buckets/"
+ lang: "Shell"
+ description: "Returns a paginated list of all Object Storage buckets available in your account.\n\n> 📘\n>\n> The [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/serviceops/#list-buckets) equivalent operation offers more detail.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-original-op-title: "Object Storage Buckets List"
+ summary: "List Object Storage buckets"
+ x-original-op-id: "getObjectStorageBuckets"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-object-storage-buckets-200.json"
+ schema:
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ pages:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ data:
+ type: "array"
+ items:
+ type: "object"
+ description: "An Object Storage bucket. You should access this through the [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/#api)."
+ properties:
+ objects:
+ example: 4
+ type: "integer"
+ description: "The number of objects stored in this bucket."
+ region:
+ example: "us-east"
+ type: "string"
+ description: "The `id` of the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where this Object Storage bucket lives."
+ cluster:
+ x-akamai:
+ status: "DEPRECATED"
+ description: "__Deprecated__ The legacy `clusterId` equivalent for the `regionId` where this bucket lives. The API maintains this for backward compatibility.\n\n> 📘\n>\n> - This value and the `regionId` are interchangeable when used in requests. Best practice is to use the `regionId`.\n>\n> - This value is empty for newer regions that don't have a legacy `clusterId`."
+ type: "string"
+ deprecated: true
+ example: "us-east-1"
+ created:
+ format: "date-time"
+ type: "string"
+ description: "When this bucket was created."
+ example: "2019-01-01T01:23:45"
+ size:
+ description: "The size of the bucket in bytes."
+ type: "integer"
+ example: 188318981
+ label:
+ description: "The name of this bucket."
+ type: "string"
+ example: "example-bucket"
+ hostname:
+ example: "example-bucket-1.us-east-12.linodeobjects.com"
+ type: "string"
+ description: "The hostname where this bucket can be accessed. This hostname can be accessed through a browser if the bucket is made public."
+ x-akamai:
+ file-path: "schemas/object-storage-bucket.yaml"
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-object-storage-buckets-200.yaml"
+ type: "object"
+ additionalProperties: false
+ description: "A paginated list of buckets you own."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_only"
+ x-akamai:
+ path-info: "/{apiVersion}/object-storage/buckets"
+ file-path: "paths/buckets.yaml"
+ /{apiVersion}/networking/ips/share:
+ post:
+ x-original-op-id: "shareIPs"
+ x-original-op-title: "IP Addresses Share"
+ summary: "Share IP addresses"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli networking ip-share \\\n --linode_id 123 \\\n --ips 192.0.2.1 \\\n --ips 2001:db8:3c4d:15::"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "ips:read_write\nlinodes:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"linode_id\": 123,\n \"ips\": [\n \"192.0.2.1\",\n \"2001:db8:3c4d:15::\"\n ]\n }' \\\n https://api.linode.com/v4beta/networking/ips/share"
+ lang: "Shell"
+ -
+ source: "linode-cli networking ip-share \\\n --linode_id 123 \\\n --ips 192.0.2.1 \\\n --ips 2001:db8:3c4d:15::"
+ lang: "CLI"
+ x-linode-grant: "read_write"
+ description: "Configure shared IPs.\n\nIP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses.\n\nIP failover requires configuration of a failover service (such as [Keepalived](https://www.linode.com/docs/guides/ip-failover-keepalived)) within the internal system of the primary Linode.\n\n__Note__. A public IPv4 address cannot be shared if it is configured for a 1:1 NAT on a `vpc` purpose Configuration Profile Interface.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking ip-share \\\n --linode_id 123 \\\n --ips 192.0.2.1 \\\n --ips 2001:db8:3c4d:15::\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "ip-share"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-share-ips"
+ operationId: "post-share-ips"
+ tags:
+ - "Networking"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_write"
+ - "linodes:read_write"
+ requestBody:
+ description: "Information about what IPs to share with which Linode."
+ content:
+ application/json:
+ schema:
+ required:
+ - "linode_id"
+ - "ips"
+ x-akamai:
+ file-path: "schemas/ip-addresses-share-request.yaml"
+ properties:
+ ips:
+ example:
+ - "192.0.2.1"
+ - "2001:db8:3c4d:15::"
+ items:
+ type: "string"
+ format: "ip"
+ description: "A list of secondary Linode IPs to share with the primary Linode.\n\n- Can include both IPv4 addresses and IPv6 ranges (omit /56 and /64 prefix lengths)\n- Can include both private and public IPv4 addresses.\n- You must have access to all of these addresses and they must be in the same Region as the primary Linode.\n- Enter an empty array to remove all shared IP addresses."
+ type: "array"
+ linode_id:
+ type: "integer"
+ description: "The ID of the primary Linode that the addresses will be shared with."
+ example: 123
+ description: "A request object IP Addresses Share (POST /networking/ips/share)."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-share-ips.json"
+ required: true
+ responses:
+ 200:
+ description: "IP Address sharing successful."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-share-ips-200.json"
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-linode-cli-command: "networking"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ x-akamai:
+ file-path: "paths/ips-share.yaml"
+ path-info: "/{apiVersion}/networking/ips/share"
+ /{apiVersion}/images/upload:
+ x-akamai:
+ file-path: "paths/upload.yaml"
+ path-info: "/{apiVersion}/images/upload"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-linode-cli-command: "images"
+ post:
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "# Upload the image file in a single step\nlinode-cli image-upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east \\\n /path/to/image-file.img.gz\n\n# Returns the upload_to URL\nlinode-cli images upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "images:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"description\": \"Optional details about the Image\",\n \"label\": \"Example Image\",\n \"region\": \"us-east\"\n }' \\\n https://api.linode.com/v4/images/upload"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "# Upload the image file in a single step\nlinode-cli image-upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east \\\n /path/to/image-file.img.gz\n\n# Returns the upload_to URL\nlinode-cli images upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east"
+ description: "Creates a new private image instance and returns a URL as the `upload_to` object in the response. Use this URL to upload image data to that instance.\n\n- Ensure the disk is raw disk image (`.img`) format.\n- Compress it using gzip (`.gz`) format. The maximum compressed file size is 5GB.\n- Upload the file in a PUT request that includes the `Content-type: application/octet-stream` header.\n\nFor example:\n\n```\ncurl -v \\\n -H \"Content-Type: application/octet-stream\" \\\n --upload-file example.img.gz \\\n $UPLOAD_URL \\\n --progress-bar \\\n --output /dev/null\n```\n\n> 📘\n>\n> - You need to upload image data within 24 hours of creation or the API cancels the upload and deletes the image.\n>\n> - If you create an image from an encrypted disk, the API doesn't encrypt the image. When you rebuild a compute instance from that image, the resulting disk will be automatically encrypted.\n>\n> - You can create a new image and upload image data using a single process through [Cloud Manager](https://www.linode.com/docs/products/tools/images/guides/upload-an-image/#uploading-an-image-file-through-the-cloud-manager) or the [Linode CLI](https://www.linode.com/docs/products/tools/images/guides/upload-an-image/#uploading-an-image-file-through-the-linode-cli).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n # Upload the image file in a single step\nlinode-cli image-upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east \\\n /path/to/image-file.img.gz\n\n# Returns the upload_to URL\nlinode-cli images upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_images"
+ x-linode-cli-action: "upload"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-upload-image"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-upload-image"
+ x-original-op-id: "post-images-upload"
+ x-original-op-title: "Image Upload"
+ summary: "Upload an image"
+ requestBody:
+ x-linode-cli-allowed-defaults:
+ - "region"
+ description: "The uploaded image details."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-upload-image.json"
+ schema:
+ additionalProperties: false
+ properties:
+ region:
+ example: "eu-central"
+ type: "string"
+ description: "The region to upload to. Once uploaded, the image can be used in any region."
+ cloud_init:
+ example: true
+ type: "boolean"
+ description: "Whether the uploaded Image supports cloud-init."
+ tags:
+ items:
+ type: "string"
+ maxLength: 100
+ minLength: 3
+ minItems: 0
+ maxItems: 500
+ description: "Tags you can use to organize images. A tag can be from 3 to 100 characters long, and an image can have a maximum of 500 total tags."
+ type: "array"
+ example:
+ - "repair-image"
+ - "fix-1"
+ description:
+ type: "string"
+ description: "Description for the uploaded image."
+ example: "This is an example image in the docs."
+ label:
+ description: "Label for the uploaded image."
+ type: "string"
+ example: "my-image-label"
+ required:
+ - "label"
+ - "region"
+ x-akamai:
+ file-path: "schemas/added-post-upload-image.yaml"
+ type: "object"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ image:
+ description: "Image object."
+ type: "object"
+ properties:
+ expiry:
+ description: "__Read-only__ Only images created automatically from a deleted compute instance (type=automatic) expire. This is `null` for private images."
+ type: "string"
+ nullable: true
+ format: "date-time"
+ example: null
+ readOnly: true
+ updated:
+ example: "2021-08-14T22:44:02"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this image was last updated."
+ format: "date-time"
+ vendor:
+ x-linode-filterable: true
+ example: "Debian"
+ readOnly: true
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ description: "__Filterable__, __Read-only__ The upstream distribution vendor. This is `null` for private images."
+ type: "string"
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ eol:
+ format: "date-time"
+ nullable: true
+ description: "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images."
+ type: "string"
+ readOnly: true
+ example: "2026-07-01T04:00:00"
+ description:
+ maxLength: 65000
+ example: "Example image description."
+ x-linode-cli-color:
+ default_: "white"
+ None: "black"
+ minLength: 1
+ nullable: true
+ description: "A detailed description of this image."
+ type: "string"
+ x-linode-cli-display: 4
+ regions:
+ items:
+ type: "object"
+ properties:
+ region:
+ example: "us-iad"
+ description: "The unique identifier for the core compute or distributed compute region where this image is located."
+ type: "string"
+ status:
+ example: "available"
+ enum:
+ - "available"
+ - "creating"
+ - "pending"
+ - "pending deletion"
+ - "pending replication"
+ - "replicating"
+ type: "string"
+ description: "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`."
+ additionalProperties: false
+ type: "array"
+ description: "__Read-only__ Details on the regions where this image is stored.\n\n> 📘\n>\n> This array is empty for existing images. It's intended for use with future functionality."
+ readOnly: true
+ label:
+ x-linode-filterable: true
+ example: "Debian 11"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ A short description of the image."
+ type:
+ readOnly: true
+ x-linode-filterable: true
+ example: "manual"
+ enum:
+ - "manual"
+ - "automatic"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance."
+ type: "string"
+ size:
+ description: "__Filterable__, __Read-only__ The minimum size in MB this image needs to deploy."
+ type: "integer"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 2500
+ x-linode-filterable: true
+ readOnly: true
+ created_by:
+ example: "linode"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The name of the user who created this image, or `linode` for public images."
+ created:
+ example: "2021-08-14T22:44:02"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this image was created."
+ format: "date-time"
+ is_public:
+ example: true
+ x-linode-filterable: true
+ readOnly: true
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`."
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ deprecated:
+ description: "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: false
+ x-linode-filterable: true
+ readOnly: true
+ tags:
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ maxLength: 100
+ minLength: 3
+ type: "string"
+ minItems: 0
+ type: "array"
+ description: "__Filterable__ Tags used for organizational purposes. A tag can be from 3 to 100 characters long, and an image can have a maximum of 500 total tags."
+ x-linode-filterable: true
+ example:
+ - "repair-image"
+ - "fix-1"
+ maxItems: 500
+ id:
+ type: "string"
+ description: "__Read-only__ The unique identifier for each image."
+ x-linode-cli-display: 1
+ example: "linode/debian11"
+ readOnly: true
+ total_size:
+ readOnly: true
+ example: 1234567
+ type: "integer"
+ description: "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.\n\n> 📘\n>\n> This object is empty for existing images. It's intended for use with future functionality."
+ status:
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.\n\n> 📘\n>\n> The `+order_by` and `+order` operators are not available when [filtering](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) on this key."
+ readOnly: true
+ example: "available"
+ enum:
+ - "creating"
+ - "pending_upload"
+ - "available"
+ x-linode-filterable: true
+ capabilities:
+ description: "__Read-only__ A list of the possible capabilities of this image.\n\n- `cloud-init`. The image supports the cloud-init multi-distribution method with our [Metadata service](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata/#troubleshoot-metadata-and-cloud-init). This only applies to public images.\n\n- `distributed-sites`. Whether the image can be used in distributed compute regions. Compared to a core compute region, distributed compute regions offer limited functionality, but they're globally distributed. Your image can be geographically closer to you, potentially letting you deploy it quicker."
+ type: "array"
+ items:
+ type: "string"
+ x-linode-cli-display: 8
+ example:
+ - "cloud-init"
+ - "distributed-sites"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/image.yaml"
+ additionalProperties: false
+ upload_to:
+ description: "The URL to upload the Image to."
+ type: "string"
+ x-linode-cli-display: 1
+ x-akamai:
+ file-path: "schemas/added-post-upload-image-200.yaml"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-upload-image-200.json"
+ description: "Image Upload object including the upload URL and image object."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "object"
+ tags:
+ - "Images"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "images:read_write"
+ /{apiVersion}/account/settings:
+ put:
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli account settings-update \\\n --network_helper false"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"network_helper\": true\n }' \\\n https://api.linode.com/v4/account/settings"
+ -
+ lang: "CLI"
+ source: "linode-cli account settings-update \\\n --network_helper false"
+ description: "Updates your account settings. For a Longview subscription plan, see [Update a Longview plan](https://techdocs.akamai.com/linode-api/reference/put-longview-plan).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account settings-update \\\n --network_helper false\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "settings-update"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-account-settings"
+ operationId: "put-account-settings"
+ x-original-op-id: "updateAccountSettings"
+ x-original-op-title: "Account Settings Update"
+ summary: "Update account settings"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-account-settings.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/account-settings.yaml"
+ properties:
+ managed:
+ type: "boolean"
+ description: "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time."
+ x-linode-cli-display: 3
+ example: true
+ readOnly: true
+ backups_enabled:
+ example: true
+ type: "boolean"
+ description: "Account-wide backups default. If `true`, all Linodes created will automatically be enrolled in the Backups service. If `false`, Linodes will not be enrolled by default, but may still be enrolled on creation or later."
+ x-linode-cli-display: 4
+ network_helper:
+ example: false
+ x-linode-cli-display: 1
+ type: "boolean"
+ description: "Enables network helper across all users by default for new Linodes and Linode Configs."
+ longview_subscription:
+ description: "__Read-only__ The Longview Pro tier you are currently subscribed to. The value must be a [Longview subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or `null` for Longview Free."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "longview-3"
+ readOnly: true
+ object_storage:
+ default: "disabled"
+ readOnly: true
+ example: "active"
+ enum:
+ - "disabled"
+ - "suspended"
+ - "active"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "__Read-only__ A string describing the status of this account's Object Storage service enrollment."
+ type: "object"
+ description: "Account Settings object."
+ additionalProperties: false
+ description: "Update Account settings information."
+ required: true
+ responses:
+ 200:
+ description: "The updated Account settings."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-account-settings-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ object_storage:
+ enum:
+ - "disabled"
+ - "suspended"
+ - "active"
+ example: "active"
+ readOnly: true
+ description: "__Read-only__ A string describing the status of this account's Object Storage service enrollment."
+ type: "string"
+ default: "disabled"
+ x-linode-cli-display: 5
+ longview_subscription:
+ type: "string"
+ description: "__Read-only__ The Longview Pro tier you are currently subscribed to. The value must be a [Longview subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or `null` for Longview Free."
+ x-linode-cli-display: 2
+ example: "longview-3"
+ readOnly: true
+ network_helper:
+ example: false
+ description: "Enables network helper across all users by default for new Linodes and Linode Configs."
+ type: "boolean"
+ x-linode-cli-display: 1
+ backups_enabled:
+ example: true
+ type: "boolean"
+ description: "Account-wide backups default. If `true`, all Linodes created will automatically be enrolled in the Backups service. If `false`, Linodes will not be enrolled by default, but may still be enrolled on creation or later."
+ x-linode-cli-display: 4
+ managed:
+ readOnly: true
+ example: true
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time."
+ x-akamai:
+ file-path: "schemas/account-settings.yaml"
+ type: "object"
+ description: "Account Settings object."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ x-akamai:
+ file-path: "paths/settings.yaml"
+ path-info: "/{apiVersion}/account/settings"
+ get:
+ x-original-op-id: "getAccountSettings"
+ x-original-op-title: "Account Settings View"
+ summary: "Get account settings"
+ x-linode-grant: "read_only"
+ description: "Returns information related to your Account settings: Managed service subscription, Longview subscription, and network helper.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account settings\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "settings"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli account settings"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/settings"
+ lang: "Shell"
+ -
+ source: "linode-cli account settings"
+ lang: "CLI"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-account-settings"
+ operationId: "get-account-settings"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ description: "Returns a single Account settings object."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/account-settings.yaml"
+ properties:
+ network_helper:
+ x-linode-cli-display: 1
+ type: "boolean"
+ description: "Enables network helper across all users by default for new Linodes and Linode Configs."
+ example: false
+ longview_subscription:
+ readOnly: true
+ example: "longview-3"
+ x-linode-cli-display: 2
+ description: "__Read-only__ The Longview Pro tier you are currently subscribed to. The value must be a [Longview subscription](https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions) ID or `null` for Longview Free."
+ type: "string"
+ object_storage:
+ description: "__Read-only__ A string describing the status of this account's Object Storage service enrollment."
+ type: "string"
+ x-linode-cli-display: 5
+ default: "disabled"
+ example: "active"
+ enum:
+ - "disabled"
+ - "suspended"
+ - "active"
+ readOnly: true
+ managed:
+ readOnly: true
+ example: true
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time."
+ backups_enabled:
+ example: true
+ x-linode-cli-display: 4
+ description: "Account-wide backups default. If `true`, all Linodes created will automatically be enrolled in the Backups service. If `false`, Linodes will not be enrolled by default, but may still be enrolled on creation or later."
+ type: "boolean"
+ description: "Account Settings object."
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-account-settings-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ x-linode-cli-command: "account"
+ /{apiVersion}/databases/mysql/instances/{instanceId}/credentials/reset:
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/instance-id-path-c09a6713.yaml"
+ name: "instanceId"
+ description: "The ID of the Managed MySQL Database."
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "paths/mysql-reset.yaml"
+ path-info: "/{apiVersion}/databases/mysql/instances/{instanceId}/credentials/reset"
+ post:
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/post-databases-mysql-instance-credentials-reset-200.json"
+ description: "Managed Database instance credentials successfully reset."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ additionalProperties: false
+ x-original-op-title: "Managed MySQL Database Credentials Reset"
+ summary: "Reset managed MySQL database credentials"
+ x-original-op-id: "postDatabasesMySQLInstanceCredentialsReset"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-databases-mysql-instance-credentials-reset"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-databases-mysql-instance-credentials-reset"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nReset the root password for a Managed MySQL Database.\n\nRequires `read_write` access to the Database.\n\nA new root password is randomly generated and accessible with the [Get managed MySQL database credentials](https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance-credentials) operation.\n\nOnly unrestricted Users can access this operation, and have access regardless of the acting token's OAuth scopes.\n\n__Note__. It may take several seconds for credentials to reset.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-creds-reset 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "mysql-creds-reset"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli databases mysql-creds-reset 123"
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST https://api.linode.com/v4/databases/mysql/instances/123/credentials/reset"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-creds-reset 123"
+ x-linode-cli-command: "databases"
+ /{apiVersion}/linode/instances/{linodeId}/configs/{configId}/interfaces/order:
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-linode-config-interfaces-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ additionalProperties: false
+ description: "Interfaces successfully reordered."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-linode-config-interfaces.json"
+ schema:
+ required:
+ - "ids"
+ additionalProperties: false
+ description: "Linode Configuration Interfaces Order request object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-linode-config-interfaces.yaml"
+ properties:
+ ids:
+ type: "array"
+ description: "An ordered array of existing Configuration Profile Interface `id`s.\n\n- All current Interface `id`s must be present in the array.\n- If the Configuration Profile contains Interfaces and is active on the Linode, the Linode must first be shut down prior to running this operation.\n- Reordering takes effect after rebooting the Linode with this Configuration Profile.\n\nThe position in the array determines which of the Linode's network Interfaces is configured:\n\n- First [0]: eth0\n- Second [1]: eth1\n- Third [2]: eth2"
+ items:
+ readOnly: true
+ example: 101
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID representing this Interface."
+ type: "integer"
+ description: "The desired Interface order for the Configuration Profile."
+ required: true
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-linode-config-interfaces"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ operationId: "post-linode-config-interfaces"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes config-interfaces-order $linodeId $configId \\\n --ids 101 --ids 102 --ids 103"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/order \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -X POST -d '{\n \"ids\": [\n 101,\n 102,\n 103\n ]\n }'"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes config-interfaces-order $linodeId $configId \\\n --ids 101 --ids 102 --ids 103"
+ x-linode-grant: "read_write"
+ description: "Reorders the existing Interfaces of a Configuration Profile.\n\n- The User accessing this operation must have `read_write` grants to the Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes config-interfaces-order $linodeId $configId \\\n --ids 101 --ids 102 --ids 103\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "config-interfaces-order"
+ x-original-op-title: "Configuration Profile Interfaces Order"
+ summary: "Reorder configuration profile interfaces"
+ x-original-op-id: "orderLinodeConfigInterfaces"
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ description: "The `id` of the Linode."
+ name: "linodeId"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/config-id-profile.yaml"
+ name: "configId"
+ description: "The `id` of the Configuration Profile."
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "paths/order.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/configs/{configId}/interfaces/order"
+ /{apiVersion}/lke/clusters:
+ post:
+ requestBody:
+ x-linode-cli-allowed-defaults:
+ - "region"
+ content:
+ application/json:
+ schema:
+ type: "object"
+ required:
+ - "label"
+ - "region"
+ - "k8s_version"
+ - "node_pools"
+ x-akamai:
+ file-path: "schemas/added-post-lke-cluster.yaml"
+ properties:
+ tags:
+ x-linode-filterable: true
+ example:
+ - "ecomm"
+ - "blogs"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only."
+ region:
+ x-linode-filterable: true
+ example: "us-central"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Filterable__ This Kubernetes cluster's location."
+ label:
+ maxLength: 32
+ example: "lkecluster12345"
+ x-linode-filterable: true
+ description: "__Filterable__ This Kubernetes cluster's unique label for display purposes only. Labels have the following constraints:\n\n - UTF-8 characters will be returned by the API using escape sequences of their Unicode code points. For example, the Japanese character _か_ is 3 bytes in UTF-8 (`0xE382AB`). Its Unicode code point is 2 bytes (`0x30AB`). APIv4 supports this character and the API will return it as the escape sequence using six 1 byte characters which represent 2 bytes of Unicode code point (`\"\\u30ab\"`).\n\n - 4 byte UTF-8 characters are not supported.\n\n - If the label is entirely composed of UTF-8 characters, the API response will return the code points using up to 193 1 byte characters."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ control_plane:
+ description: "Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components. Enabling High Availability for LKE is an __irreversible__ change."
+ type: "object"
+ properties:
+ high_availability:
+ example: true
+ type: "boolean"
+ description: "Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`."
+ additionalProperties: false
+ k8s_version:
+ x-linode-filterable: true
+ example: "1.27"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Filterable__ The desired Kubernetes version for this Kubernetes cluster in the format of <major>.<minor>, and the latest supported patch version will be deployed."
+ node_pools:
+ items:
+ description: "Specifies a collection of Linodes which will be members of a Kubernetes cluster."
+ type: "object"
+ required:
+ - "type"
+ - "count"
+ x-akamai:
+ file-path: "schemas/lke-node-pool-request-body.yaml"
+ properties:
+ taints:
+ example:
+ -
+ key: "example.com/my-app"
+ effect: "NoSchedule"
+ value: "teamA"
+ -
+ key: "myapp.io/team"
+ effect: "NoExecute"
+ value: "teamB"
+ type: "array"
+ description: "Kubernetes taints to add to node pool nodes. Taints help control how pods are scheduled onto nodes, specifically allowing them to repel certain pods. To learn more, review [Add Labels and Taints to your LKE Node Pools](https://www.linode.com/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#add-labels-and-taints-to-your-lke-node-pools).\n\nSpecifying an empty array (`[]`) removes all previously set taints."
+ items:
+ additionalProperties: false
+ required:
+ - "key"
+ - "value"
+ - "effect"
+ properties:
+ value:
+ minLength: 0
+ type: "string"
+ description: "The Kubernetes taint value.\n\n* This needs to begin and end with alphanumeric characters.\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`).\n* May be specified as an empty string value with `\"\"`."
+ example: "teamC"
+ maxLength: 63
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ key:
+ description: "The Kubernetes taint key.\n\n* This needs to begin and end with alphanumeric characters.\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`).\n* If the key begins with a DNS subdomain prefix and a single slash (`/`), like `example.com/my-app`, the prefix part must adhere to RFC 1123 DNS subdomain restrictions and be a maximum of 253 characters."
+ type: "string"
+ minLength: 1
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*)?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{1,63})?$"
+ example: "example.com/my-app"
+ maxLength: 63
+ effect:
+ enum:
+ - "NoSchedule"
+ - "PreferNoSchedule"
+ - "NoExecute"
+ example: "NoSchedule"
+ type: "string"
+ description: "The Kubernetes taint effect. For `NoSchedule`, `PreferNoSchedule` and `NoExecute` descriptions, see [Kubernetes Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)."
+ minItems: 1
+ disks:
+ x-linode-cli-format: "json"
+ description: "__Note__. This field should be omitted except for special use cases. The disks specified here are partitions in _addition_ to the primary partition and reduce the size of the primary partition, which can lead to stability problems for the Node.\n\nThis Node Pool's custom disk layout. Each item in this array will create a new disk partition for each node in this Node Pool.\n\n - The custom disk layout is applied to each node in this Node Pool.\n - The maximum number of custom disk partitions that can be configured is 7.\n - Once the requested disk partitions are allocated, the remaining disk space is allocated to the node's boot disk.\n - A Node Pool's custom disk layout is immutable over the lifetime of the Node Pool."
+ type: "array"
+ items:
+ properties:
+ type:
+ type: "string"
+ description: "This custom disk partition's filesystem type."
+ enum:
+ - "raw"
+ - "ext4"
+ example: "ext-4"
+ size:
+ example: 1024
+ description: "The size of this custom disk partition in MB.\n\n - The size of this disk partition must not exceed the capacity of the node's plan type."
+ type: "integer"
+ description: "The values to assign to each partition in this Node Pool's custom disk layout."
+ type: "object"
+ additionalProperties: false
+ count:
+ example: 6
+ maximum: 100
+ minimum: 1
+ description: "The number of nodes in the Node Pool."
+ type: "integer"
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type:
+ description: "The Linode Type for all of the nodes in the Node Pool."
+ type: "string"
+ example: "g6-standard-4"
+ labels:
+ additionalProperties: false
+ example:
+ example.com/my-app: "teams"
+ items:
+ required:
+ - "key"
+ - "value"
+ properties:
+ value:
+ maxLength: 63
+ example: "teams"
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ minLength: 0
+ type: "string"
+ description: "The Kubernetes label value.\n\n* This needs to begin and end with alphanumeric characters.\n\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`).\n\n* May be specified as an empty string value with `\"\"`."
+ key:
+ minLength: 1
+ example: "example.com/my-app"
+ maxLength: 128
+ type: "string"
+ description: "The Kubernetes label key.\n\n* This needs to begin and end with alphanumeric characters.\n\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`)\n\n* If the key begins with a DNS subdomain prefix and a single (`/`), like 'example.com/my-app', the maximum total length of the label key is 128 characters. Domain labels can be upto 62 characters after the '/'. The prefix part must adhere to RFC 1123 DNS subdomain restrictions.\n\n* If the key does not begin with a DNS subdomain prefix, the maximum key length is 63 characters."
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*){0,62}?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{0,62})?$"
+ type: "object"
+ description: "Key-value pairs added as labels to nodes in the node pool. Labels help classify your nodes and to easily select subsets of objects. To learn more, review [Add Labels and Taints to your LKE Node Pools](https://www.linode.com/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#add-labels-and-taints-to-your-lke-node-pools).\n\nSpecifying an empty dictionary value will remove all previously set labels."
+ autoscaler:
+ type: "object"
+ description: "When enabled, the number of nodes autoscales within the defined minimum and maximum values.\n\nWhen making a request, `max` and `min` require each other."
+ properties:
+ enabled:
+ type: "boolean"
+ description: "Whether autoscaling is enabled for this Node Pool. Defaults to `false`."
+ example: true
+ max:
+ example: 12
+ maximum: 100
+ type: "integer"
+ description: "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`. Defaults to the value provided by the `count` field."
+ minimum: 1
+ min:
+ example: 3
+ type: "integer"
+ description: "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`."
+ minimum: 1
+ maximum: 100
+ additionalProperties: false
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-lke-cluster.json"
+ description: "Configuration for the Kubernetes cluster."
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-lke-cluster-200.json"
+ schema:
+ description: "A Kubernetes cluster."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/lke-cluster.yaml"
+ properties:
+ updated:
+ type: "string"
+ description: "__Read-only__ When this Kubernetes cluster was updated."
+ format: "date-time"
+ example: "2019-09-13T21:24:16Z"
+ readOnly: true
+ control_plane:
+ additionalProperties: false
+ type: "object"
+ description: "Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components. Enabling High Availability for LKE is an __irreversible__ change."
+ properties:
+ high_availability:
+ example: true
+ x-linode-cli-display: 5
+ type: "boolean"
+ description: "Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`."
+ k8s_version:
+ x-linode-filterable: true
+ example: "1.27"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ description: "__Filterable__ The desired Kubernetes version for this Kubernetes cluster in the format of <major>.<minor>, and the latest supported patch version will be deployed."
+ type: "string"
+ label:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ This Kubernetes cluster's unique label for display purposes only. Labels have the following constraints:\n\n - UTF-8 characters will be returned by the API using escape sequences of their Unicode code points. For example, the Japanese character _か_ is 3 bytes in UTF-8 (`0xE382AB`). Its Unicode code point is 2 bytes (`0x30AB`). APIv4 supports this character and the API will return it as the escape sequence using six 1 byte characters which represent 2 bytes of Unicode code point (`\"\\u30ab\"`).\n\n - 4 byte UTF-8 characters are not supported.\n\n - If the label is entirely composed of UTF-8 characters, the API response will return the code points using up to 193 1 byte characters."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 32
+ example: "lkecluster12345"
+ x-linode-filterable: true
+ created:
+ type: "string"
+ description: "__Read-only__ When this Kubernetes cluster was created."
+ format: "date-time"
+ example: "2019-09-12T21:25:30Z"
+ readOnly: true
+ region:
+ example: "us-central"
+ x-linode-filterable: true
+ description: "__Filterable__ This Kubernetes cluster's location."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Kubernetes cluster's unique ID."
+ readOnly: true
+ example: 1234
+ tags:
+ type: "array"
+ description: "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "ecomm"
+ - "blogs"
+ additionalProperties: false
+ description: "Kubernetes cluster creation has started."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"label\": \"cluster12345\",\n \"region\": \"us-central\",\n \"k8s_version\": \"1.27\",\n \"tags\": [\"ecomm\", \"blogs\"],\n \"control_plane\": {\n \"high_availability\": true\n },\n \"node_pools\": [\n {\n \"type\": \"g6-standard-4\",\n \"count\": 6,\n \"autoscaler\": {\n \"enabled\": true,\n \"max\": 12,\n \"min\": 3\n }\n },\n {\n \"type\": \"g6-standard-8\",\n \"count\": 3\n }\n ]\n }' \\\n https://api.linode.com/v4/lke/clusters"
+ -
+ lang: "CLI"
+ source: "linode-cli lke cluster-create \\\n --label cluster12345 \\\n --region us-central \\\n --k8s_version 1.27 \\\n --control_plane.high_availability true \\\n --node_pools.type g6-standard-4 --node_pools.count 6 \\\n --node_pools.type g6-standard-8 --node_pools.count 3 \\\n --node_pools.autoscaler.enabled true \\\n --node_pools.autoscaler.max 12 \\\n --node_pools.autoscaler.min 3 \\\n --tags ecomm"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli lke cluster-create \\\n --label cluster12345 \\\n --region us-central \\\n --k8s_version 1.27 \\\n --control_plane.high_availability true \\\n --node_pools.type g6-standard-4 --node_pools.count 6 \\\n --node_pools.type g6-standard-8 --node_pools.count 3 \\\n --node_pools.autoscaler.enabled true \\\n --node_pools.autoscaler.max 12 \\\n --node_pools.autoscaler.min 3 \\\n --tags ecomm"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ x-linode-cli-action: "cluster-create"
+ x-linode-grant: "add_clusters"
+ description: "Creates a Kubernetes cluster. The Kubernetes cluster will be created asynchronously. You can use the events system to determine when the Kubernetes cluster is ready to use. Please note that it often takes 2-5 minutes before the [Kubernetes API endpoints](https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-api-endpoints) and the [Kubeconfig file](https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-kubeconfig) for the new cluster are ready.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke cluster-create \\\n --label cluster12345 \\\n --region us-central \\\n --k8s_version 1.27 \\\n --control_plane.high_availability true \\\n --node_pools.type g6-standard-4 --node_pools.count 6 \\\n --node_pools.type g6-standard-8 --node_pools.count 3 \\\n --node_pools.autoscaler.enabled true \\\n --node_pools.autoscaler.max 12 \\\n --node_pools.autoscaler.min 3 \\\n --tags ecomm\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-charge: true
+ operationId: "post-lke-cluster"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-lke-cluster"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "createLKECluster"
+ summary: "Create a Kubernetes cluster"
+ x-original-op-title: "Kubernetes Cluster Create"
+ x-linode-cli-command: "lke"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ get:
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_only"
+ responses:
+ 200:
+ description: "Returns an array of all Kubernetes clusters on your Account."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-lke-clusters-200.json"
+ schema:
+ type: "object"
+ properties:
+ pages:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ items:
+ type: "object"
+ description: "A Kubernetes cluster."
+ x-akamai:
+ file-path: "schemas/lke-cluster.yaml"
+ properties:
+ updated:
+ example: "2019-09-13T21:24:16Z"
+ readOnly: true
+ description: "__Read-only__ When this Kubernetes cluster was updated."
+ type: "string"
+ format: "date-time"
+ k8s_version:
+ example: "1.27"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The desired Kubernetes version for this Kubernetes cluster in the format of <major>.<minor>, and the latest supported patch version will be deployed."
+ type: "string"
+ label:
+ x-linode-filterable: true
+ maxLength: 32
+ example: "lkecluster12345"
+ minLength: 1
+ description: "__Filterable__ This Kubernetes cluster's unique label for display purposes only. Labels have the following constraints:\n\n - UTF-8 characters will be returned by the API using escape sequences of their Unicode code points. For example, the Japanese character _か_ is 3 bytes in UTF-8 (`0xE382AB`). Its Unicode code point is 2 bytes (`0x30AB`). APIv4 supports this character and the API will return it as the escape sequence using six 1 byte characters which represent 2 bytes of Unicode code point (`\"\\u30ab\"`).\n\n - 4 byte UTF-8 characters are not supported.\n\n - If the label is entirely composed of UTF-8 characters, the API response will return the code points using up to 193 1 byte characters."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ control_plane:
+ additionalProperties: false
+ properties:
+ high_availability:
+ example: true
+ type: "boolean"
+ description: "Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`."
+ x-linode-cli-display: 5
+ type: "object"
+ description: "Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components. Enabling High Availability for LKE is an __irreversible__ change."
+ created:
+ readOnly: true
+ example: "2019-09-12T21:25:30Z"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Kubernetes cluster was created."
+ region:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Filterable__ This Kubernetes cluster's location."
+ x-linode-filterable: true
+ example: "us-central"
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Kubernetes cluster's unique ID."
+ readOnly: true
+ example: 1234
+ tags:
+ description: "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "ecomm"
+ - "blogs"
+ additionalProperties: false
+ type: "array"
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/added-get-lke-clusters-200.yaml"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ type: "array"
+ additionalProperties: false
+ x-original-op-title: "Kubernetes Clusters List"
+ summary: "List Kubernetes clusters"
+ x-original-op-id: "getLKEClusters"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-lke-clusters"
+ operationId: "get-lke-clusters"
+ description: "Lists current Kubernetes clusters available on your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke clusters-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "clusters-list"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli lke clusters-list"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "lke:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/lke/clusters"
+ -
+ source: "linode-cli lke clusters-list"
+ lang: "CLI"
+ x-akamai:
+ path-info: "/{apiVersion}/lke/clusters"
+ file-path: "paths/lke-clusters.yaml"
+ /{apiVersion}/profile:
+ put:
+ x-original-op-title: "Profile Update"
+ summary: "Update a profile"
+ x-original-op-id: "updateProfile"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-profile"
+ operationId: "put-profile"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli profile update \\\n --email example-user@gmail.com \\\n --timezone US/Eastern \\\n --email_notifications true \\\n --list_auth_method keys_only \\\n --two_factor_auth true \\\n --restricted false"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"email\": \"example-user@gmail.com\",\n \"timezone\": \"US/Eastern\",\n \"email_notifications\": true,\n \"lish_auth_method\": \"keys_only\",\n \"authorized_keys\": null,\n \"two_factor_auth\": true,\n \"restricted\": false\n }' \\\n https://api.linode.com/v4/profile"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli profile update \\\n --email example-user@gmail.com \\\n --timezone US/Eastern \\\n --email_notifications true \\\n --list_auth_method keys_only \\\n --two_factor_auth true \\\n --restricted false"
+ description: "Update information in your Profile. This operation requires the `account:read_write` OAuth Scope.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't edit the `email` for a child account parent user (proxy user). This value is fixed and set when you provision this environment.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile update \\\n --email example-user@gmail.com \\\n --timezone US/Eastern \\\n --email_notifications true \\\n --list_auth_method keys_only \\\n --two_factor_auth true \\\n --restricted false\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "update"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ responses:
+ 200:
+ description: "Profile updated successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-profile-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ uid:
+ example: 1234
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ Your unique ID in our system. This value will never change, and can safely be used to identify your User."
+ authorized_keys:
+ example: null
+ items:
+ type: "string"
+ format: "ssh-key"
+ type: "array"
+ description: "The list of SSH Keys authorized to use Lish for your User. This value is ignored if `lish_auth_method` is `disabled`."
+ nullable: true
+ email:
+ description: "Your email address. This address will be used for communication with Linode as necessary."
+ type: "string"
+ format: "email"
+ x-linode-cli-display: 2
+ example: "example-user@gmail.com"
+ restricted:
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "If true, your User has restrictions on what can be accessed on your Account. To get details on what entities/actions you can access/perform, run [List grants](https://techdocs.akamai.com/linode-api/reference/get-profile-grants)."
+ example: false
+ email_notifications:
+ example: true
+ type: "boolean"
+ description: "If true, you will receive email notifications about account activity. If false, you may still receive business-critical communications through email."
+ ip_whitelist_enabled:
+ deprecated: true
+ example: false
+ type: "boolean"
+ description: "If true, logins for your User will only be allowed from whitelisted IPs. This setting is currently deprecated, and cannot be enabled. If you disable this setting, you will not be able to re-enable it."
+ lish_auth_method:
+ type: "string"
+ description: "The authentication methods that are allowed when connecting to [the Linode Shell (Lish)](https://www.linode.com/docs/guides/lish/).\n\n- `keys_only` is the most secure if you intend to use Lish.\n- `disabled` is recommended if you do not intend to use Lish at all.\n- If this account's Cloud Manager authentication type is set to a Third-Party Authentication method, `password_keys` cannot be used as your Lish authentication method. To view this account's Cloud Manager `authentication_type` field, send a request to the [Get a profile](https://techdocs.akamai.com/linode-api/reference/get-profile) operation."
+ example: "keys_only"
+ enum:
+ - "password_keys"
+ - "keys_only"
+ - "disabled"
+ timezone:
+ description: "The timezone you prefer to see times in. This is not used by the API directly. It is provided for the benefit of clients such as the Linode Cloud Manager and other clients built on the API. All times returned by the API are in UTC."
+ type: "string"
+ example: "US/Eastern"
+ authentication_type:
+ readOnly: true
+ example: "password"
+ enum:
+ - "password"
+ - "github"
+ description: "__Read-only__ This account's Cloud Manager authentication type. Authentication types are chosen through Cloud Manager and authorized when logging into your account. These authentication types are either the user's password (in conjunction with their username), or the name of their identity provider such as GitHub. For example, if a user:\n\n- Has never used Third-Party Authentication, their authentication type will be `password`.\n- Is using Third-Party Authentication, their authentication type will be the name of their Identity Provider (eg. `github`).\n- Has used Third-Party Authentication and has since revoked it, their authentication type will be `password`.\n\n__Note__. This functionality may not yet be available in Cloud Manager. See the [Cloud Manager Changelog](https://www.linode.com/docs/products/tools/cloud-manager/release-notes/) for the latest updates."
+ type: "string"
+ two_factor_auth:
+ x-linode-cli-display: 4
+ type: "boolean"
+ description: "If true, logins from untrusted computers will require Two Factor Authentication. Run [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) to enable Two Factor Authentication."
+ example: true
+ referrals:
+ type: "object"
+ description: "__Read-only__ Information about your status in our referral program.\n\nThis information becomes accessible after this Profile's Account has established at least $25.00 USD of total payments."
+ properties:
+ total:
+ type: "integer"
+ description: "__Read-only__ The number of users who have signed up with your referral code."
+ readOnly: true
+ example: 0
+ completed:
+ type: "integer"
+ description: "__Read-only__ The number of completed signups with your referral code."
+ example: 0
+ readOnly: true
+ code:
+ example: "871be32f49c1411b14f29f618aaf0c14637fb8d3"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ Your referral code. If others use this when signing up for Linode, you will receive account credit."
+ pending:
+ type: "integer"
+ description: "__Read-only__ The number of pending signups with your referral code. You will not receive credit for these signups until they are completed."
+ example: 0
+ readOnly: true
+ url:
+ format: "url"
+ description: "__Read-only__ Your referral url, used to direct others to sign up for Linode with your referral code."
+ type: "string"
+ readOnly: true
+ example: "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3"
+ credit:
+ description: "__Read-only__ The amount of account credit in US Dollars issued to you through the referral program."
+ type: "integer"
+ readOnly: true
+ example: 0
+ readOnly: true
+ additionalProperties: false
+ verified_phone_number:
+ example: "+5555555555"
+ readOnly: true
+ description: "__Read-only__ The phone number verified for this Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this Profile has no verified phone number."
+ type: "string"
+ nullable: true
+ format: "phone"
+ username:
+ description: "__Read-only__ Your username, used for logging in to our system."
+ type: "string"
+ x-linode-cli-display: 1
+ example: "exampleUser"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/profile.yaml"
+ description: "A Profile represents your User in our system. This is where you can change information about your User. This information is available to any OAuth Client regardless of requested scopes, and can be used to populate User information in third-party applications."
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "array"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-profile.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "A Profile represents your User in our system. This is where you can change information about your User. This information is available to any OAuth Client regardless of requested scopes, and can be used to populate User information in third-party applications."
+ x-akamai:
+ file-path: "schemas/profile.yaml"
+ properties:
+ two_factor_auth:
+ example: true
+ description: "If true, logins from untrusted computers will require Two Factor Authentication. Run [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) to enable Two Factor Authentication."
+ type: "boolean"
+ x-linode-cli-display: 4
+ authentication_type:
+ type: "string"
+ description: "__Read-only__ This account's Cloud Manager authentication type. Authentication types are chosen through Cloud Manager and authorized when logging into your account. These authentication types are either the user's password (in conjunction with their username), or the name of their identity provider such as GitHub. For example, if a user:\n\n- Has never used Third-Party Authentication, their authentication type will be `password`.\n- Is using Third-Party Authentication, their authentication type will be the name of their Identity Provider (eg. `github`).\n- Has used Third-Party Authentication and has since revoked it, their authentication type will be `password`.\n\n__Note__. This functionality may not yet be available in Cloud Manager. See the [Cloud Manager Changelog](https://www.linode.com/docs/products/tools/cloud-manager/release-notes/) for the latest updates."
+ enum:
+ - "password"
+ - "github"
+ example: "password"
+ readOnly: true
+ referrals:
+ description: "__Read-only__ Information about your status in our referral program.\n\nThis information becomes accessible after this Profile's Account has established at least $25.00 USD of total payments."
+ type: "object"
+ properties:
+ code:
+ example: "871be32f49c1411b14f29f618aaf0c14637fb8d3"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ Your referral code. If others use this when signing up for Linode, you will receive account credit."
+ total:
+ type: "integer"
+ description: "__Read-only__ The number of users who have signed up with your referral code."
+ example: 0
+ readOnly: true
+ completed:
+ type: "integer"
+ description: "__Read-only__ The number of completed signups with your referral code."
+ example: 0
+ readOnly: true
+ pending:
+ description: "__Read-only__ The number of pending signups with your referral code. You will not receive credit for these signups until they are completed."
+ type: "integer"
+ readOnly: true
+ example: 0
+ url:
+ readOnly: true
+ example: "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3"
+ format: "url"
+ description: "__Read-only__ Your referral url, used to direct others to sign up for Linode with your referral code."
+ type: "string"
+ credit:
+ type: "integer"
+ description: "__Read-only__ The amount of account credit in US Dollars issued to you through the referral program."
+ example: 0
+ readOnly: true
+ readOnly: true
+ additionalProperties: false
+ username:
+ description: "__Read-only__ Your username, used for logging in to our system."
+ type: "string"
+ x-linode-cli-display: 1
+ example: "exampleUser"
+ readOnly: true
+ verified_phone_number:
+ example: "+5555555555"
+ readOnly: true
+ nullable: true
+ description: "__Read-only__ The phone number verified for this Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this Profile has no verified phone number."
+ type: "string"
+ format: "phone"
+ authorized_keys:
+ example: null
+ type: "array"
+ description: "The list of SSH Keys authorized to use Lish for your User. This value is ignored if `lish_auth_method` is `disabled`."
+ nullable: true
+ items:
+ type: "string"
+ format: "ssh-key"
+ uid:
+ description: "__Read-only__ Your unique ID in our system. This value will never change, and can safely be used to identify your User."
+ type: "integer"
+ readOnly: true
+ example: 1234
+ ip_whitelist_enabled:
+ description: "If true, logins for your User will only be allowed from whitelisted IPs. This setting is currently deprecated, and cannot be enabled. If you disable this setting, you will not be able to re-enable it."
+ type: "boolean"
+ deprecated: true
+ example: false
+ email:
+ x-linode-cli-display: 2
+ format: "email"
+ type: "string"
+ description: "Your email address. This address will be used for communication with Linode as necessary."
+ example: "example-user@gmail.com"
+ email_notifications:
+ type: "boolean"
+ description: "If true, you will receive email notifications about account activity. If false, you may still receive business-critical communications through email."
+ example: true
+ restricted:
+ x-linode-cli-display: 3
+ description: "If true, your User has restrictions on what can be accessed on your Account. To get details on what entities/actions you can access/perform, run [List grants](https://techdocs.akamai.com/linode-api/reference/get-profile-grants)."
+ type: "boolean"
+ example: false
+ timezone:
+ example: "US/Eastern"
+ type: "string"
+ description: "The timezone you prefer to see times in. This is not used by the API directly. It is provided for the benefit of clients such as the Linode Cloud Manager and other clients built on the API. All times returned by the API are in UTC."
+ lish_auth_method:
+ type: "string"
+ description: "The authentication methods that are allowed when connecting to [the Linode Shell (Lish)](https://www.linode.com/docs/guides/lish/).\n\n- `keys_only` is the most secure if you intend to use Lish.\n- `disabled` is recommended if you do not intend to use Lish at all.\n- If this account's Cloud Manager authentication type is set to a Third-Party Authentication method, `password_keys` cannot be used as your Lish authentication method. To view this account's Cloud Manager `authentication_type` field, send a request to the [Get a profile](https://techdocs.akamai.com/linode-api/reference/get-profile) operation."
+ enum:
+ - "password_keys"
+ - "keys_only"
+ - "disabled"
+ example: "keys_only"
+ description: "The fields to update."
+ required: true
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-profile"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-profile"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-profile-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "A Profile represents your User in our system. This is where you can change information about your User. This information is available to any OAuth Client regardless of requested scopes, and can be used to populate User information in third-party applications."
+ x-akamai:
+ file-path: "schemas/profile.yaml"
+ properties:
+ timezone:
+ example: "US/Eastern"
+ type: "string"
+ description: "The timezone you prefer to see times in. This is not used by the API directly. It is provided for the benefit of clients such as the Linode Cloud Manager and other clients built on the API. All times returned by the API are in UTC."
+ lish_auth_method:
+ example: "keys_only"
+ enum:
+ - "password_keys"
+ - "keys_only"
+ - "disabled"
+ type: "string"
+ description: "The authentication methods that are allowed when connecting to [the Linode Shell (Lish)](https://www.linode.com/docs/guides/lish/).\n\n- `keys_only` is the most secure if you intend to use Lish.\n- `disabled` is recommended if you do not intend to use Lish at all.\n- If this account's Cloud Manager authentication type is set to a Third-Party Authentication method, `password_keys` cannot be used as your Lish authentication method. To view this account's Cloud Manager `authentication_type` field, send a request to the [Get a profile](https://techdocs.akamai.com/linode-api/reference/get-profile) operation."
+ uid:
+ example: 1234
+ readOnly: true
+ description: "__Read-only__ Your unique ID in our system. This value will never change, and can safely be used to identify your User."
+ type: "integer"
+ authorized_keys:
+ type: "array"
+ description: "The list of SSH Keys authorized to use Lish for your User. This value is ignored if `lish_auth_method` is `disabled`."
+ nullable: true
+ items:
+ format: "ssh-key"
+ type: "string"
+ example: null
+ ip_whitelist_enabled:
+ description: "If true, logins for your User will only be allowed from whitelisted IPs. This setting is currently deprecated, and cannot be enabled. If you disable this setting, you will not be able to re-enable it."
+ type: "boolean"
+ deprecated: true
+ example: false
+ restricted:
+ example: false
+ x-linode-cli-display: 3
+ description: "If true, your User has restrictions on what can be accessed on your Account. To get details on what entities/actions you can access/perform, run [List grants](https://techdocs.akamai.com/linode-api/reference/get-profile-grants)."
+ type: "boolean"
+ email_notifications:
+ type: "boolean"
+ description: "If true, you will receive email notifications about account activity. If false, you may still receive business-critical communications through email."
+ example: true
+ email:
+ x-linode-cli-display: 2
+ format: "email"
+ description: "Your email address. This address will be used for communication with Linode as necessary."
+ type: "string"
+ example: "example-user@gmail.com"
+ referrals:
+ properties:
+ url:
+ example: "https://www.linode.com/?r=871be32f49c1411b14f29f618aaf0c14637fb8d3"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ Your referral url, used to direct others to sign up for Linode with your referral code."
+ format: "url"
+ credit:
+ readOnly: true
+ example: 0
+ description: "__Read-only__ The amount of account credit in US Dollars issued to you through the referral program."
+ type: "integer"
+ code:
+ readOnly: true
+ example: "871be32f49c1411b14f29f618aaf0c14637fb8d3"
+ description: "__Read-only__ Your referral code. If others use this when signing up for Linode, you will receive account credit."
+ type: "string"
+ total:
+ example: 0
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The number of users who have signed up with your referral code."
+ completed:
+ readOnly: true
+ example: 0
+ description: "__Read-only__ The number of completed signups with your referral code."
+ type: "integer"
+ pending:
+ readOnly: true
+ example: 0
+ description: "__Read-only__ The number of pending signups with your referral code. You will not receive credit for these signups until they are completed."
+ type: "integer"
+ description: "__Read-only__ Information about your status in our referral program.\n\nThis information becomes accessible after this Profile's Account has established at least $25.00 USD of total payments."
+ type: "object"
+ readOnly: true
+ additionalProperties: false
+ username:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ Your username, used for logging in to our system."
+ readOnly: true
+ example: "exampleUser"
+ verified_phone_number:
+ format: "phone"
+ type: "string"
+ description: "__Read-only__ The phone number verified for this Profile with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n`null` if this Profile has no verified phone number."
+ nullable: true
+ readOnly: true
+ example: "+5555555555"
+ two_factor_auth:
+ example: true
+ type: "boolean"
+ description: "If true, logins from untrusted computers will require Two Factor Authentication. Run [Create a two factor secret](https://techdocs.akamai.com/linode-api/reference/post-tfa-enable) to enable Two Factor Authentication."
+ x-linode-cli-display: 4
+ authentication_type:
+ type: "string"
+ description: "__Read-only__ This account's Cloud Manager authentication type. Authentication types are chosen through Cloud Manager and authorized when logging into your account. These authentication types are either the user's password (in conjunction with their username), or the name of their identity provider such as GitHub. For example, if a user:\n\n- Has never used Third-Party Authentication, their authentication type will be `password`.\n- Is using Third-Party Authentication, their authentication type will be the name of their Identity Provider (eg. `github`).\n- Has used Third-Party Authentication and has since revoked it, their authentication type will be `password`.\n\n__Note__. This functionality may not yet be available in Cloud Manager. See the [Cloud Manager Changelog](https://www.linode.com/docs/products/tools/cloud-manager/release-notes/) for the latest updates."
+ readOnly: true
+ enum:
+ - "password"
+ - "github"
+ example: "password"
+ description: "Profile response."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli profile view"
+ title: "CLI"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/profile"
+ -
+ source: "linode-cli profile view"
+ lang: "CLI"
+ description: "Returns information about the current User. This can be used to see who is acting in applications where more than one token is managed. For example, in third-party OAuth applications.\n\nThis operation is always accessible, no matter what OAuth scopes the acting token has.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile view\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action: "view"
+ x-original-op-title: "Profile View"
+ summary: "Get a profile"
+ x-original-op-id: "getProfile"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth: []
+ x-akamai:
+ path-info: "/{apiVersion}/profile"
+ file-path: "paths/profile.yaml"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ x-linode-cli-command: "profile"
+ /{apiVersion}/lke/clusters/{clusterId}/servicetoken:
+ parameters:
+ -
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/cluster-id-path-c7286e6e.yaml"
+ name: "clusterId"
+ description: "ID of the target Kubernetes cluster."
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "paths/service-token.yaml"
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/servicetoken"
+ delete:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-lke-service-token"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-lke-service-token"
+ description: "Delete and regenerate the service account token for a Cluster.\n\n__Note__. When regenerating a service account token, the Cluster's control plane components and Linode CSI drivers are also restarted and configured with the new token. High Availability Clusters should not experience any disruption, while standard Clusters may experience brief control plane downtime while components are restarted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke service-token-delete 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "service-token-delete"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli lke service-token-delete 12345"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/lke/clusters/12345/servicetoken"
+ -
+ lang: "CLI"
+ source: "linode-cli lke service-token-delete 12345"
+ x-original-op-title: "Service Token Delete"
+ summary: "Delete a service token"
+ x-original-op-id: "postLKECServiceTokenDelete"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-lke-service-token-200.json"
+ description: "Service token deleted and regenerated successfully."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ x-linode-cli-command: "lke"
+ /{apiVersion}/profile/devices:
+ x-akamai:
+ path-info: "/{apiVersion}/profile/devices"
+ file-path: "paths/profile-devices.yaml"
+ get:
+ operationId: "get-devices"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-devices"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-linode-cli-action: "devices-list"
+ description: "Returns a paginated list of active TrustedDevices for your User. Browsers with an active Remember Me Session are logged into your account until the session expires or is revoked.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile devices-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/profile/devices"
+ -
+ lang: "CLI"
+ source: "linode-cli profile devices-list"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli profile devices-list"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ summary: "List trusted devices"
+ x-original-op-title: "Trusted Devices List"
+ x-original-op-id: "getDevices"
+ responses:
+ 200:
+ description: "Returns a paginated list of TrustedDevice objects."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-devices-200.yaml"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ data:
+ items:
+ additionalProperties: false
+ description: "A trusted device object represents an active Remember Me session with [login.linode.com](https://login.linode.com)."
+ type: "object"
+ properties:
+ last_authenticated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The last time this TrustedDevice was successfully used to authenticate to [login.linode.com](https://login.linode.com)."
+ readOnly: true
+ example: "2018-01-05T12:57:12"
+ last_remote_addr:
+ type: "string"
+ description: "__Read-only__ The last IP Address to successfully authenticate with this TrustedDevice."
+ example: "203.0.113.1"
+ readOnly: true
+ id:
+ readOnly: true
+ example: 123
+ description: "__Read-only__ The unique ID for this TrustedDevice."
+ type: "integer"
+ user_agent:
+ readOnly: true
+ example: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Vivaldi/2.1.1337.36"
+ type: "string"
+ description: "__Read-only__ The User Agent of the browser that created this TrustedDevice session."
+ expiry:
+ example: "2018-01-31T01:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this TrustedDevice session expires. Sessions typically last 30 days."
+ format: "date-time"
+ created:
+ readOnly: true
+ example: "2018-01-01T01:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Remember Me session was started. This corresponds to the time of login with the \"Remember Me\" box checked."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/trusted-device.yaml"
+ type: "array"
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-devices-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Profile"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-linode-cli-command: "profile"
+ /{apiVersion}/object-storage/cancel:
+ post:
+ responses:
+ 200:
+ description: "Object Storage cancellation successful."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ type: "object"
+ description: "The API responds with an empty object."
+ x-example:
+ x-ref: "../examples/post-cancel-object-storage-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ tags:
+ - "Object Storage"
+ x-linode-cli-action: "cancel"
+ description: "Cancel Object Storage on an Account.\n\n__Warning__. This removes all buckets and their contents from your Account. This data is irretrievable once removed.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage cancel\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/object-storage/cancel"
+ lang: "Shell"
+ -
+ source: "linode-cli object-storage cancel"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli object-storage cancel"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "object_storage:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "post-cancel-object-storage"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-cancel-object-storage"
+ x-original-op-id: "cancelObjectStorage"
+ summary: "Cancel Object Storage"
+ x-original-op-title: "Object Storage Cancel"
+ x-linode-cli-command: "object-storage"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-akamai:
+ file-path: "paths/object-storage-cancel.yaml"
+ path-info: "/{apiVersion}/object-storage/cancel"
+ /{apiVersion}/account/logins/{loginId}:
+ x-linode-cli-command: "account"
+ x-akamai:
+ file-path: "paths/account-login.yaml"
+ path-info: "/{apiVersion}/account/logins/{loginId}"
+ get:
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-account-login-200.json"
+ schema:
+ properties:
+ datetime:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-cli-display: 2
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When the login was initiated."
+ status:
+ type: "string"
+ description: "__Read-only__ Whether the login attempt succeeded or failed."
+ x-linode-cli-display: 5
+ enum:
+ - "successful"
+ - "failed"
+ example: "successful"
+ readOnly: true
+ ip:
+ format: "ip"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Read-only__ The remote IP address that requested the login."
+ readOnly: true
+ example: "192.0.2.0"
+ restricted:
+ type: "boolean"
+ description: "__Read-only__ True if the User that attempted the login was a restricted User, false otherwise."
+ x-linode-cli-display: 6
+ example: true
+ readOnly: true
+ id:
+ example: 1234
+ readOnly: true
+ description: "__Read-only__ The unique ID of this login object."
+ type: "integer"
+ x-linode-cli-display: 1
+ username:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The username of the User that attempted the login."
+ type: "string"
+ readOnly: true
+ example: "example_user"
+ x-akamai:
+ file-path: "schemas/login.yaml"
+ description: "An object representing a previous successful login for a User."
+ type: "object"
+ additionalProperties: false
+ description: "The requested login object."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ x-original-op-title: "Login View"
+ summary: "Get an account login"
+ x-original-op-id: "getAccountLogin"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-account-login"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-account-login"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli account login-view 1234"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/logins/1234"
+ -
+ lang: "CLI"
+ source: "linode-cli account login-view 1234"
+ description: "Returns a Login object that displays information about a successful login. The logins that can be viewed can be for any user on the account, and are not limited to only the logins of the user that is accessing this API endpoint. This operation can only be accessed by the unrestricted users of the account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account login-view 1234\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "login-view"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "integer"
+ name: "loginId"
+ description: "The ID of the login object to access."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/login-id-path.yaml"
+ /{apiVersion}/account/child-accounts:
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ get:
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli child-account list"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "child_account:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/child-accounts"
+ -
+ lang: "CLI"
+ source: "linode-cli child-account list"
+ description: "Returns a paginated list of basic information for the child accounts that exist for your parent account. See [Parent and Child Accounts for Akamai Partners](https://www.linode.com/docs/guides/parent-child-accounts/) for details on these accounts.\n\n__Note__. This operation can only be accessed by an unrestricted parent user, or restricted parent user with the `child_account_access` grant.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "child_account_access"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-child-accounts"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-child-accounts"
+ x-original-op-id: "getChildAccounts"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ in: "query"
+ description: "The page of a collection to return."
+ name: "page"
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ -
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ x-original-op-title: "Child Account List"
+ summary: "List child accounts"
+ responses:
+ 200:
+ description: "Returns child-level accounts."
+ content:
+ application/json:
+ schema:
+ properties:
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ readOnly: true
+ example: 1
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ properties:
+ zip:
+ example: "92111-1234"
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Can't contain more than 9 letter or number characters."
+ x-akamai:
+ labels:
+ - "Filterable"
+ capabilities:
+ readOnly: true
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of the capabilities the child account supports."
+ address_2:
+ x-linode-filterable: true
+ example: "Suite A"
+ maxLength: 64
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ Second line of this child account's billing address, if applicable."
+ type: "string"
+ first_name:
+ maxLength: 50
+ example: "John"
+ x-linode-filterable: true
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The first name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ type: "string"
+ active_since:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ The activation date and time for the child account."
+ type: "string"
+ city:
+ example: "San Diego"
+ maxLength: 24
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The city for this child account's billing address."
+ x-akamai:
+ labels:
+ - "Filterable"
+ state:
+ example: "CA"
+ maxLength: 24
+ x-linode-filterable: true
+ description: "__Filterable__ The state or province for the billing address (`address_1` and `address_2, if applicable`). If in the United States (US) or Canada (CA), this is the two-letter ISO 3166 State or Province code.\n\n__Note__. If this is a US military address, use state abbreviations (AA, AE, AP)."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ balance:
+ description: "__Read-only__ This child account's balance, in US dollars."
+ type: "number"
+ x-linode-cli-display: 4
+ example: 200
+ readOnly: true
+ credit_card:
+ type: "object"
+ description: "__Read-only__ Information for the credit card you've assigned to this child account."
+ properties:
+ expiry:
+ example: "11/2024"
+ type: "string"
+ description: "The expiration month and year of the credit card."
+ last_four:
+ example: 1111
+ type: "string"
+ description: "The last four digits of the credit card."
+ readOnly: true
+ additionalProperties: false
+ address_1:
+ description: "__Filterable__ First line of this child account's billing address."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ maxLength: 64
+ example: "123 Main Street"
+ x-linode-filterable: true
+ euuid:
+ readOnly: true
+ example: "A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ format: "uuid"
+ description: "__Read-only__ An external, unique identifier that Akamai assigned to the child account."
+ type: "string"
+ country:
+ x-linode-filterable: true
+ example: "US"
+ description: "__Filterable__ The two-letter ISO 3166 country code for this child account's billing address."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ last_name:
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The last name of the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`."
+ example: "Smith"
+ maxLength: 50
+ x-linode-filterable: true
+ balance_uninvoiced:
+ readOnly: true
+ example: 145
+ x-linode-cli-display: 4
+ description: "__Read-only__ This child account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ type: "number"
+ email:
+ x-linode-filterable: true
+ maxLength: 128
+ example: "john.smith@linode.com"
+ description: "__Filterable__ The email address of the owner of this child account."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ billing_source:
+ enum:
+ - "external"
+ example: "external"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The source of service charges for this account, as determined by its relationship with Akamai. The API returns a value of `external` to describe a child account in a parent-child account environment."
+ phone:
+ type: "string"
+ description: "__Filterable__ The phone number for the owner of this child account."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ maxLength: 32
+ example: "858-555-1212"
+ company:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The company name for the owner of this child account. It can't include any of these characters: `<` `>` `(` `)` `\"` `=`. You can't change this value yourself. We use it to create the proxy users that a parent account uses to access a child account. Talk to your account team if you need to change this value."
+ x-linode-filterable: true
+ example: "Acme"
+ maxLength: 128
+ tax_id:
+ example: "ATU99999999"
+ maxLength: 25
+ description: "The tax identification number for this child account. Use this for tax calculations in some countries. If you live in a country that doesn't collect taxes, ensure this is an empty string (`\"\"`)."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/child-account.yaml"
+ description: "Child account object."
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-child-accounts-200.yaml"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-child-accounts-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "child_account:read_only"
+ x-akamai:
+ file-path: "paths/child-accounts.yaml"
+ path-info: "/{apiVersion}/account/child-accounts"
+ x-linode-cli-command: "child-account"
+ /{apiVersion}/linode/instances/{linodeId}/mutate:
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ name: "linodeId"
+ description: "ID of the Linode to mutate."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/linode-id-path-ddb4b8aa.yaml"
+ required: true
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "paths/mutate.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/mutate"
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-mutate-linode-instance-200.json"
+ description: "Mutate started."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-mutate-linode-instance.json"
+ schema:
+ additionalProperties: false
+ properties:
+ allow_auto_disk_resize:
+ type: "boolean"
+ description: "Automatically resize disks when resizing a Linode. When resizing down to a smaller plan your Linode's data must fit within the smaller disk size."
+ default: true
+ example: true
+ x-akamai:
+ file-path: "schemas/added-post-mutate-linode-instance.yaml"
+ type: "object"
+ description: "Whether to automatically resize disks or not."
+ required: false
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-mutate-linode-instance"
+ operationId: "post-mutate-linode-instance"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes upgrade 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/linode/instances/123/mutate"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes upgrade 123"
+ lang: "CLI"
+ x-linode-grant: "read_write"
+ description: "Linodes created with now-deprecated Types are entitled to a free upgrade to the next generation. A mutating Linode will be allocated any new resources the upgraded Type provides, and will be subsequently restarted if it was currently running. If any actions are currently running or queued, those actions must be completed first before you can initiate a mutate.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes upgrade 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "upgrade"
+ x-original-op-title: "Linode Upgrade"
+ summary: "Upgrade a Linode"
+ x-original-op-id: "mutateLinodeInstance"
+ x-linode-cli-command: "linodes"
+ /{apiVersion}/nodebalancers/{nodeBalancerId}/configs/{configId}:
+ x-linode-cli-command: "nodebalancers"
+ get:
+ summary: "Get a config"
+ x-original-op-title: "Config View"
+ x-original-op-id: "getNodeBalancerConfig"
+ operationId: "get-node-balancer-config"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-node-balancer-config"
+ x-linode-cli-action: "config-view"
+ description: "Returns configuration information for a single port of this NodeBalancer.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers config-view \\\n 12345 4567\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers config-view \\\n 12345 4567"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli nodebalancers config-view \\\n 12345 4567"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "nodebalancers:read_only"
+ title: "OAuth scopes"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_only"
+ tags:
+ - "NodeBalancers"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "A NodeBalancer config represents the configuration of this NodeBalancer on a single port. For example, a NodeBalancer Config on port 80 would typically represent how this NodeBalancer response to HTTP requests. NodeBalancer configs have a list of backends, called \"nodes,\" that they forward requests between based on their configuration."
+ x-akamai:
+ file-path: "schemas/node-balancer-config.yaml"
+ properties:
+ nodebalancer_id:
+ example: 12345
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The ID for the NodeBalancer this config belongs to."
+ ssl_cert:
+ format: "ssl-cert"
+ type: "string"
+ description: "\nThe PEM-formatted public SSL certificate (or the combined PEM-formatted SSL certificate and Certificate Authority chain) that should be served on this NodeBalancerConfig's port.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\n[Diffie-Hellman Parameters](https://www.linode.com/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.\n\nThe contents of this field will not be shown in any responses that display the NodeBalancerConfig. Instead, `` will be printed where the field appears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig response are automatically derived from your certificate. Please refer to these fields to verify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ nullable: true
+ example: ""
+ nodes_status:
+ properties:
+ down:
+ example: 0
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The number of backends considered to be \"DOWN\" and unhealthy. These are not in rotation, and not serving requests."
+ up:
+ description: "__Read-only__ The number of backends considered to be \"UP\" and healthy, and that are serving requests."
+ type: "integer"
+ readOnly: true
+ example: 4
+ x-linode-cli-display: 10
+ type: "object"
+ description: "__Read-only__ A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends."
+ additionalProperties: false
+ readOnly: true
+ ssl_fingerprint:
+ readOnly: true
+ example: "00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13"
+ x-linode-cli-display: 9
+ description: "__Read-only__ The read-only SHA1-encoded fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig."
+ type: "string"
+ port:
+ type: "integer"
+ minimum: 1
+ description: "The port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443."
+ x-linode-cli-display: 2
+ maximum: 65535
+ default: 80
+ example: 80
+ check_attempts:
+ example: 3
+ minimum: 1
+ description: "How many times to attempt a check before considering a backend to be down."
+ type: "integer"
+ maximum: 30
+ default: 3
+ check_interval:
+ description: "How often, in seconds, to check that backends are up and serving requests.\n\nMust be greater than `check_timeout`."
+ type: "integer"
+ default: 31
+ example: 90
+ proxy_protocol:
+ enum:
+ - "none"
+ - "v1"
+ - "v2"
+ example: "none"
+ default: "none"
+ type: "string"
+ description: "ProxyProtocol is a TCP extension that sends initial TCP connection information such as source/destination IPs and ports to backend devices. This information would be lost otherwise. Backend devices must be configured to work with ProxyProtocol if enabled.\n\n- If omitted, or set to `none`, the NodeBalancer doesn't send any auxiliary data over TCP connections. This is the default.\n- If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.\n- If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol."
+ check:
+ enum:
+ - "none"
+ - "connection"
+ - "http"
+ - "http_body"
+ example: "http_body"
+ description: "The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down.\n\n- If `none` no check is performed.\n- `connection` requires only a connection to the backend to succeed.\n- `http` and `http_body` rely on the backend serving HTTP, and that the response returned matches what is expected."
+ type: "string"
+ default: "none"
+ ssl_commonname:
+ readOnly: true
+ example: "www.example.com"
+ x-linode-cli-display: 8
+ type: "string"
+ description: "__Read-only__ The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig."
+ check_passive:
+ example: true
+ default: true
+ x-linode-cli-display: 6
+ type: "boolean"
+ description: "If true, any response from this backend with a `5xx` status code will be enough for it to be considered unhealthy and taken out of rotation."
+ ssl_key:
+ example: ""
+ format: "ssl-key"
+ nullable: true
+ type: "string"
+ description: "The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ check_path:
+ example: "/test"
+ type: "string"
+ description: "The URL path to check on each backend. If the backend does not respond to this request it is considered to be down."
+ pattern: "^[a-zA-Z0-9\\/\\-%?&=.]*$"
+ id:
+ example: 4567
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This config's unique ID."
+ x-linode-cli-display: 1
+ check_timeout:
+ description: "How long, in seconds, to wait for a check attempt before considering it failed.\n\nMust be less than `check_interval`."
+ minimum: 1
+ type: "integer"
+ default: 30
+ maximum: 30
+ example: 10
+ algorithm:
+ x-linode-cli-display: 4
+ type: "string"
+ description: "What algorithm this NodeBalancer should use for routing traffic to backends."
+ enum:
+ - "roundrobin"
+ - "leastconn"
+ - "source"
+ example: "roundrobin"
+ default: "roundrobin"
+ protocol:
+ type: "string"
+ description: "The protocol this port is configured to serve.\n\n- The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.\n\n- The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.\n\nReview our guide on [Available Protocols](https://www.linode.com/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features."
+ x-linode-cli-display: 3
+ default: "http"
+ enum:
+ - "http"
+ - "https"
+ - "tcp"
+ example: "http"
+ check_body:
+ example: "it works"
+ type: "string"
+ description: "This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down."
+ cipher_suite:
+ type: "string"
+ description: "What ciphers to use for SSL connections served by this NodeBalancer.\n\n- `legacy` is considered insecure and should only be used if necessary."
+ x-linode-cli-display: 7
+ x-linode-cli-color:
+ default_: "white"
+ legacy: "red"
+ default: "recommended"
+ example: "recommended"
+ enum:
+ - "recommended"
+ - "legacy"
+ stickiness:
+ x-linode-cli-display: 5
+ description: "Controls how session stickiness is handled on this port.\n\n- If set to `none` connections will always be assigned a backend based on the algorithm configured.\n- If set to `table` sessions from the same remote address will be routed to the same backend.\n- For HTTP or HTTPS clients, `http_cookie` allows sessions to be routed to the same backend based on a cookie set by the NodeBalancer."
+ type: "string"
+ enum:
+ - "none"
+ - "table"
+ - "http_cookie"
+ example: "http_cookie"
+ default: "none"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-node-balancer-config-200.json"
+ description: "The requested NodeBalancer config."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ put:
+ x-original-op-title: "Config Update"
+ summary: "Update a config"
+ x-original-op-id: "updateNodeBalancerConfig"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-node-balancer-config"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "put-node-balancer-config"
+ description: "Updates the configuration for a single port on a NodeBalancer.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers config-update \\\n 12345 4567 \\\n --port 443 \\\n --protocol https \\\n --algorithm roundrobin \\\n --stickiness http_cookie \\\n --check http_body \\\n --check_interval 90 \\\n --check_timeout 10 \\\n --check_attempts 3 \\\n --check_path \"/test\" \\\n --check_body \"it works\" \\\n --check_passive true \\\n --proxy_protocol \"none\" \\\n --ssl_cert \"-----BEGIN CERTIFICATE-----\n CERTIFICATE_INFORMATION\n -----END CERTIFICATE-----\" \\\n --ssl_key \"-----BEGIN PRIVATE KEY-----\n PRIVATE_KEY_INFORMATION\n -----END PRIVATE KEY-----\" \\\n --cipher_suite recommended\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "config-update"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli nodebalancers config-update \\\n 12345 4567 \\\n --port 443 \\\n --protocol https \\\n --algorithm roundrobin \\\n --stickiness http_cookie \\\n --check http_body \\\n --check_interval 90 \\\n --check_timeout 10 \\\n --check_attempts 3 \\\n --check_path \"/test\" \\\n --check_body \"it works\" \\\n --check_passive true \\\n --proxy_protocol \"none\" \\\n --ssl_cert \"-----BEGIN CERTIFICATE-----\n CERTIFICATE_INFORMATION\n -----END CERTIFICATE-----\" \\\n --ssl_key \"-----BEGIN PRIVATE KEY-----\n PRIVATE_KEY_INFORMATION\n -----END PRIVATE KEY-----\" \\\n --cipher_suite recommended"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"port\": 443,\n \"protocol\": \"https\",\n \"algorithm\": \"roundrobin\",\n \"stickiness\": \"http_cookie\",\n \"check\": \"http_body\",\n \"check_interval\": 90,\n \"check_timeout\": 10,\n \"check_attempts\": 3,\n \"check_path\": \"/test\",\n \"check_body\": \"it works\",\n \"check_passive\": true,\n \"proxy_protocol\": \"none\",\n \"ssl_cert\": \"-----BEGIN CERTIFICATE-----\\nCERTIFICATE_INFORMATION\\n-----END CERTIFICATE-----\",\n \"ssl_key\": \"-----BEGIN PRIVATE KEY-----\\nPRIVATE_KEY_INFORMATION\\n-----END PRIVATE KEY-----\",\n \"cipher_suite\": \"recommended\"\n }' \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567"
+ lang: "Shell"
+ -
+ source: "linode-cli nodebalancers config-update \\\n 12345 4567 \\\n --port 443 \\\n --protocol https \\\n --algorithm roundrobin \\\n --stickiness http_cookie \\\n --check http_body \\\n --check_interval 90 \\\n --check_timeout 10 \\\n --check_attempts 3 \\\n --check_path \"/test\" \\\n --check_body \"it works\" \\\n --check_passive true \\\n --proxy_protocol \"none\" \\\n --ssl_cert \"-----BEGIN CERTIFICATE-----\n CERTIFICATE_INFORMATION\n -----END CERTIFICATE-----\" \\\n --ssl_key \"-----BEGIN PRIVATE KEY-----\n PRIVATE_KEY_INFORMATION\n -----END PRIVATE KEY-----\" \\\n --cipher_suite recommended"
+ lang: "CLI"
+ tags:
+ - "NodeBalancers"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "A NodeBalancer config represents the configuration of this NodeBalancer on a single port. For example, a NodeBalancer Config on port 80 would typically represent how this NodeBalancer response to HTTP requests. NodeBalancer configs have a list of backends, called \"nodes,\" that they forward requests between based on their configuration."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/node-balancer-config.yaml"
+ properties:
+ cipher_suite:
+ x-linode-cli-display: 7
+ default: "recommended"
+ x-linode-cli-color:
+ legacy: "red"
+ default_: "white"
+ description: "What ciphers to use for SSL connections served by this NodeBalancer.\n\n- `legacy` is considered insecure and should only be used if necessary."
+ type: "string"
+ example: "recommended"
+ enum:
+ - "recommended"
+ - "legacy"
+ check_body:
+ type: "string"
+ description: "This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down."
+ example: "it works"
+ stickiness:
+ description: "Controls how session stickiness is handled on this port.\n\n- If set to `none` connections will always be assigned a backend based on the algorithm configured.\n- If set to `table` sessions from the same remote address will be routed to the same backend.\n- For HTTP or HTTPS clients, `http_cookie` allows sessions to be routed to the same backend based on a cookie set by the NodeBalancer."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "http_cookie"
+ enum:
+ - "none"
+ - "table"
+ - "http_cookie"
+ default: "none"
+ protocol:
+ x-linode-cli-display: 3
+ description: "The protocol this port is configured to serve.\n\n- The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.\n\n- The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.\n\nReview our guide on [Available Protocols](https://www.linode.com/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features."
+ type: "string"
+ default: "http"
+ example: "http"
+ enum:
+ - "http"
+ - "https"
+ - "tcp"
+ check_timeout:
+ description: "How long, in seconds, to wait for a check attempt before considering it failed.\n\nMust be less than `check_interval`."
+ minimum: 1
+ type: "integer"
+ example: 10
+ maximum: 30
+ default: 30
+ algorithm:
+ example: "roundrobin"
+ enum:
+ - "roundrobin"
+ - "leastconn"
+ - "source"
+ default: "roundrobin"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "What algorithm this NodeBalancer should use for routing traffic to backends."
+ check_passive:
+ x-linode-cli-display: 6
+ default: true
+ description: "If true, any response from this backend with a `5xx` status code will be enough for it to be considered unhealthy and taken out of rotation."
+ type: "boolean"
+ example: true
+ ssl_key:
+ nullable: true
+ type: "string"
+ description: "The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ format: "ssl-key"
+ example: ""
+ id:
+ readOnly: true
+ example: 4567
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This config's unique ID."
+ check_path:
+ description: "The URL path to check on each backend. If the backend does not respond to this request it is considered to be down."
+ type: "string"
+ pattern: "^[a-zA-Z0-9\\/\\-%?&=.]*$"
+ example: "/test"
+ check:
+ default: "none"
+ description: "The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down.\n\n- If `none` no check is performed.\n- `connection` requires only a connection to the backend to succeed.\n- `http` and `http_body` rely on the backend serving HTTP, and that the response returned matches what is expected."
+ type: "string"
+ example: "http_body"
+ enum:
+ - "none"
+ - "connection"
+ - "http"
+ - "http_body"
+ ssl_commonname:
+ x-linode-cli-display: 8
+ type: "string"
+ description: "__Read-only__ The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig."
+ readOnly: true
+ example: "www.example.com"
+ check_interval:
+ type: "integer"
+ description: "How often, in seconds, to check that backends are up and serving requests.\n\nMust be greater than `check_timeout`."
+ default: 31
+ example: 90
+ proxy_protocol:
+ default: "none"
+ type: "string"
+ description: "ProxyProtocol is a TCP extension that sends initial TCP connection information such as source/destination IPs and ports to backend devices. This information would be lost otherwise. Backend devices must be configured to work with ProxyProtocol if enabled.\n\n- If omitted, or set to `none`, the NodeBalancer doesn't send any auxiliary data over TCP connections. This is the default.\n- If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.\n- If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol."
+ example: "none"
+ enum:
+ - "none"
+ - "v1"
+ - "v2"
+ nodes_status:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends."
+ properties:
+ down:
+ readOnly: true
+ example: 0
+ description: "__Read-only__ The number of backends considered to be \"DOWN\" and unhealthy. These are not in rotation, and not serving requests."
+ type: "integer"
+ up:
+ description: "__Read-only__ The number of backends considered to be \"UP\" and healthy, and that are serving requests."
+ type: "integer"
+ example: 4
+ readOnly: true
+ x-linode-cli-display: 10
+ check_attempts:
+ type: "integer"
+ minimum: 1
+ description: "How many times to attempt a check before considering a backend to be down."
+ example: 3
+ maximum: 30
+ default: 3
+ port:
+ type: "integer"
+ minimum: 1
+ description: "The port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443."
+ x-linode-cli-display: 2
+ example: 80
+ maximum: 65535
+ default: 80
+ ssl_fingerprint:
+ example: "00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13"
+ readOnly: true
+ description: "__Read-only__ The read-only SHA1-encoded fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig."
+ type: "string"
+ x-linode-cli-display: 9
+ nodebalancer_id:
+ readOnly: true
+ example: 12345
+ description: "__Read-only__ The ID for the NodeBalancer this config belongs to."
+ type: "integer"
+ ssl_cert:
+ example: ""
+ description: "\nThe PEM-formatted public SSL certificate (or the combined PEM-formatted SSL certificate and Certificate Authority chain) that should be served on this NodeBalancerConfig's port.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\n[Diffie-Hellman Parameters](https://www.linode.com/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.\n\nThe contents of this field will not be shown in any responses that display the NodeBalancerConfig. Instead, `` will be printed where the field appears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig response are automatically derived from your certificate. Please refer to these fields to verify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ type: "string"
+ nullable: true
+ format: "ssl-cert"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-node-balancer-config-200.json"
+ description: "Config updated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ required: true
+ description: "The fields to update."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-node-balancer-config.json"
+ schema:
+ additionalProperties: false
+ properties:
+ nodebalancer_id:
+ description: "__Read-only__ The ID for the NodeBalancer this config belongs to."
+ type: "integer"
+ example: 12345
+ readOnly: true
+ ssl_cert:
+ description: "\nThe PEM-formatted public SSL certificate (or the combined PEM-formatted SSL certificate and Certificate Authority chain) that should be served on this NodeBalancerConfig's port.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\n[Diffie-Hellman Parameters](https://www.linode.com/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.\n\nThe contents of this field will not be shown in any responses that display the NodeBalancerConfig. Instead, `` will be printed where the field appears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig response are automatically derived from your certificate. Please refer to these fields to verify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ type: "string"
+ nullable: true
+ format: "ssl-cert"
+ example: ""
+ nodes_status:
+ x-linode-cli-display: 10
+ properties:
+ down:
+ example: 0
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The number of backends considered to be \"DOWN\" and unhealthy. These are not in rotation, and not serving requests."
+ up:
+ readOnly: true
+ example: 4
+ type: "integer"
+ description: "__Read-only__ The number of backends considered to be \"UP\" and healthy, and that are serving requests."
+ description: "__Read-only__ A structure containing information about the health of the backends for this port. This information is updated periodically as checks are performed against backends."
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ ssl_fingerprint:
+ example: "00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10:11:12:13"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The read-only SHA1-encoded fingerprint automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig."
+ x-linode-cli-display: 9
+ check_attempts:
+ default: 3
+ maximum: 30
+ description: "How many times to attempt a check before considering a backend to be down."
+ type: "integer"
+ minimum: 1
+ example: 3
+ port:
+ maximum: 65535
+ default: 80
+ example: 80
+ type: "integer"
+ description: "The port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443."
+ minimum: 1
+ x-linode-cli-display: 2
+ check_interval:
+ default: 31
+ description: "How often, in seconds, to check that backends are up and serving requests.\n\nMust be greater than `check_timeout`."
+ type: "integer"
+ example: 90
+ proxy_protocol:
+ example: "none"
+ enum:
+ - "none"
+ - "v1"
+ - "v2"
+ description: "ProxyProtocol is a TCP extension that sends initial TCP connection information such as source/destination IPs and ports to backend devices. This information would be lost otherwise. Backend devices must be configured to work with ProxyProtocol if enabled.\n\n- If omitted, or set to `none`, the NodeBalancer doesn't send any auxiliary data over TCP connections. This is the default.\n- If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.\n- If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol."
+ type: "string"
+ default: "none"
+ check:
+ description: "The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down.\n\n- If `none` no check is performed.\n- `connection` requires only a connection to the backend to succeed.\n- `http` and `http_body` rely on the backend serving HTTP, and that the response returned matches what is expected."
+ type: "string"
+ default: "none"
+ enum:
+ - "none"
+ - "connection"
+ - "http"
+ - "http_body"
+ example: "http_body"
+ ssl_commonname:
+ readOnly: true
+ example: "www.example.com"
+ x-linode-cli-display: 8
+ description: "__Read-only__ The read-only common name automatically derived from the SSL certificate assigned to this NodeBalancerConfig. Please refer to this field to verify that the appropriate certificate is assigned to your NodeBalancerConfig."
+ type: "string"
+ ssl_key:
+ example: ""
+ format: "ssl-key"
+ nullable: true
+ type: "string"
+ description: "The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ check_passive:
+ example: true
+ default: true
+ x-linode-cli-display: 6
+ description: "If true, any response from this backend with a `5xx` status code will be enough for it to be considered unhealthy and taken out of rotation."
+ type: "boolean"
+ check_path:
+ pattern: "^[a-zA-Z0-9\\/\\-%?&=.]*$"
+ description: "The URL path to check on each backend. If the backend does not respond to this request it is considered to be down."
+ type: "string"
+ example: "/test"
+ id:
+ example: 4567
+ readOnly: true
+ description: "__Read-only__ This config's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ check_timeout:
+ example: 10
+ default: 30
+ maximum: 30
+ minimum: 1
+ description: "How long, in seconds, to wait for a check attempt before considering it failed.\n\nMust be less than `check_interval`."
+ type: "integer"
+ algorithm:
+ x-linode-cli-display: 4
+ description: "What algorithm this NodeBalancer should use for routing traffic to backends."
+ type: "string"
+ example: "roundrobin"
+ enum:
+ - "roundrobin"
+ - "leastconn"
+ - "source"
+ default: "roundrobin"
+ protocol:
+ enum:
+ - "http"
+ - "https"
+ - "tcp"
+ example: "http"
+ x-linode-cli-display: 3
+ default: "http"
+ type: "string"
+ description: "The protocol this port is configured to serve.\n\n- The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.\n\n- The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.\n\nReview our guide on [Available Protocols](https://www.linode.com/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features."
+ check_body:
+ example: "it works"
+ type: "string"
+ description: "This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down."
+ cipher_suite:
+ type: "string"
+ description: "What ciphers to use for SSL connections served by this NodeBalancer.\n\n- `legacy` is considered insecure and should only be used if necessary."
+ x-linode-cli-display: 7
+ enum:
+ - "recommended"
+ - "legacy"
+ example: "recommended"
+ x-linode-cli-color:
+ default_: "white"
+ legacy: "red"
+ default: "recommended"
+ stickiness:
+ description: "Controls how session stickiness is handled on this port.\n\n- If set to `none` connections will always be assigned a backend based on the algorithm configured.\n- If set to `table` sessions from the same remote address will be routed to the same backend.\n- For HTTP or HTTPS clients, `http_cookie` allows sessions to be routed to the same backend based on a cookie set by the NodeBalancer."
+ type: "string"
+ x-linode-cli-display: 5
+ default: "none"
+ example: "http_cookie"
+ enum:
+ - "none"
+ - "table"
+ - "http_cookie"
+ x-akamai:
+ file-path: "schemas/node-balancer-config.yaml"
+ type: "object"
+ description: "A NodeBalancer config represents the configuration of this NodeBalancer on a single port. For example, a NodeBalancer Config on port 80 would typically represent how this NodeBalancer response to HTTP requests. NodeBalancer configs have a list of backends, called \"nodes,\" that they forward requests between based on their configuration."
+ x-akamai:
+ file-path: "paths/node-balancer-config.yaml"
+ path-info: "/{apiVersion}/nodebalancers/{nodeBalancerId}/configs/{configId}"
+ delete:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/delete-node-balancer-config-200.json"
+ description: "NodeBalancer Config deleted successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "NodeBalancers"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-node-balancer-config"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-node-balancer-config"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli nodebalancers config-delete \\\n 12345 4567"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers config-delete \\\n 12345 4567"
+ description: "Deletes the Config for a port of this NodeBalancer.\n\n__This cannot be undone.__\n\nOnce completed, this NodeBalancer will no longer respond to requests on the given port. This also deletes all associated NodeBalancerNodes, but the Linodes they were routing traffic to will be unchanged and will not be removed.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers config-delete \\\n 12345 4567\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "config-delete"
+ x-original-op-title: "Config Delete"
+ summary: "Delete a config"
+ x-original-op-id: "deleteNodeBalancerConfig"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ required: true
+ schema:
+ type: "integer"
+ name: "nodeBalancerId"
+ description: "The ID of the NodeBalancer to access."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/node-balancer-id.yaml"
+ -
+ required: true
+ schema:
+ type: "integer"
+ name: "configId"
+ description: "The ID of the Config to access."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/config-id.yaml"
+ /{apiVersion}/managed/issues/{issueId}:
+ x-linode-cli-command: "managed"
+ get:
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-managed-issue-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/managed-issue.yaml"
+ properties:
+ created:
+ x-linode-cli-display: 2
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Issue was created. Issues are created in response to issues detected with Managed Services, so this is also when the Issue was detected."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ services:
+ items:
+ example: 654
+ type: "integer"
+ x-linode-cli-display: 3
+ description: "__Read-only__ An array of Managed Service IDs that were affected by this Issue."
+ type: "array"
+ readOnly: true
+ entity:
+ type: "object"
+ description: "__Read-only__ The ticket this Managed Issue opened."
+ properties:
+ label:
+ type: "string"
+ description: "__Read-only__ The summary for this Ticket."
+ readOnly: true
+ example: "Managed Issue opened!"
+ type:
+ type: "string"
+ description: "__Read-only__ The type of entity this is. In this case, it is always a Ticket."
+ readOnly: true
+ enum:
+ - "ticket"
+ example: "ticket"
+ url:
+ format: "url"
+ type: "string"
+ description: "__Read-only__ The relative URL where you can access this Ticket."
+ readOnly: true
+ example: "/support/tickets/98765"
+ id:
+ type: "integer"
+ description: "__Read-only__ This ticket's ID."
+ example: 98765
+ readOnly: true
+ x-linode-cli-display: 4
+ additionalProperties: false
+ readOnly: true
+ id:
+ readOnly: true
+ example: 823
+ x-linode-cli-display: 1
+ description: "__Read-only__ This Issue's unique ID."
+ type: "integer"
+ description: "An Issue that was detected with a service Linode is managing."
+ type: "object"
+ description: "The requested issue."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ x-original-op-title: "Managed Issue View"
+ summary: "Get a managed issue"
+ x-original-op-id: "getManagedIssue"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-managed-issue"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-managed-issue"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli managed issue-view 823"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/managed/issues/823"
+ lang: "Shell"
+ -
+ source: "linode-cli managed issue-view 823"
+ lang: "CLI"
+ description: "Returns a single Issue that is impacting or did impact one of your Managed Services.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed issue-view 823\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action: "issue-view"
+ x-akamai:
+ path-info: "/{apiVersion}/managed/issues/{issueId}"
+ file-path: "paths/issue.yaml"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ x-akamai:
+ file-path: "parameters/issue-id-path.yaml"
+ required: true
+ in: "path"
+ description: "The Issue to look up."
+ name: "issueId"
+ schema:
+ type: "integer"
+ /{apiVersion}/lke/clusters/{clusterId}/pools:
+ x-akamai:
+ file-path: "paths/cluster-pools.yaml"
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/pools"
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-pools"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-lke-cluster-pools"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-linode-cli-use-schema:
+ additionalProperties: false
+ properties:
+ type:
+ x-linode-cli-display: 2
+ id:
+ x-linode-cli-display: 1
+ nodes.status:
+ x-linode-cli-display: 5
+ nodes.id:
+ x-linode-cli-display: 3
+ nodes.instance_id:
+ x-linode-cli-display: 4
+ x-akamai:
+ file-path: "schemas/added-get-lke-cluster-pools-cli.yaml"
+ type: "object"
+ x-linode-cli-nested-list: "nodes"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-lke-cluster-pools-200.yaml"
+ properties:
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/lke-node-pool.yaml"
+ properties:
+ id:
+ x-linode-filterable: true
+ example: 456
+ description: "__Filterable__ This Node Pool's unique ID."
+ type: "integer"
+ x-akamai:
+ labels:
+ - "Filterable"
+ tags:
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ nodes:
+ type: "array"
+ description: "Status information for the Nodes which are members of this Node Pool. If a Linode has not been provisioned for a given Node slot, the instance_id will be returned as null."
+ items:
+ readOnly: true
+ additionalProperties: false
+ type: "object"
+ description: "__Read-only__ Status information for a Node which is a member of a Kubernetes cluster."
+ x-akamai:
+ file-path: "schemas/lke-node-status.yaml"
+ properties:
+ id:
+ example: "123456"
+ description: "The Node's ID."
+ type: "string"
+ instance_id:
+ example: 123458
+ description: "The Linode's ID. When no Linode is currently provisioned for this Node, this will be null."
+ type: "string"
+ status:
+ example: "ready"
+ enum:
+ - "ready"
+ - "not_ready"
+ type: "string"
+ description: "The Node's status as it pertains to being a Kubernetes node."
+ type:
+ description: "The Linode Type for all of the nodes in the Node Pool."
+ type: "string"
+ example: "g6-standard-4"
+ labels:
+ properties:
+ value:
+ description: "The Kubernetes label value."
+ type: "string"
+ minLength: 0
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ maxLength: 63
+ example: "teamUSA"
+ key:
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*){0,62}?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{0,62})?$"
+ maxLength: 128
+ example: "example.com/my-app"
+ description: "The Kubernetes label key."
+ type: "string"
+ minLength: 1
+ description: "Key-value pairs added as labels to nodes in the node pool. Labels help classify your nodes and to easily select subsets of objects."
+ type: "object"
+ additionalProperties: false
+ example:
+ example.com/my-app: "teamUSA"
+ autoscaler:
+ description: "When enabled, the number of nodes autoscales within the defined minimum and maximum values."
+ type: "object"
+ properties:
+ enabled:
+ example: true
+ type: "boolean"
+ description: "Whether autoscaling is enabled for this Node Pool. Defaults to `false`."
+ max:
+ example: 12
+ type: "integer"
+ minimum: 1
+ description: "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`."
+ maximum: 100
+ min:
+ minimum: 1
+ description: "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`."
+ type: "integer"
+ maximum: 100
+ example: 3
+ additionalProperties: false
+ disks:
+ x-linode-cli-format: "json"
+ description: "This Node Pool's custom disk layout."
+ type: "array"
+ items:
+ type: "object"
+ description: "The values to assign to each partition in this Node Pool's custom disk layout."
+ properties:
+ size:
+ type: "integer"
+ description: "The size of this custom disk partition in MB.\n\n - The size of this disk partition must not exceed the capacity of the node's plan type."
+ example: 1024
+ type:
+ example: "ext-4"
+ enum:
+ - "raw"
+ - "ext4"
+ type: "string"
+ description: "This custom disk partition's filesystem type."
+ additionalProperties: false
+ count:
+ example: 6
+ minimum: 1
+ description: "The number of nodes in the Node Pool."
+ type: "integer"
+ maximum: 100
+ taints:
+ example:
+ -
+ key: "example.com/my-app"
+ effect: "NoSchedule"
+ value: "teamA"
+ -
+ value: "teamC"
+ key: "myapp.io/team"
+ effect: "NoExecute"
+ items:
+ properties:
+ key:
+ minLength: 1
+ description: "The Kubernetes taint key."
+ type: "string"
+ maxLength: 63
+ example: "example.com/my-app"
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*)?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{1,63})?$"
+ effect:
+ example: "NoSchedule"
+ enum:
+ - "NoSchedule"
+ - "PreferNoSchedule"
+ - "NoExecute"
+ type: "string"
+ description: "The Kubernetes taint effect. For `NoSchedule`, `PreferNoSchedule` and `NoExecute` descriptions, see [Kubernetes Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)."
+ value:
+ minLength: 0
+ maxLength: 63
+ example: "teamC"
+ type: "string"
+ description: "The Kubernetes taint value."
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ additionalProperties: false
+ description: "Kubernetes taints added to nodes in the node pool. Taints help control how pods are scheduled onto nodes, specifically allowing them to repel certain pods."
+ type: "array"
+ type: "object"
+ description: "The set of Node Pools which are members of the Kubernetes cluster. Node Pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information."
+ additionalProperties: false
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-lke-cluster-pools-200.json"
+ description: "Returns an array of all Pools in this Kubernetes cluster."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli lke pools-list 12345"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/lke/clusters/12345/pools"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli lke pools-list 12345"
+ description: "Returns all active Node Pools on a Kubernetes cluster.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke pools-list 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "pools-list"
+ x-original-op-title: "Node Pools List"
+ summary: "List node pools"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ x-original-op-id: "getLKEClusterPools"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_only"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ name: "clusterId"
+ description: "ID of the Kubernetes cluster to look up."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/cluster-id-path.yaml"
+ required: true
+ schema:
+ type: "integer"
+ x-linode-cli-command: "lke"
+ post:
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli lke pool-create 12345 \\\n --type g6-standard-4 \\\n --count 6 \\\n --tags example-tag \\\n --autoscaler.enabled true \\\n --autoscaler.max 12 \\\n --autoscaler.min 3"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "lke:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"type\": \"g6-standard-4\",\n \"count\": 6,\n \"tags\": [\"example-tag\"],\n \"autoscaler\": {\n \"enabled\": true,\n \"max\": 12,\n \"min\": 3\n }\n }' \\\n https://api.linode.com/v4/lke/clusters/12345/pools"
+ lang: "Shell"
+ -
+ source: "linode-cli lke pool-create 12345 \\\n --type g6-standard-4 \\\n --count 6 \\\n --tags example-tag \\\n --autoscaler.enabled true \\\n --autoscaler.max 12 \\\n --autoscaler.min 3"
+ lang: "CLI"
+ description: "Creates a new Node Pool for the designated Kubernetes cluster.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke pool-create 12345 \\\n --type g6-standard-4 \\\n --count 6 \\\n --tags example-tag \\\n --autoscaler.enabled true \\\n --autoscaler.max 12 \\\n --autoscaler.min 3\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "pool-create"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-lke-cluster-pools"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-lke-cluster-pools"
+ x-original-op-id: "postLKEClusterPools"
+ x-original-op-title: "Node Pool Create"
+ summary: "Create a node pool"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-post-lke-cluster-pools.yaml"
+ required:
+ - "type"
+ - "count"
+ type: "object"
+ allOf:
+ -
+ properties:
+ labels:
+ description: "Key-value pairs added as labels to nodes in the node pool. Labels help classify your nodes and to easily select subsets of objects. To learn more, review [Add Labels and Taints to your LKE Node Pools](https://www.linode.com/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#add-labels-and-taints-to-your-lke-node-pools).\n\nSpecifying an empty dictionary value will remove all previously set labels."
+ type: "object"
+ properties:
+ key:
+ type: "string"
+ description: "The Kubernetes label key.\n\n* This needs to begin and end with alphanumeric characters.\n\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`)\n\n* If the key begins with a DNS subdomain prefix and a single (`/`), like 'example.com/my-app', the maximum total length of the label key is 128 characters. Domain labels can be upto 62 characters after the '/'. The prefix part must adhere to RFC 1123 DNS subdomain restrictions.\n\n* If the key does not begin with a DNS subdomain prefix, the maximum key length is 63 characters."
+ minLength: 1
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*){0,62}?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{0,62})?$"
+ example: "example.com/my-app"
+ maxLength: 128
+ value:
+ example: "teams"
+ maxLength: 63
+ minLength: 0
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ description: "The Kubernetes label value.\n\n* This needs to begin and end with alphanumeric characters.\n\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`).\n\n* May be specified as an empty string value with `\"\"`."
+ type: "string"
+ items:
+ required:
+ - "key"
+ - "value"
+ example:
+ example.com/my-app: "teams"
+ additionalProperties: false
+ type:
+ example: "g6-standard-4"
+ description: "The Linode Type for all of the nodes in the Node Pool."
+ type: "string"
+ autoscaler:
+ additionalProperties: false
+ properties:
+ max:
+ example: 12
+ maximum: 100
+ description: "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`. Defaults to the value provided by the `count` field."
+ type: "integer"
+ minimum: 1
+ min:
+ description: "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`."
+ type: "integer"
+ minimum: 1
+ maximum: 100
+ example: 3
+ enabled:
+ description: "Whether autoscaling is enabled for this Node Pool. Defaults to `false`."
+ type: "boolean"
+ example: true
+ description: "When enabled, the number of nodes autoscales within the defined minimum and maximum values.\n\nWhen making a request, `max` and `min` require each other."
+ type: "object"
+ count:
+ minimum: 1
+ description: "The number of nodes in the Node Pool."
+ type: "integer"
+ maximum: 100
+ example: 6
+ disks:
+ items:
+ additionalProperties: false
+ properties:
+ type:
+ enum:
+ - "raw"
+ - "ext4"
+ example: "ext-4"
+ description: "This custom disk partition's filesystem type."
+ type: "string"
+ size:
+ example: 1024
+ description: "The size of this custom disk partition in MB.\n\n - The size of this disk partition must not exceed the capacity of the node's plan type."
+ type: "integer"
+ description: "The values to assign to each partition in this Node Pool's custom disk layout."
+ type: "object"
+ description: "__Note__. This field should be omitted except for special use cases. The disks specified here are partitions in _addition_ to the primary partition and reduce the size of the primary partition, which can lead to stability problems for the Node.\n\nThis Node Pool's custom disk layout. Each item in this array will create a new disk partition for each node in this Node Pool.\n\n - The custom disk layout is applied to each node in this Node Pool.\n - The maximum number of custom disk partitions that can be configured is 7.\n - Once the requested disk partitions are allocated, the remaining disk space is allocated to the node's boot disk.\n - A Node Pool's custom disk layout is immutable over the lifetime of the Node Pool."
+ type: "array"
+ x-linode-cli-format: "json"
+ taints:
+ example:
+ -
+ value: "teamA"
+ key: "example.com/my-app"
+ effect: "NoSchedule"
+ -
+ effect: "NoExecute"
+ key: "myapp.io/team"
+ value: "teamB"
+ type: "array"
+ description: "Kubernetes taints to add to node pool nodes. Taints help control how pods are scheduled onto nodes, specifically allowing them to repel certain pods. To learn more, review [Add Labels and Taints to your LKE Node Pools](https://www.linode.com/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#add-labels-and-taints-to-your-lke-node-pools).\n\nSpecifying an empty array (`[]`) removes all previously set taints."
+ items:
+ properties:
+ value:
+ minLength: 0
+ maxLength: 63
+ example: "teamC"
+ description: "The Kubernetes taint value.\n\n* This needs to begin and end with alphanumeric characters.\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`).\n* May be specified as an empty string value with `\"\"`."
+ type: "string"
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ key:
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*)?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{1,63})?$"
+ description: "The Kubernetes taint key.\n\n* This needs to begin and end with alphanumeric characters.\n* May only consist of alphanumeric characters, dashes (`-`), underscores (`_`), or dots (`.`).\n* If the key begins with a DNS subdomain prefix and a single slash (`/`), like `example.com/my-app`, the prefix part must adhere to RFC 1123 DNS subdomain restrictions and be a maximum of 253 characters."
+ type: "string"
+ maxLength: 63
+ example: "example.com/my-app"
+ minLength: 1
+ effect:
+ example: "NoSchedule"
+ enum:
+ - "NoSchedule"
+ - "PreferNoSchedule"
+ - "NoExecute"
+ type: "string"
+ description: "The Kubernetes taint effect. For `NoSchedule`, `PreferNoSchedule` and `NoExecute` descriptions, see [Kubernetes Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)."
+ required:
+ - "key"
+ - "value"
+ - "effect"
+ additionalProperties: false
+ minItems: 1
+ tags:
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ required:
+ - "type"
+ - "count"
+ x-akamai:
+ file-path: "schemas/lke-node-pool-request-body.yaml"
+ type: "object"
+ description: "Specifies a collection of Linodes which will be members of a Kubernetes cluster."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-lke-cluster-pools.json"
+ description: "Configuration for the Node Pool."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/lke-node-pool.yaml"
+ properties:
+ taints:
+ example:
+ -
+ effect: "NoSchedule"
+ key: "example.com/my-app"
+ value: "teamA"
+ -
+ effect: "NoExecute"
+ key: "myapp.io/team"
+ value: "teamC"
+ type: "array"
+ description: "Kubernetes taints added to nodes in the node pool. Taints help control how pods are scheduled onto nodes, specifically allowing them to repel certain pods."
+ items:
+ additionalProperties: false
+ properties:
+ effect:
+ example: "NoSchedule"
+ enum:
+ - "NoSchedule"
+ - "PreferNoSchedule"
+ - "NoExecute"
+ type: "string"
+ description: "The Kubernetes taint effect. For `NoSchedule`, `PreferNoSchedule` and `NoExecute` descriptions, see [Kubernetes Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)."
+ key:
+ description: "The Kubernetes taint key."
+ type: "string"
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*)?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{1,63})?$"
+ minLength: 1
+ example: "example.com/my-app"
+ maxLength: 63
+ value:
+ minLength: 0
+ description: "The Kubernetes taint value."
+ type: "string"
+ example: "teamC"
+ maxLength: 63
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ count:
+ maximum: 100
+ type: "integer"
+ minimum: 1
+ description: "The number of nodes in the Node Pool."
+ example: 6
+ disks:
+ x-linode-cli-format: "json"
+ type: "array"
+ description: "This Node Pool's custom disk layout."
+ items:
+ type: "object"
+ description: "The values to assign to each partition in this Node Pool's custom disk layout."
+ properties:
+ size:
+ example: 1024
+ type: "integer"
+ description: "The size of this custom disk partition in MB.\n\n - The size of this disk partition must not exceed the capacity of the node's plan type."
+ type:
+ type: "string"
+ description: "This custom disk partition's filesystem type."
+ enum:
+ - "raw"
+ - "ext4"
+ example: "ext-4"
+ additionalProperties: false
+ autoscaler:
+ description: "When enabled, the number of nodes autoscales within the defined minimum and maximum values."
+ type: "object"
+ properties:
+ enabled:
+ example: true
+ description: "Whether autoscaling is enabled for this Node Pool. Defaults to `false`."
+ type: "boolean"
+ min:
+ example: 3
+ type: "integer"
+ description: "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`."
+ minimum: 1
+ maximum: 100
+ max:
+ minimum: 1
+ description: "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`."
+ type: "integer"
+ maximum: 100
+ example: 12
+ additionalProperties: false
+ labels:
+ example:
+ example.com/my-app: "teamUSA"
+ additionalProperties: false
+ type: "object"
+ description: "Key-value pairs added as labels to nodes in the node pool. Labels help classify your nodes and to easily select subsets of objects."
+ properties:
+ key:
+ example: "example.com/my-app"
+ maxLength: 128
+ pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*){0,62}?(\\/)?([A-Za-z0-9][-A-Za-z0-9_.]{0,62})?$"
+ minLength: 1
+ description: "The Kubernetes label key."
+ type: "string"
+ value:
+ minLength: 0
+ maxLength: 63
+ example: "teamUSA"
+ description: "The Kubernetes label value."
+ type: "string"
+ pattern: "^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?"
+ type:
+ type: "string"
+ description: "The Linode Type for all of the nodes in the Node Pool."
+ example: "g6-standard-4"
+ tags:
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ nodes:
+ type: "array"
+ description: "Status information for the Nodes which are members of this Node Pool. If a Linode has not been provisioned for a given Node slot, the instance_id will be returned as null."
+ items:
+ properties:
+ status:
+ type: "string"
+ description: "The Node's status as it pertains to being a Kubernetes node."
+ enum:
+ - "ready"
+ - "not_ready"
+ example: "ready"
+ instance_id:
+ example: 123458
+ type: "string"
+ description: "The Linode's ID. When no Linode is currently provisioned for this Node, this will be null."
+ id:
+ description: "The Node's ID."
+ type: "string"
+ example: "123456"
+ x-akamai:
+ file-path: "schemas/lke-node-status.yaml"
+ description: "__Read-only__ Status information for a Node which is a member of a Kubernetes cluster."
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ id:
+ example: 456
+ x-linode-filterable: true
+ description: "__Filterable__ This Node Pool's unique ID."
+ type: "integer"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "object"
+ description: "The set of Node Pools which are members of the Kubernetes cluster. Node Pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-lke-cluster-pools-200.json"
+ description: "Node Pool has been created."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ /{apiVersion}/networking/ipv4/share:
+ x-akamai:
+ file-path: "paths/ipv4-share.yaml"
+ path-info: "/{apiVersion}/networking/ipv4/share"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-linode-cli-command: "networking"
+ post:
+ tags:
+ - "Networking"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_write"
+ - "linodes:read_write"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "A request object IP Addresses Share (POST /networking/ips/share)."
+ type: "object"
+ properties:
+ ips:
+ example:
+ - "192.0.2.1"
+ - "2001:db8:3c4d:15::"
+ description: "A list of secondary Linode IPs to share with the primary Linode.\n\n- Can include both IPv4 addresses and IPv6 ranges (omit /56 and /64 prefix lengths)\n- Can include both private and public IPv4 addresses.\n- You must have access to all of these addresses and they must be in the same Region as the primary Linode.\n- Enter an empty array to remove all shared IP addresses."
+ type: "array"
+ items:
+ format: "ip"
+ type: "string"
+ linode_id:
+ type: "integer"
+ description: "The ID of the primary Linode that the addresses will be shared with."
+ example: 123
+ x-akamai:
+ file-path: "schemas/ip-addresses-share-request.yaml"
+ required:
+ - "linode_id"
+ - "ips"
+ x-example:
+ x-ref: "../examples/post-share-ipv4s.json"
+ description: "Information about what IPs to share with which Linode."
+ required: true
+ responses:
+ 200:
+ description: "Sharing configured successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-share-ipv4s-200.json"
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ x-original-op-id: "shareIPv4s"
+ x-original-op-title: "IPv4 Sharing Configure"
+ summary: "Configure IPv4 sharing"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli networking ip-share \\\n --linode_id 123 \\\n --ips 192.0.2.1 \\\n --ips 192.0.2.2"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "ips:read_write\nlinodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"linode_id\": 123,\n \"ips\": [\n \"192.0.2.1\",\n \"192.0.2.2\"\n ]\n }' \\\n https://api.linode.com/v4/networking/ipv4/share"
+ lang: "Shell"
+ -
+ source: "linode-cli networking ip-share \\\n --linode_id 123 \\\n --ips 192.0.2.1 \\\n --ips 192.0.2.2"
+ lang: "CLI"
+ x-linode-grant: "read_write"
+ description: "This operation is equivalent to [Share IP addresses](https://techdocs.akamai.com/linode-api/reference/post-share-ips).\n\nConfigure shared IPs.\n\nIP sharing allows IP address reassignment (also referred to as IP failover) from one Linode to another if the primary Linode becomes unresponsive. This means that requests to the primary Linode's IP address can be automatically rerouted to secondary Linodes at the configured shared IP addresses.\n\nIP failover requires configuration of a failover service (such as [Keepalived](https://www.linode.com/docs/guides/ip-failover-keepalived)) within the internal system of the primary Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking ip-share \\\n --linode_id 123 \\\n --ips 192.0.2.1 \\\n --ips 192.0.2.2\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-share-ipv4s"
+ operationId: "post-share-ipv4s"
+ /{apiVersion}/databases/postgresql/instances/{instanceId}/backups/{backupId}/restore:
+ x-linode-cli-command: "databases"
+ post:
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-databases-postgre-sql-instance-backup-restore"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-databases-postgre-sql-instance-backup-restore"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nRestore a backup to a Managed PostgreSQL Database on your Account.\n\nRequires `read_write` access to the Database.\n\nThe Database must have an `active`, `degraded`, or `failed` status to perform this operation.\n\n__Note__. Restoring from a backup will erase all existing data on the database instance and replace it with backup data.\n\n__Note__. Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-backup-restore 123 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "postgresql-backup-restore"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli databases postgresql-backup-restore 123 456"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST https://api.linode.com/v4/databases/postgresql/instances/123/backups/456/restore"
+ lang: "Shell"
+ -
+ source: "linode-cli databases postgresql-backup-restore 123 456"
+ lang: "CLI"
+ x-original-op-title: "Managed PostgreSQL Database Backup Restore"
+ summary: "Restore a managed PostgreSQL database backup"
+ x-original-op-id: "postDatabasesPostgreSQLInstanceBackupRestore"
+ responses:
+ 200:
+ description: "Request to restore backup successful."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/post-databases-postgre-sql-instance-backup-restore-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ x-akamai:
+ file-path: "paths/postgresql-restore.yaml"
+ path-info: "/{apiVersion}/databases/postgresql/instances/{instanceId}/backups/{backupId}/restore"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ description: "The ID of the Managed PostgreSQL Database."
+ name: "instanceId"
+ required: true
+ x-akamai:
+ file-path: "parameters/instance-id-path-9f3ead4a.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/backup-id-path-85b1bbbf.yaml"
+ name: "backupId"
+ description: "The ID of the Managed PostgreSQL Database backup."
+ /{apiVersion}/domains/{domainId}/records:
+ x-linode-cli-command: "domains"
+ post:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-domain-record"
+ operationId: "post-domain-record"
+ x-linode-grant: "read_write"
+ description: "Adds a new Domain Record to the zonefile this Domain represents.\n\nEach domain can have up to 12,000 active records.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains records-create 123 \\\n --type A \\\n --name test \\\n --target 203.0.113.1 \\\n --priority 50 \\\n --weight 50 \\\n --port 80 \\\n --ttl_sec 604800\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "records-create"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli domains records-create 123 \\\n --type A \\\n --name test \\\n --target 203.0.113.1 \\\n --priority 50 \\\n --weight 50 \\\n --port 80 \\\n --ttl_sec 604800"
+ -
+ syntax: "domains:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"type\": \"A\",\n \"name\": \"test\",\n \"target\": \"203.0.113.1\",\n \"priority\": 50,\n \"weight\": 50,\n \"port\": 80,\n \"service\": null,\n \"protocol\": null,\n \"ttl_sec\": 604800\n }' \\\n https://api.linode.com/v4/domains/123/records"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli domains records-create 123 \\\n --type A \\\n --name test \\\n --target 203.0.113.1 \\\n --priority 50 \\\n --weight 50 \\\n --port 80 \\\n --ttl_sec 604800"
+ x-original-op-title: "Domain Record Create"
+ summary: "Create a domain record"
+ x-original-op-id: "createDomainRecord"
+ responses:
+ 200:
+ description: "Domain Record created successfully."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Record's unique ID."
+ readOnly: true
+ example: 123456
+ created:
+ format: "date-time"
+ description: "__Read-only__ When this Domain Record was created."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ name:
+ minLength: 1
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The name of this Record. For requests, this property's actual usage and whether it is required depends on the type of record this represents:\n\n`A` and `AAAA`: The hostname or FQDN of the Record.\n\n`NS`: The subdomain, if any, to use with the Domain of the Record. Wildcard NS records (`*`) are not supported.\n\n`MX`: The mail subdomain. For example, `sub` for the address `user@sub.example.com` under the `example.com` Domain.\n\n- The left-most subdomain component may be an asterisk (`*`) to designate a wildcard subdomain.\n- Other subdomain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.\n- Must be an empty string (`\"\"`) for a Null MX Record.\n\n`CNAME`: The hostname. Must be unique. Required.\n\n`TXT`: The hostname.\n\n`SRV`: Unused. Use the `service` property to set the service name for this record.\n\n`CAA`: The subdomain. Omit or enter an empty string (`\"\"`) to apply to the entire Domain.\n\n`PTR`: See our guide on how to [Configure Your Linode for Reverse DNS\n(rDNS)](https://www.linode.com/docs/guides/configure-rdns/)."
+ maxLength: 100
+ example: "test"
+ x-linode-filterable: true
+ tag:
+ type: "string"
+ description: "__Filterable__ The tag portion of a CAA record. Only valid and required for CAA record requests."
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ enum:
+ - "issue"
+ - "issuewild"
+ - "iodef"
+ example: null
+ protocol:
+ nullable: true
+ type: "string"
+ description: "The protocol this Record's service communicates with. An underscore (`_`) is prepended automatically to the submitted value for this property. Only valid for SRV record requests."
+ example: null
+ target:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Filterable__ The target for this Record. For requests, this property's actual usage and whether it is required depends on the type of record this represents:\n\n`A` and `AAAA`: The IP address. Use `[remote_addr]` to submit the IPv4 address of the request. Required.\n\n`NS`: The name server. Must be a valid domain. Required.\n\n`MX`: The mail server. Must be a valid domain unless creating a Null MX Record. Required.\n\n- Must have less than 254 total characters.\n- The left-most domain component may be an asterisk (`*`) to designate a wildcard domain.\n- Other domain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.\n- To create a [Null MX Record](https://datatracker.ietf.org/doc/html/rfc7505), first [remove](https://techdocs.akamai.com/linode-api/reference/delete-domain-record) any additional MX records, then create an MX record with empty strings (`\"\"`) for the `target` and `name`. If a Domain has a Null MX record, new MX records cannot be created.\n\n`CNAME`: The alias. Must be a valid domain. Required.\n\n`TXT`: The value. Required.\n\n`SRV`: The target domain or subdomain. If a subdomain is entered, it is automatically used with the Domain.\nTo configure for a different domain, enter a valid FQDN. For example, the value `www` with a Domain for\n`example.com` results in a target set to `www.example.com`, whereas the value `sample.com` results in a\ntarget set to `sample.com`. Required.\n\n`CAA`: The value. For `issue` or `issuewild` tags, the domain of your certificate issuer. For the `iodef`\ntag, a contact or submission URL (domain, http, https, or mailto). Requirements depend on the tag for this record:\n\n - `issue`: The domain of your certificate issuer. Must include a valid domain. May include additional parameters separated with semicolons (`;`), for example: `www.example.com; foo=bar`\n - `issuewild`: The domain of your wildcard certificate issuer. Must be a valid domain and must not start with an asterisk (`*`).\n - `iodef`: Must be either (1) a valid domain, (2) a valid domain prepended with `http://` or `https://`, or (3) a valid email address prepended with `mailto:`.\n\n`PTR`: Required. See our guide on how to [Configure Your Linode for Reverse DNS\n(rDNS)](https://www.linode.com/docs/guides/configure-rdns/).\n\nWith the exception of A, AAAA, and CAA records, this field accepts a trailing period."
+ x-linode-filterable: true
+ maxLength: 65535
+ example: "192.0.2.0"
+ service:
+ nullable: true
+ type: "string"
+ description: "The name of the service. An underscore (`_`) is prepended and a period (`.`) is appended automatically to the submitted value for this property. Only valid and required for SRV record requests."
+ example: null
+ priority:
+ type: "integer"
+ description: "The priority of the target host for this Record. Lower values are preferred. Only valid for MX and SRV record requests. Required for SRV record requests.\n\nDefaults to `0` for MX record requests. Must be `0` for Null MX records."
+ minimum: 0
+ x-linode-cli-display: 6
+ example: 50
+ maximum: 255
+ ttl_sec:
+ example: 604800
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value."
+ type: "integer"
+ x-linode-cli-display: 5
+ port:
+ example: 80
+ maximum: 65535
+ description: "The port this Record points to. Only valid and required for SRV record requests."
+ type: "integer"
+ minimum: 0
+ weight:
+ example: 50
+ maximum: 65535
+ minimum: 0
+ description: "The relative weight of this Record used in the case of identical priority. Higher values are preferred. Only valid and required for SRV record requests."
+ type: "integer"
+ x-linode-cli-display: 7
+ type:
+ description: "__Filterable__ The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. For more information, see the guides on [DNS Record Types](https://www.linode.com/docs/products/networking/dns-manager/guides/#dns-record-types)."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "A"
+ enum:
+ - "A"
+ - "AAAA"
+ - "NS"
+ - "MX"
+ - "CNAME"
+ - "TXT"
+ - "SRV"
+ - "PTR"
+ - "CAA"
+ updated:
+ type: "string"
+ description: "__Read-only__ When this Domain Record was last updated."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/domain-record.yaml"
+ description: "A single record on a Domain."
+ type: "object"
+ x-example:
+ x-ref: "../examples/post-domain-record-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-domain-record.json"
+ schema:
+ required:
+ - "type"
+ x-akamai:
+ file-path: "schemas/added-post-domain-record.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ type: "object"
+ description: "A single record on a Domain."
+ x-akamai:
+ file-path: "schemas/domain-record.yaml"
+ properties:
+ type:
+ example: "A"
+ enum:
+ - "A"
+ - "AAAA"
+ - "NS"
+ - "MX"
+ - "CNAME"
+ - "TXT"
+ - "SRV"
+ - "PTR"
+ - "CAA"
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. For more information, see the guides on [DNS Record Types](https://www.linode.com/docs/products/networking/dns-manager/guides/#dns-record-types)."
+ type: "string"
+ weight:
+ x-linode-cli-display: 7
+ description: "The relative weight of this Record used in the case of identical priority. Higher values are preferred. Only valid and required for SRV record requests."
+ minimum: 0
+ type: "integer"
+ maximum: 65535
+ example: 50
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Domain Record was last updated."
+ type: "string"
+ service:
+ example: null
+ nullable: true
+ type: "string"
+ description: "The name of the service. An underscore (`_`) is prepended and a period (`.`) is appended automatically to the submitted value for this property. Only valid and required for SRV record requests."
+ priority:
+ example: 50
+ maximum: 255
+ x-linode-cli-display: 6
+ minimum: 0
+ description: "The priority of the target host for this Record. Lower values are preferred. Only valid for MX and SRV record requests. Required for SRV record requests.\n\nDefaults to `0` for MX record requests. Must be `0` for Null MX records."
+ type: "integer"
+ ttl_sec:
+ x-linode-cli-display: 5
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value."
+ example: 604800
+ port:
+ example: 80
+ maximum: 65535
+ description: "The port this Record points to. Only valid and required for SRV record requests."
+ minimum: 0
+ type: "integer"
+ protocol:
+ example: null
+ type: "string"
+ description: "The protocol this Record's service communicates with. An underscore (`_`) is prepended automatically to the submitted value for this property. Only valid for SRV record requests."
+ nullable: true
+ tag:
+ nullable: true
+ type: "string"
+ description: "__Filterable__ The tag portion of a CAA record. Only valid and required for CAA record requests."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: null
+ enum:
+ - "issue"
+ - "issuewild"
+ - "iodef"
+ x-linode-filterable: true
+ name:
+ x-linode-filterable: true
+ maxLength: 100
+ example: "test"
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__ The name of this Record. For requests, this property's actual usage and whether it is required depends on the type of record this represents:\n\n`A` and `AAAA`: The hostname or FQDN of the Record.\n\n`NS`: The subdomain, if any, to use with the Domain of the Record. Wildcard NS records (`*`) are not supported.\n\n`MX`: The mail subdomain. For example, `sub` for the address `user@sub.example.com` under the `example.com` Domain.\n\n- The left-most subdomain component may be an asterisk (`*`) to designate a wildcard subdomain.\n- Other subdomain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.\n- Must be an empty string (`\"\"`) for a Null MX Record.\n\n`CNAME`: The hostname. Must be unique. Required.\n\n`TXT`: The hostname.\n\n`SRV`: Unused. Use the `service` property to set the service name for this record.\n\n`CAA`: The subdomain. Omit or enter an empty string (`\"\"`) to apply to the entire Domain.\n\n`PTR`: See our guide on how to [Configure Your Linode for Reverse DNS\n(rDNS)](https://www.linode.com/docs/guides/configure-rdns/)."
+ type: "string"
+ target:
+ type: "string"
+ description: "__Filterable__ The target for this Record. For requests, this property's actual usage and whether it is required depends on the type of record this represents:\n\n`A` and `AAAA`: The IP address. Use `[remote_addr]` to submit the IPv4 address of the request. Required.\n\n`NS`: The name server. Must be a valid domain. Required.\n\n`MX`: The mail server. Must be a valid domain unless creating a Null MX Record. Required.\n\n- Must have less than 254 total characters.\n- The left-most domain component may be an asterisk (`*`) to designate a wildcard domain.\n- Other domain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.\n- To create a [Null MX Record](https://datatracker.ietf.org/doc/html/rfc7505), first [remove](https://techdocs.akamai.com/linode-api/reference/delete-domain-record) any additional MX records, then create an MX record with empty strings (`\"\"`) for the `target` and `name`. If a Domain has a Null MX record, new MX records cannot be created.\n\n`CNAME`: The alias. Must be a valid domain. Required.\n\n`TXT`: The value. Required.\n\n`SRV`: The target domain or subdomain. If a subdomain is entered, it is automatically used with the Domain.\nTo configure for a different domain, enter a valid FQDN. For example, the value `www` with a Domain for\n`example.com` results in a target set to `www.example.com`, whereas the value `sample.com` results in a\ntarget set to `sample.com`. Required.\n\n`CAA`: The value. For `issue` or `issuewild` tags, the domain of your certificate issuer. For the `iodef`\ntag, a contact or submission URL (domain, http, https, or mailto). Requirements depend on the tag for this record:\n\n - `issue`: The domain of your certificate issuer. Must include a valid domain. May include additional parameters separated with semicolons (`;`), for example: `www.example.com; foo=bar`\n - `issuewild`: The domain of your wildcard certificate issuer. Must be a valid domain and must not start with an asterisk (`*`).\n - `iodef`: Must be either (1) a valid domain, (2) a valid domain prepended with `http://` or `https://`, or (3) a valid email address prepended with `mailto:`.\n\n`PTR`: Required. See our guide on how to [Configure Your Linode for Reverse DNS\n(rDNS)](https://www.linode.com/docs/guides/configure-rdns/).\n\nWith the exception of A, AAAA, and CAA records, this field accepts a trailing period."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ x-linode-filterable: true
+ maxLength: 65535
+ example: "192.0.2.0"
+ id:
+ example: 123456
+ readOnly: true
+ description: "__Read-only__ This Record's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Domain Record was created."
+ type: "string"
+ description: "Information about the new Record to add."
+ tags:
+ - "Domains"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_write"
+ get:
+ x-linode-cli-action: "records-list"
+ description: "Returns a paginated list of Records configured on a Domain in Linode's DNS Manager.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains records-list 1234\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/domains/1234/records"
+ -
+ lang: "CLI"
+ source: "linode-cli domains records-list 1234"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli domains records-list 1234"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "domains:read_only"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "get-domain-records"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-domain-records"
+ parameters:
+ -
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ schema:
+ maximum: 500
+ minimum: 25
+ type: "integer"
+ default: 100
+ x-original-op-id: "getDomainRecords"
+ summary: "List domain records"
+ x-original-op-title: "Domain Records List"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-domain-records-200.yaml"
+ properties:
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ type: "array"
+ items:
+ type: "object"
+ description: "A single record on a Domain."
+ x-akamai:
+ file-path: "schemas/domain-record.yaml"
+ properties:
+ tag:
+ nullable: true
+ type: "string"
+ description: "__Filterable__ The tag portion of a CAA record. Only valid and required for CAA record requests."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: null
+ enum:
+ - "issue"
+ - "issuewild"
+ - "iodef"
+ x-linode-filterable: true
+ name:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The name of this Record. For requests, this property's actual usage and whether it is required depends on the type of record this represents:\n\n`A` and `AAAA`: The hostname or FQDN of the Record.\n\n`NS`: The subdomain, if any, to use with the Domain of the Record. Wildcard NS records (`*`) are not supported.\n\n`MX`: The mail subdomain. For example, `sub` for the address `user@sub.example.com` under the `example.com` Domain.\n\n- The left-most subdomain component may be an asterisk (`*`) to designate a wildcard subdomain.\n- Other subdomain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.\n- Must be an empty string (`\"\"`) for a Null MX Record.\n\n`CNAME`: The hostname. Must be unique. Required.\n\n`TXT`: The hostname.\n\n`SRV`: Unused. Use the `service` property to set the service name for this record.\n\n`CAA`: The subdomain. Omit or enter an empty string (`\"\"`) to apply to the entire Domain.\n\n`PTR`: See our guide on how to [Configure Your Linode for Reverse DNS\n(rDNS)](https://www.linode.com/docs/guides/configure-rdns/)."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ x-linode-filterable: true
+ maxLength: 100
+ example: "test"
+ protocol:
+ nullable: true
+ type: "string"
+ description: "The protocol this Record's service communicates with. An underscore (`_`) is prepended automatically to the submitted value for this property. Only valid for SRV record requests."
+ example: null
+ target:
+ description: "__Filterable__ The target for this Record. For requests, this property's actual usage and whether it is required depends on the type of record this represents:\n\n`A` and `AAAA`: The IP address. Use `[remote_addr]` to submit the IPv4 address of the request. Required.\n\n`NS`: The name server. Must be a valid domain. Required.\n\n`MX`: The mail server. Must be a valid domain unless creating a Null MX Record. Required.\n\n- Must have less than 254 total characters.\n- The left-most domain component may be an asterisk (`*`) to designate a wildcard domain.\n- Other domain components must only contain letters, digits, and hyphens, start with a letter, end with a letter or digit, and contain less than 64 characters.\n- To create a [Null MX Record](https://datatracker.ietf.org/doc/html/rfc7505), first [remove](https://techdocs.akamai.com/linode-api/reference/delete-domain-record) any additional MX records, then create an MX record with empty strings (`\"\"`) for the `target` and `name`. If a Domain has a Null MX record, new MX records cannot be created.\n\n`CNAME`: The alias. Must be a valid domain. Required.\n\n`TXT`: The value. Required.\n\n`SRV`: The target domain or subdomain. If a subdomain is entered, it is automatically used with the Domain.\nTo configure for a different domain, enter a valid FQDN. For example, the value `www` with a Domain for\n`example.com` results in a target set to `www.example.com`, whereas the value `sample.com` results in a\ntarget set to `sample.com`. Required.\n\n`CAA`: The value. For `issue` or `issuewild` tags, the domain of your certificate issuer. For the `iodef`\ntag, a contact or submission URL (domain, http, https, or mailto). Requirements depend on the tag for this record:\n\n - `issue`: The domain of your certificate issuer. Must include a valid domain. May include additional parameters separated with semicolons (`;`), for example: `www.example.com; foo=bar`\n - `issuewild`: The domain of your wildcard certificate issuer. Must be a valid domain and must not start with an asterisk (`*`).\n - `iodef`: Must be either (1) a valid domain, (2) a valid domain prepended with `http://` or `https://`, or (3) a valid email address prepended with `mailto:`.\n\n`PTR`: Required. See our guide on how to [Configure Your Linode for Reverse DNS\n(rDNS)](https://www.linode.com/docs/guides/configure-rdns/).\n\nWith the exception of A, AAAA, and CAA records, this field accepts a trailing period."
+ type: "string"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "192.0.2.0"
+ maxLength: 65535
+ x-linode-filterable: true
+ id:
+ example: 123456
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This Record's unique ID."
+ x-linode-cli-display: 1
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Domain Record was created."
+ weight:
+ example: 50
+ x-linode-cli-display: 7
+ description: "The relative weight of this Record used in the case of identical priority. Higher values are preferred. Only valid and required for SRV record requests."
+ type: "integer"
+ minimum: 0
+ maximum: 65535
+ type:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. For more information, see the guides on [DNS Record Types](https://www.linode.com/docs/products/networking/dns-manager/guides/#dns-record-types)."
+ x-linode-filterable: true
+ enum:
+ - "A"
+ - "AAAA"
+ - "NS"
+ - "MX"
+ - "CNAME"
+ - "TXT"
+ - "SRV"
+ - "PTR"
+ - "CAA"
+ example: "A"
+ updated:
+ type: "string"
+ description: "__Read-only__ When this Domain Record was last updated."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ ttl_sec:
+ x-linode-cli-display: 5
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value."
+ example: 604800
+ service:
+ description: "The name of the service. An underscore (`_`) is prepended and a period (`.`) is appended automatically to the submitted value for this property. Only valid and required for SRV record requests."
+ type: "string"
+ nullable: true
+ example: null
+ priority:
+ x-linode-cli-display: 6
+ maximum: 255
+ minimum: 0
+ description: "The priority of the target host for this Record. Lower values are preferred. Only valid for MX and SRV record requests. Required for SRV record requests.\n\nDefaults to `0` for MX record requests. Must be `0` for Null MX records."
+ type: "integer"
+ example: 50
+ port:
+ example: 80
+ maximum: 65535
+ minimum: 0
+ description: "The port this Record points to. Only valid and required for SRV record requests."
+ type: "integer"
+ additionalProperties: false
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-domain-records-200.json"
+ description: "A list of Domain Records."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_only"
+ tags:
+ - "Domains"
+ x-akamai:
+ path-info: "/{apiVersion}/domains/{domainId}/records"
+ file-path: "paths/records.yaml"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ required: true
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "parameters/domain-id-path-eb9ccd41.yaml"
+ in: "path"
+ description: "The ID of the Domain we are accessing Records for."
+ name: "domainId"
+ /{apiVersion}/networking/ipv4/assign:
+ x-akamai:
+ file-path: "paths/ipv4-assign.yaml"
+ path-info: "/{apiVersion}/networking/ipv4/assign"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ x-linode-cli-command: "networking"
+ post:
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"region\": \"us-east\",\n \"assignments\": [\n {\n \"address\": \"192.0.2.1\",\n \"linode_id\": 123\n },\n {\n \"address\": \"2001:db8:3c4d:15::/64\",\n \"linode_id\": 234\n }\n ]\n }' \\\n https://api.linode.com/v4/networking/ipv4/assign"
+ -
+ source: "linode-cli networking ip-assign \\\n --region us-east \\\n --assignments.address 192.0.2.1 \\\n --assignments.linode_id 123 \\\n --assignments.address 2001:db8:3c4d:15::/64 \\\n --assignments.linode_id 234"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli networking ip-assign \\\n --region us-east \\\n --assignments.address 192.0.2.1 \\\n --assignments.linode_id 123 \\\n --assignments.address 2001:db8:3c4d:15::/64 \\\n --assignments.linode_id 234"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "ips:read_write\nlinodes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ description: "This operation is equivalent to [Assign IP addresses](https://techdocs.akamai.com/linode-api/reference/post-assign-ips).\n\nAssign multiple IPv4 addresses and/or IPv6 ranges to multiple Linodes in one Region. This allows swapping, shuffling, or otherwise reorganizing IPs to your Linodes.\n\nThe following restrictions apply:\n\n- All Linodes involved must have at least one public IPv4 address after assignment.\n- Linodes may have no more than one assigned private IPv4 address.\n- Linodes may have no more than one assigned IPv6 range.\n\n[Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to request additional IPv4 addresses or IPv6 ranges beyond standard account limits.\n\n__Note__. Removing an IP address that has been set as a Managed Linode's `ssh.ip` causes the Managed Linode's SSH access settings to reset to their default values.\n\nTo view and configure Managed Linode SSH settings, use the following operations:\n- [Get a Linode's managed settings](https://techdocs.akamai.com/linode-api/reference/get-managed-linode-setting)\n- [Update a Linode's managed settings](https://techdocs.akamai.com/linode-api/reference/put-managed-linode-setting)\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli networking ip-assign \\\n --region us-east \\\n --assignments.address 192.0.2.1 \\\n --assignments.linode_id 123 \\\n --assignments.address 2001:db8:3c4d:15::/64 \\\n --assignments.linode_id 234\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ operationId: "post-assign-ipv4s"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "assignIPv4s"
+ summary: "Assign IPv4s to Linodes"
+ x-original-op-title: "Linodes Assign IPv4s"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-assign-ipv4s.json"
+ schema:
+ required:
+ - "region"
+ - "assignments"
+ additionalProperties: false
+ description: "Request object for IP Addresses Assign (POST /networking/ips/assign)."
+ type: "object"
+ properties:
+ assignments:
+ description: "The list of assignments to make. You must have read_write access to all IPs being assigned and all Linodes being assigned to in order for the assignments to succeed."
+ type: "array"
+ items:
+ additionalProperties: false
+ required:
+ - "address"
+ - "linode_id"
+ properties:
+ address:
+ description: "The IPv4 address or IPv6 range for this assignment.\n\n- Must be an IPv4 address or an IPv6 range you can access in the Region specified.\n- IPv6 ranges must include a prefix length of `/56` or `/64`, for example: `2001:db8:3c4d:15::/64`.\n- Assignment of an IPv6 range to a Linode updates the route target of the range to the assigned Linode's SLAAC address.\n- May be a public or private address."
+ type: "string"
+ format: "ipv4|ipv6/prefix_length"
+ example: "192.0.2.1"
+ linode_id:
+ example: 123
+ description: "The ID of the Linode to assign this address to. The IP's previous Linode will lose this address, and must end up with at least one public address and no more than one private address once all assignments have been made."
+ type: "integer"
+ type: "object"
+ region:
+ example: "us-east"
+ description: "The ID of the Region in which these assignments are to take place. All IPs and Linodes must exist in this Region."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/ip-addresses-assign-request.yaml"
+ description: "Information about what IPv4 address to assign, and to which Linode."
+ responses:
+ 200:
+ description: "All assignments completed successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-assign-ipv4s-200.json"
+ schema:
+ description: "The API responds with an empty object."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_write"
+ - "linodes:read_write"
+ tags:
+ - "Networking"
+ /{apiVersion}/account/payments/{paymentId}:
+ x-linode-cli-command: "account"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ -
+ name: "paymentId"
+ description: "The ID of the Payment to look up."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/payment-id-path.yaml"
+ schema:
+ type: "integer"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Account"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "Payment object response."
+ x-akamai:
+ file-path: "schemas/payment.yaml"
+ properties:
+ date:
+ description: "__Read-only__ When the Payment was made."
+ type: "string"
+ x-linode-cli-display: 2
+ format: "date-time"
+ example: "2018-01-15T00:01:01"
+ readOnly: true
+ id:
+ example: 123
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The unique ID of the Payment."
+ x-linode-cli-display: 1
+ usd:
+ type: "integer"
+ description: "__Read-only__ The amount, in US dollars, of the Payment."
+ x-linode-cli-display: 3
+ example: "120.50"
+ readOnly: true
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-payment-200.json"
+ description: "A Payment object."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "getPayment"
+ summary: "Get a payment"
+ x-original-op-title: "Payment View"
+ x-linode-cli-action: "payment-view"
+ x-linode-grant: "read_only"
+ description: "Returns information about a specific Payment.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account payment-view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/payments/123"
+ -
+ lang: "CLI"
+ source: "linode-cli account payment-view 123"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account payment-view 123"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ operationId: "get-payment"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-payment"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-akamai:
+ file-path: "paths/payment.yaml"
+ path-info: "/{apiVersion}/account/payments/{paymentId}"
+ /{apiVersion}/placement/groups/{groupId}/unassign:
+ x-akamai:
+ file-path: "paths/unassign.yaml"
+ path-info: "/{apiVersion}/placement/groups/{groupId}/unassign"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ schema:
+ type: "integer"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/group-id-path-0d373f63.yaml"
+ name: "groupId"
+ description: "ID of the placement group to look up. Run the [List placement groups](https://techdocs.akamai.com/linode-api/reference/get-placement-groups) operation and store the `id` for the applicable placement group."
+ x-linode-cli-command: "placement"
+ post:
+ responses:
+ 200:
+ description: "The compute instance was removed successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-group-unassign-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ placement_group_policy:
+ example: "strict"
+ enum:
+ - "strict"
+ - "flexible"
+ type: "string"
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ is_compliant:
+ description: "Whether all of the compute instances in your placement group are compliant. If `true`, all compute instances meet either the grouped-together or spread-apart model, which you determine through your selected `placement_group_type`. If `false`, a compute instance is out of this compliance. For example, assume you've set `anti-affinity:local` as your `placement_group_type` and your group already has three qualifying compute instances on separate hosts, to support the spread-apart model. If a fourth compute instance is assigned that's on the same host as one of the existing three, the placement group is non-compliant. Enforce compliance in your group by setting a `placement_group_policy`.\n\n> 📘\n>\n> Fixing compliance is not self-service. You need to wait for our assistance to physically move compute instances to make the group compliant again."
+ type: "boolean"
+ nullable: false
+ example: true
+ label:
+ minLength: 1
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ type: "string"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ region:
+ x-linode-filterable: true
+ example: "us-mia"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the placement group was deployed."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ id:
+ example: 528
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ type: "integer"
+ nullable: false
+ x-linode-cli-display: 1
+ members:
+ type: "array"
+ description: "An array of compute instances included in the placement group."
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ linode_id:
+ description: "__Read-only__ The unique identifier for a compute instance included in the placement group."
+ type: "integer"
+ readOnly: true
+ example: 123
+ is_compliant:
+ example: true
+ description: "The compliance status of each individual compute instance in the placement group."
+ type: "boolean"
+ placement_group_type:
+ example: "anti-affinity:local"
+ enum:
+ - "anti_affinity:local"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-akamai:
+ file-path: "schemas/placement-group.yaml"
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: "The `linodeId` values for individual compute instances included in the placement group."
+ type: "array"
+ items:
+ type: "integer"
+ example: 528
+ x-example:
+ x-ref: "../examples/post-group-unassign.json"
+ description: "The compute instances you want to remove from your placement group."
+ required: true
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Placement groups"
+ operationId: "post-group-unassign"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-group-unassign"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"linode\": [123, 456]\n }' \\\n https://api.linode.com/v4/placement/groups/528/unassign"
+ -
+ source: "linode-cli placement unassignLinode 528 \\\n --linode 123 456"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli placement unassignLinode 528 \\\n --linode 123 456"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ x-linode-cli-action: "unassign-linode"
+ x-linode-grant: "read-write"
+ description: "Remove one or more compute instances from your placement group.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli placement unassignLinode 528 \\\n --linode 123 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ summary: "Unassign a placement group"
+ x-original-op-title: "Placement Group Unassign"
+ x-original-op-id: "post-group-unassign"
+ /{apiVersion}/databases/postgresql/instances/{instanceId}/ssl:
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/instance-id-path-9f3ead4a.yaml"
+ name: "instanceId"
+ description: "The ID of the Managed PostgreSQL Database."
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-postgresql-instance-ssl"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ operationId: "get-databases-postgresql-instance-ssl"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay the SSL CA certificate for an accessible Managed PostgreSQL Database.\n\nThe Database must have an `active` status to perform this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-ssl-cert 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "postgresql-ssl-cert"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases postgresql-ssl-cert 123"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "databases:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/postgresql/instances/123/ssl"
+ lang: "Shell"
+ -
+ source: "linode-cli databases postgresql-ssl-cert 123"
+ lang: "CLI"
+ x-original-op-title: "Managed PostgreSQL Database SSL Certificate View"
+ summary: "Get a managed PostgreSQL database SSL certificate"
+ x-original-op-id: "getDatabasesPostgreSQLInstanceSSL"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-databases-postgresql-instance-ssl-200.json"
+ schema:
+ additionalProperties: false
+ description: "Managed Database SSL object."
+ type: "object"
+ properties:
+ ca_certificate:
+ example: "LS0tLS1CRUdJ...=="
+ description: "The base64-encoded SSL CA certificate for the Managed Database instance."
+ type: "string"
+ format: "base64"
+ x-linode-cli-display: 1
+ x-akamai:
+ file-path: "schemas/database-ssl.yaml"
+ description: "Returns the SSL CA certificate of a single Managed PostgreSQL Database."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_only"
+ x-akamai:
+ path-info: "/{apiVersion}/databases/postgresql/instances/{instanceId}/ssl"
+ file-path: "paths/postgresql-ssl.yaml"
+ x-linode-cli-command: "databases"
+ /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/ssl:
+ x-linode-cli-command: "object-storage"
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ ssl:
+ type: "boolean"
+ description: "__Read-only__ A boolean indicating if this Bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user."
+ example: true
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/object-storage-ssl-response.yaml"
+ description: "If this Object Storage bucket has a corresponding TLS/SSL Certificate."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-object-storage-ssl-200.json"
+ description: "The response indicates whether this bucket has a corresponding TLS/SSL certificate that was uploaded by a user."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "array"
+ type: "object"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-object-storage-ssl.json"
+ schema:
+ required:
+ - "certificate"
+ - "private_key"
+ type: "object"
+ description: "Upload a TLS/SSL certificate and private key to be served when you visit your Object Storage bucket via HTTPS."
+ x-akamai:
+ file-path: "schemas/object-storage-ssl.yaml"
+ properties:
+ private_key:
+ type: "string"
+ description: "The private key associated with this TLS/SSL certificate.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI)"
+ example: "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----"
+ certificate:
+ type: "string"
+ description: "Your Base64 encoded and PEM formatted SSL certificate.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI)"
+ example: "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----"
+ additionalProperties: false
+ description: "Upload this TLS/SSL certificate with its corresponding secret key."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ tags:
+ - "Object Storage"
+ operationId: "post-object-storage-ssl"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-object-storage-ssl"
+ x-linode-cli-action: "ssl-upload"
+ description: "Upload a TLS/SSL certificate and private key to be served when you visit your Object Storage bucket via HTTPS. Your TLS/SSL certificate and private key are stored encrypted at rest.\n\nTo replace an expired certificate, [delete your current certificates](https://techdocs.akamai.com/linode-api/reference/delete-object-storage-ssl) and upload a new one.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage ssl-upload \\\n us-east-1 example-bucket \\\n --certificate \"-----BEGIN CERTIFICATE-----\n CERTIFICATE_INFORMATION\n -----END CERTIFICATE-----\" \\\n --private_key \"-----BEGIN PRIVATE KEY-----\n PRIVATE_KEY_INFORMATION\n -----END PRIVATE KEY-----\"\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"certificate\": \"-----BEGIN CERTIFICATE-----\\nCERTIFICATE_INFORMATION\\n-----END CERTIFICATE-----\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nPRIVATE_KEY_INFORMATION\\n-----END PRIVATE KEY-----\"\n }' \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli object-storage ssl-upload \\\n us-east-1 example-bucket \\\n --certificate \"-----BEGIN CERTIFICATE-----\n CERTIFICATE_INFORMATION\n -----END CERTIFICATE-----\" \\\n --private_key \"-----BEGIN PRIVATE KEY-----\n PRIVATE_KEY_INFORMATION\n -----END PRIVATE KEY-----\""
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli object-storage ssl-upload \\\n us-east-1 example-bucket \\\n --certificate \"-----BEGIN CERTIFICATE-----\n CERTIFICATE_INFORMATION\n -----END CERTIFICATE-----\" \\\n --private_key \"-----BEGIN PRIVATE KEY-----\n PRIVATE_KEY_INFORMATION\n -----END PRIVATE KEY-----\""
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "object_storage:read_write"
+ summary: "Upload an Object Storage TLS/SSL certificate"
+ x-original-op-title: "Object Storage TLS/SSL Cert Upload"
+ x-original-op-id: "createObjectStorageSSL"
+ get:
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli object-storage ssl-view \\\n us-east-1 example-bucket"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "object_storage:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl"
+ lang: "Shell"
+ -
+ source: "linode-cli object-storage ssl-view \\\n us-east-1 example-bucket"
+ lang: "CLI"
+ description: "Returns a boolean value indicating if this bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage ssl-view \\\n us-east-1 example-bucket\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "ssl-view"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-object-storage-ssl"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-object-storage-ssl"
+ x-original-op-id: "getObjectStorageSSL"
+ x-original-op-title: "Object Storage TLS/SSL Cert View"
+ summary: "Get an Object Storage TLS/SSL certificate"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-object-storage-ssl-200.json"
+ schema:
+ additionalProperties: false
+ description: "If this Object Storage bucket has a corresponding TLS/SSL Certificate."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/object-storage-ssl-response.yaml"
+ properties:
+ ssl:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ A boolean indicating if this Bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user."
+ description: "Returns a boolean value indicating if this bucket has a corresponding TLS/SSL certificate that was uploaded by an Account user."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_only"
+ delete:
+ operationId: "delete-object-storage-ssl"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-object-storage-ssl"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-linode-cli-action: "ssl-delete"
+ description: "Deletes this Object Storage bucket's user uploaded TLS/SSL certificate and private key.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage ssl-delete \\\n us-east-1 example-bucket\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/ssl"
+ lang: "Shell"
+ -
+ source: "linode-cli object-storage ssl-delete \\\n us-east-1 example-bucket"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli object-storage ssl-delete \\\n us-east-1 example-bucket"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "object_storage:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ summary: "Delete an Object Storage TLS/SSL certificate"
+ x-original-op-title: "Object Storage TLS/SSL Cert Delete"
+ x-original-op-id: "deleteObjectStorageSSL"
+ responses:
+ 200:
+ description: "Deletes this Object Storage bucket's user uploaded TLS/SSL certificate and private key."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-object-storage-ssl-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ tags:
+ - "Object Storage"
+ x-akamai:
+ file-path: "paths/bucket-ssl.yaml"
+ path-info: "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/ssl"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "string"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/region-id-obj.yaml"
+ name: "regionId"
+ description: "Identifies a region where this bucket lives.\n\n> 📘\n>\n> You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`."
+ -
+ description: "The bucket name."
+ name: "bucket"
+ required: true
+ x-akamai:
+ file-path: "parameters/bucket.yaml"
+ in: "path"
+ schema:
+ type: "string"
+ /{apiVersion}/regions/availability:
+ x-linode-cli-command: "regions"
+ x-akamai:
+ path-info: "/{apiVersion}/regions/availability"
+ file-path: "paths/regions-availability.yaml"
+ get:
+ responses:
+ 200:
+ description: "Returns a Region Availability object."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-regions-availability-200.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ properties:
+ results:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ -
+ properties:
+ data:
+ items:
+ properties:
+ plan:
+ example: "gpu-rtx6000-1.1"
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The compute instance [Type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) ID."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ available:
+ description: "__Filterable__ Whether the compute instance type is available in the region."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ x-linode-filterable: true
+ example: true
+ region:
+ x-linode-filterable: true
+ example: "us-east"
+ description: "__Filterable__ The [Region](https://techdocs.akamai.com/linode-api/reference/get-regions) ID."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ x-akamai:
+ file-path: "schemas/region-availability.yaml"
+ type: "object"
+ description: "Compute instance availability information by [Type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) and [Region](https://techdocs.akamai.com/linode-api/reference/get-regions)."
+ additionalProperties: false
+ type: "array"
+ example:
+ page: 1
+ data:
+ -
+ plan: "gpu-rtx6000-1.1"
+ available: true
+ region: "us-east"
+ pages: 1
+ results: 1
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Regions"
+ operationId: "get-regions-availability"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-regions-availability"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/regions/availability"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli regions list-avail"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli regions list-avail"
+ title: "CLI"
+ x-linode-cli-action: "list-avail"
+ description: "Returns availability data for all Regions.\n\nCurrently, this operation returns availability of select premium and GPU plans for select regions.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli regions list-avail\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ summary: "List regions' availability"
+ x-original-op-title: "Regions Availability List"
+ x-original-op-id: "getRegionsAvailability"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ /{apiVersion}/linode/stackscripts:
+ post:
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"label\": \"a-stackscript\",\n \"description\": \"This StackScript installs and configures MySQL\",\n \"images\": [\n \"linode/debian9\",\n \"linode/debian8\"\n ],\n \"is_public\": true,\n \"rev_note\": \"Set up MySQL\",\n \"script\": \"#!/bin/bash\"\n }' \\\n https://api.linode.com/v4/linode/stackscripts"
+ -
+ source: "linode-cli stackscripts create \\\n --label a-stackscript \\\n --description \"This StackScript install and configures MySQL\" \\\n --images \"linode/debian9\" \\\n --images \"linode/debian8\" \\\n --is_public true \\\n --rev_note \"Set up MySQL\" \\\n --script '#!/bin/bash'"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli stackscripts create \\\n --label a-stackscript \\\n --description \"This StackScript install and configures MySQL\" \\\n --images \"linode/debian9\" \\\n --images \"linode/debian8\" \\\n --is_public true \\\n --rev_note \"Set up MySQL\" \\\n --script '#!/bin/bash'"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "stackscripts:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action: "create"
+ description: "Creates a StackScript in your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli stackscripts create \\\n --label a-stackscript \\\n --description \"This StackScript install and configures MySQL\" \\\n --images \"linode/debian9\" \\\n --images \"linode/debian8\" \\\n --is_public true \\\n --rev_note \"Set up MySQL\" \\\n --script '#!/bin/bash'\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n stackscripts:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_stackscripts"
+ operationId: "post-add-stack-script"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-add-stack-script"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "addStackScript"
+ summary: "Create a StackScript"
+ x-original-op-title: "StackScript Create"
+ requestBody:
+ required: true
+ description: "The properties to set for the new StackScript."
+ content:
+ application/json:
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/stack-script.yaml"
+ properties:
+ updated:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The date this StackScript was last updated."
+ x-linode-cli-display: 7
+ format: "date-time"
+ description:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ A description for the StackScript."
+ example: "This StackScript installs and configures MySQL"
+ x-linode-filterable: true
+ label:
+ maxLength: 128
+ example: "a-stackscript"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The StackScript's label is for display purposes only."
+ type: "string"
+ minLength: 3
+ deployments_total:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The total number of times this StackScript has been deployed."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 12
+ x-linode-filterable: true
+ readOnly: true
+ deployments_active:
+ type: "integer"
+ description: "__Read-only__ Count of currently active, deployed Linodes created from this StackScript."
+ example: 1
+ readOnly: true
+ user_gravatar_id:
+ readOnly: true
+ example: "a445b305abda30ebc766bc7fda037c37"
+ description: "__Read-only__ The Gravatar ID for the User who created the StackScript."
+ type: "string"
+ script:
+ example: "\\\"#!/bin/bash\\\""
+ description: "The script to execute when provisioning a new Linode with this StackScript."
+ type: "string"
+ x-linode-cli-format: "file"
+ images:
+ description: "An array of Image IDs. These are the Images that can be deployed with this StackScript.\n\n`any/all` indicates that all available Images, including private Images, are accepted."
+ type: "array"
+ items:
+ type: "string"
+ x-linode-cli-display: 4
+ example:
+ - "linode/debian9"
+ - "linode/debian8"
+ rev_note:
+ x-linode-filterable: true
+ example: "Set up MySQL"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ This field allows you to add notes for the set of revisions made to this StackScript."
+ user_defined_fields:
+ items:
+ additionalProperties: false
+ description: "A custom field defined by the User with a special syntax within a StackScript. Derived from the contents of the script."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/user-defined-field.yaml"
+ properties:
+ oneOf:
+ readOnly: true
+ example: "avalue,anothervalue,thirdvalue"
+ type: "string"
+ description: "__Read-only__ A list of acceptable single values for the field."
+ example:
+ type: "string"
+ description: "__Read-only__ An example value for the field."
+ readOnly: true
+ example: "hunter2"
+ default:
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The default value. If not specified, this value will be used."
+ label:
+ type: "string"
+ description: "__Read-only__ A human-readable label for the field that will serve as the input prompt for entering the value during deployment."
+ readOnly: true
+ example: "Enter the password"
+ manyOf:
+ description: "__Read-only__ A list of acceptable values for the field in any quantity, combination or order."
+ type: "string"
+ example: "avalue,anothervalue,thirdvalue"
+ readOnly: true
+ name:
+ type: "string"
+ description: "__Read-only__ The name of the field."
+ example: "DB_PASSWORD"
+ readOnly: true
+ required:
+ - "label"
+ - "name"
+ - "example"
+ type: "array"
+ description: "__Read-only__ This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment. See [Declare User-Defined Fields (UDFs)](https://www.linode.com/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more information."
+ readOnly: true
+ example:
+ label: "Enter the DB password"
+ name: "DB_PASSWORD"
+ example: "hunter2"
+ username:
+ description: "__Read-only__ The User who created the StackScript."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "myuser"
+ readOnly: true
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-cli-display: 6
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date this StackScript was created."
+ is_public:
+ example: true
+ x-linode-filterable: true
+ type: "boolean"
+ description: "__Filterable__ This determines whether other users can use your StackScript. __Once a StackScript is made public, it cannot be made private.__"
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ readOnly: true
+ example: 10079
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of this StackScript."
+ type: "integer"
+ mine:
+ readOnly: true
+ x-linode-filterable: true
+ example: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ Returns `true` if this StackScript is owned by the account of the user making the request, and the user making the request is unrestricted or has access to this StackScript."
+ type: "boolean"
+ description: "A StackScript enables you to quickly deploy a fully-configured application in an automated manner."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-add-stack-script.yaml"
+ required:
+ - "script"
+ - "label"
+ - "images"
+ x-example:
+ x-ref: "../examples/post-add-stack-script.json"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-add-stack-script-200.json"
+ schema:
+ additionalProperties: false
+ description: "A StackScript enables you to quickly deploy a fully-configured application in an automated manner."
+ type: "object"
+ properties:
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The unique ID of this StackScript."
+ readOnly: true
+ example: 10079
+ mine:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Returns `true` if this StackScript is owned by the account of the user making the request, and the user making the request is unrestricted or has access to this StackScript."
+ readOnly: true
+ example: true
+ x-linode-filterable: true
+ is_public:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ type: "boolean"
+ description: "__Filterable__ This determines whether other users can use your StackScript. __Once a StackScript is made public, it cannot be made private.__"
+ x-linode-filterable: true
+ example: true
+ created:
+ description: "__Read-only__ The date this StackScript was created."
+ type: "string"
+ x-linode-cli-display: 6
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ username:
+ description: "__Read-only__ The User who created the StackScript."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "myuser"
+ readOnly: true
+ rev_note:
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ This field allows you to add notes for the set of revisions made to this StackScript."
+ x-linode-filterable: true
+ example: "Set up MySQL"
+ user_defined_fields:
+ type: "array"
+ description: "__Read-only__ This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment. See [Declare User-Defined Fields (UDFs)](https://www.linode.com/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more information."
+ items:
+ properties:
+ example:
+ readOnly: true
+ example: "hunter2"
+ type: "string"
+ description: "__Read-only__ An example value for the field."
+ oneOf:
+ type: "string"
+ description: "__Read-only__ A list of acceptable single values for the field."
+ example: "avalue,anothervalue,thirdvalue"
+ readOnly: true
+ default:
+ type: "string"
+ description: "__Read-only__ The default value. If not specified, this value will be used."
+ readOnly: true
+ label:
+ type: "string"
+ description: "__Read-only__ A human-readable label for the field that will serve as the input prompt for entering the value during deployment."
+ readOnly: true
+ example: "Enter the password"
+ name:
+ readOnly: true
+ example: "DB_PASSWORD"
+ description: "__Read-only__ The name of the field."
+ type: "string"
+ manyOf:
+ readOnly: true
+ example: "avalue,anothervalue,thirdvalue"
+ description: "__Read-only__ A list of acceptable values for the field in any quantity, combination or order."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/user-defined-field.yaml"
+ required:
+ - "label"
+ - "name"
+ - "example"
+ type: "object"
+ description: "A custom field defined by the User with a special syntax within a StackScript. Derived from the contents of the script."
+ additionalProperties: false
+ example:
+ name: "DB_PASSWORD"
+ label: "Enter the DB password"
+ example: "hunter2"
+ readOnly: true
+ script:
+ description: "The script to execute when provisioning a new Linode with this StackScript."
+ type: "string"
+ x-linode-cli-format: "file"
+ example: "\\\"#!/bin/bash\\\""
+ images:
+ items:
+ type: "string"
+ x-linode-cli-display: 4
+ type: "array"
+ description: "An array of Image IDs. These are the Images that can be deployed with this StackScript.\n\n`any/all` indicates that all available Images, including private Images, are accepted."
+ example:
+ - "linode/debian9"
+ - "linode/debian8"
+ deployments_total:
+ example: 12
+ x-linode-filterable: true
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The total number of times this StackScript has been deployed."
+ x-akamai:
+ labels:
+ - "Filterable"
+ deployments_active:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ Count of currently active, deployed Linodes created from this StackScript."
+ user_gravatar_id:
+ readOnly: true
+ example: "a445b305abda30ebc766bc7fda037c37"
+ type: "string"
+ description: "__Read-only__ The Gravatar ID for the User who created the StackScript."
+ description:
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ A description for the StackScript."
+ type: "string"
+ example: "This StackScript installs and configures MySQL"
+ x-linode-filterable: true
+ label:
+ description: "__Filterable__ The StackScript's label is for display purposes only."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ minLength: 3
+ x-linode-filterable: true
+ maxLength: 128
+ example: "a-stackscript"
+ updated:
+ type: "string"
+ description: "__Read-only__ The date this StackScript was last updated."
+ x-linode-cli-display: 7
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/stack-script.yaml"
+ description: "StackScript successfully created."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "stackscripts:read_write"
+ tags:
+ - "Linode StackScripts"
+ x-linode-cli-command: "stackscripts"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ x-akamai:
+ file-path: "paths/stack-scripts.yaml"
+ path-info: "/{apiVersion}/linode/stackscripts"
+ get:
+ x-original-op-id: "getStackScripts"
+ parameters:
+ -
+ in: "query"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ name: "page"
+ description: "The page of a collection to return."
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ -
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ summary: "List StackScripts"
+ x-original-op-title: "StackScripts List"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/linode/stackscripts"
+ -
+ source: "linode-cli stackscripts list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli stackscripts list"
+ -
+ syntax: "stackscripts:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ description: "If the request is not authenticated, only public StackScripts are returned.\n\nFor more information on StackScripts, please read our [StackScripts documentation](https://www.linode.com/docs/products/tools/stackscripts/).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli stackscripts list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n stackscripts:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ operationId: "get-stack-scripts"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-stack-scripts"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "stackscripts:read_only"
+ tags:
+ - "Linode StackScripts"
+ responses:
+ 200:
+ description: "A list of StackScripts available to the User, including private StackScripts owned by the User if the request is authenticated."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-stack-scripts-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-stack-scripts-200.yaml"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ pages:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ type: "object"
+ description: "A StackScript enables you to quickly deploy a fully-configured application in an automated manner."
+ properties:
+ updated:
+ description: "__Read-only__ The date this StackScript was last updated."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 7
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ label:
+ example: "a-stackscript"
+ maxLength: 128
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The StackScript's label is for display purposes only."
+ type: "string"
+ minLength: 3
+ description:
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ A description for the StackScript."
+ type: "string"
+ x-linode-filterable: true
+ example: "This StackScript installs and configures MySQL"
+ user_gravatar_id:
+ type: "string"
+ description: "__Read-only__ The Gravatar ID for the User who created the StackScript."
+ readOnly: true
+ example: "a445b305abda30ebc766bc7fda037c37"
+ deployments_active:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ Count of currently active, deployed Linodes created from this StackScript."
+ type: "integer"
+ deployments_total:
+ readOnly: true
+ x-linode-filterable: true
+ example: 12
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The total number of times this StackScript has been deployed."
+ type: "integer"
+ images:
+ type: "array"
+ description: "An array of Image IDs. These are the Images that can be deployed with this StackScript.\n\n`any/all` indicates that all available Images, including private Images, are accepted."
+ items:
+ type: "string"
+ x-linode-cli-display: 4
+ example:
+ - "linode/debian9"
+ - "linode/debian8"
+ script:
+ x-linode-cli-format: "file"
+ type: "string"
+ description: "The script to execute when provisioning a new Linode with this StackScript."
+ example: "\\\"#!/bin/bash\\\""
+ user_defined_fields:
+ readOnly: true
+ example:
+ example: "hunter2"
+ label: "Enter the DB password"
+ name: "DB_PASSWORD"
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/user-defined-field.yaml"
+ required:
+ - "label"
+ - "name"
+ - "example"
+ properties:
+ label:
+ type: "string"
+ description: "__Read-only__ A human-readable label for the field that will serve as the input prompt for entering the value during deployment."
+ example: "Enter the password"
+ readOnly: true
+ name:
+ readOnly: true
+ example: "DB_PASSWORD"
+ description: "__Read-only__ The name of the field."
+ type: "string"
+ manyOf:
+ readOnly: true
+ example: "avalue,anothervalue,thirdvalue"
+ type: "string"
+ description: "__Read-only__ A list of acceptable values for the field in any quantity, combination or order."
+ default:
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The default value. If not specified, this value will be used."
+ example:
+ description: "__Read-only__ An example value for the field."
+ type: "string"
+ example: "hunter2"
+ readOnly: true
+ oneOf:
+ description: "__Read-only__ A list of acceptable single values for the field."
+ type: "string"
+ readOnly: true
+ example: "avalue,anothervalue,thirdvalue"
+ type: "object"
+ description: "A custom field defined by the User with a special syntax within a StackScript. Derived from the contents of the script."
+ type: "array"
+ description: "__Read-only__ This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment. See [Declare User-Defined Fields (UDFs)](https://www.linode.com/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more information."
+ rev_note:
+ type: "string"
+ description: "__Filterable__ This field allows you to add notes for the set of revisions made to this StackScript."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "Set up MySQL"
+ x-linode-filterable: true
+ username:
+ type: "string"
+ description: "__Read-only__ The User who created the StackScript."
+ x-linode-cli-display: 2
+ example: "myuser"
+ readOnly: true
+ is_public:
+ x-linode-filterable: true
+ example: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ type: "boolean"
+ description: "__Filterable__ This determines whether other users can use your StackScript. __Once a StackScript is made public, it cannot be made private.__"
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The date this StackScript was created."
+ format: "date-time"
+ x-linode-cli-display: 6
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of this StackScript."
+ type: "integer"
+ readOnly: true
+ example: 10079
+ mine:
+ description: "__Filterable__, __Read-only__ Returns `true` if this StackScript is owned by the account of the user making the request, and the user making the request is unrestricted or has access to this StackScript."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-filterable: true
+ example: true
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/stack-script.yaml"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "object"
+ /{apiVersion}/account/credit-card:
+ x-akamai:
+ file-path: "paths/credit-card.yaml"
+ path-info: "/{apiVersion}/account/credit-card"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ x-linode-cli-command: "account"
+ post:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ x-example:
+ x-ref: "../examples/post-credit-card-200.json"
+ description: "Credit Card updated."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-credit-card.json"
+ schema:
+ required:
+ - "card_number"
+ - "expiry_month"
+ - "expiry_year"
+ - "cvv"
+ properties:
+ expiry_year:
+ description: "A four-digit integer representing the expiration year of your credit card.\n\nThe combination of `expiry_month` and `expiry_year` must result in a month/year combination of the current month or in the future. An expiration date set in the past is invalid."
+ type: "integer"
+ minLength: 4
+ example: 2020
+ maxLength: 4
+ cvv:
+ example: "123"
+ maxLength: 4
+ minLength: 3
+ description: "CVV (Card Verification Value) of the credit card, typically found on the back of the card."
+ type: "string"
+ format: "digits"
+ card_number:
+ minLength: 14
+ maxLength: 24
+ example: 4111111111111111
+ type: "string"
+ description: "Your credit card number. No spaces or hyphens (`-`) allowed."
+ format: "digits"
+ expiry_month:
+ type: "integer"
+ minimum: 1
+ description: "A value from 1-12 representing the expiration month of your credit card.\n\n - 1 = January\n - 2 = February\n - 3 = March\n - Etc."
+ maximum: 12
+ example: 12
+ x-akamai:
+ file-path: "schemas/credit-card.yaml"
+ type: "object"
+ description: "An object representing the credit card information you have on file with Linode to make Payments against your Account."
+ additionalProperties: false
+ description: "Update the credit card information associated with your Account."
+ deprecated: true
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ operationId: "post-credit-card"
+ x-linode-cli-skip: true
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-credit-card"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"card_number\": \"4111111111111111\",\n \"expiry_month\": 11,\n \"expiry_year\": 2020,\n \"cvv\": \"111\"\n }' \\\n https://api.linode.com/v4/account/credit-card"
+ lang: "Shell"
+ -
+ source: "linode-cli account update-card \\\n --card_number 4111111111111111 \\\n --expiry_month 11 \\\n --expiry_year 2025 \\\n --cvv 111"
+ lang: "CLI"
+ x-akamai:
+ status: "DEPRECATED"
+ tabs:
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "update-card"
+ description: "__Deprecated__ Please run [Add a payment method](https://techdocs.akamai.com/linode-api/reference/post-payment-method).\n\nAdds a credit card Payment Method to your account and sets it as the default method.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ summary: "Add or edit a credit card"
+ x-original-op-title: "Credit Card Add/Edit"
+ x-original-op-id: "createCreditCard"
+ /{apiVersion}/lke/clusters/{clusterId}/nodes/{nodeId}/recycle:
+ x-linode-cli-command: "lke"
+ post:
+ x-linode-cli-action: "node-recycle"
+ description: "Recycles an individual Node in the designated Kubernetes Cluster. The Node will be deleted and replaced with a new Linode, which may take a few minutes. Replacement Nodes are installed with the latest available patch for the Cluster's Kubernetes Version.\n\n__Any local storage on deleted Linodes (such as `hostPath` and `emptyDir` volumes, or `local` PersistentVolumes) will be erased.__\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke node-recycle 12345 12345-6aa78910bc\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc/recycle"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli lke node-recycle 12345 12345-6aa78910bc"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli lke node-recycle 12345 12345-6aa78910bc"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "lke:read_write"
+ title: "OAuth scopes"
+ operationId: "post-lke-cluster-node-recycle"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-lke-cluster-node-recycle"
+ x-original-op-id: "postLKEClusterNodeRecycle"
+ summary: "Recycle a node"
+ x-original-op-title: "Node Recycle"
+ responses:
+ 200:
+ description: "Recycle request succeeded and is in progress."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ x-example:
+ x-ref: "../examples/post-lke-cluster-node-recycle-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ x-akamai:
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/nodes/{nodeId}/recycle"
+ file-path: "paths/node-recycle.yaml"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/cluster-id-path-b0a6717a.yaml"
+ name: "clusterId"
+ description: "ID of the Kubernetes cluster containing the Node."
+ schema:
+ type: "integer"
+ required: true
+ -
+ required: true
+ schema:
+ type: "string"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/node-id-recycle.yaml"
+ name: "nodeId"
+ description: "ID of the Node to be recycled."
+ /{apiVersion}/managed/services/{serviceId}/enable:
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ description: "The ID of the Managed Service to enable."
+ name: "serviceId"
+ required: true
+ x-akamai:
+ file-path: "parameters/service-id-path-ea3ecd21.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ x-akamai:
+ path-info: "/{apiVersion}/managed/services/{serviceId}/enable"
+ file-path: "paths/service-enable.yaml"
+ post:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-enable-managed-service"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-enable-managed-service"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli managed service-enable 9994"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/managed/services/9994/enable"
+ -
+ lang: "CLI"
+ source: "linode-cli managed service-enable 9994"
+ description: "Enables monitoring of a Managed Service.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-enable 9994\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action: "service-enable"
+ x-original-op-title: "Managed Service Enable"
+ summary: "Enable a managed service"
+ x-original-op-id: "enableManagedService"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ status:
+ x-linode-cli-color:
+ default_: "yellow"
+ ok: "green"
+ disabled: "red"
+ example: "ok"
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ readOnly: true
+ description: "__Read-only__ The current status of this Service."
+ type: "string"
+ x-linode-cli-display: 2
+ consultation_group:
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ minLength: 0
+ maxLength: 50
+ example: "on-call"
+ credentials:
+ items:
+ type: "integer"
+ example: 9991
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ type: "array"
+ region:
+ example: null
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ type: "string"
+ service_type:
+ example: "url"
+ enum:
+ - "url"
+ - "tcp"
+ type: "string"
+ description: "How this Service is monitored."
+ x-linode-cli-display: 3
+ created:
+ description: "__Read-only__ When this Managed Service was created."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ id:
+ example: 9944
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This Service's unique ID."
+ x-linode-cli-display: 1
+ updated:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Managed Service was last updated."
+ readOnly: true
+ example: "2018-03-01T00:01:01"
+ timeout:
+ type: "integer"
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ minimum: 1
+ maximum: 255
+ example: 30
+ label:
+ maxLength: 64
+ example: "prod-1"
+ minLength: 3
+ x-linode-cli-display: 4
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ type: "string"
+ description: "The label for this Service. This is for display purposes only."
+ address:
+ minLength: 3
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ type: "string"
+ format: "url"
+ x-linode-cli-display: 5
+ maxLength: 100
+ example: "https://example.org"
+ notes:
+ example: "The service name is my-cool-application"
+ nullable: true
+ type: "string"
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ body:
+ example: "it worked"
+ maxLength: 100
+ nullable: true
+ type: "string"
+ description: "What to expect to find in the response body for the Service to be considered up."
+ minLength: 0
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-enable-managed-service-200.json"
+ description: "Service enabled."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ x-linode-cli-command: "managed"
+ /{apiVersion}/placement/groups/{groupId}/assign:
+ x-linode-cli-command: "placement"
+ post:
+ x-original-op-id: "placementGroupAddLinode"
+ summary: "Assign a placement group"
+ x-original-op-title: "Placement Group Assign"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"linode\": [123, 456],\n \"non-compliant\": false\n }' \\\n https://api.linode.com/v4/placement/groups/528/assign"
+ lang: "Shell"
+ -
+ source: "linode-cli placement assignLinode 528 \\\n --linodes 123 456 \\\n --non-compliant true"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli placement assignLinode 528 \\\n --linodes 123 456 \\\n --non-compliant true"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ x-linode-cli-action: "assign-linode"
+ x-linode-grant: "read-write"
+ description: "Add one or more compute instances to your placement group. Check out our [example API workflow](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/#create-a-placement-group) to create a placement group and add compute instances.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli placement assignLinode 528 \\\n --linodes 123 456 \\\n --non-compliant true\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "post-group-add-linode"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-group-add-linode"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Placement groups"
+ requestBody:
+ required: true
+ description: "The compute instances you want to add to your placement group."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-group-add-linode.json"
+ schema:
+ additionalProperties: false
+ properties:
+ linodes:
+ example: 528
+ description: "The `linodeId` values for individual compute instances included in the placement group."
+ type: "array"
+ items:
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/placement-group-compute-instances.yaml"
+ type: "object"
+ description: "The compute instances included in a placement group."
+ responses:
+ 200:
+ description: "The compute instance was added successfully."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ members:
+ description: "An array of compute instances included in the placement group."
+ type: "array"
+ items:
+ type: "object"
+ properties:
+ is_compliant:
+ example: true
+ type: "boolean"
+ description: "The compliance status of each individual compute instance in the placement group."
+ linode_id:
+ type: "integer"
+ description: "__Read-only__ The unique identifier for a compute instance included in the placement group."
+ readOnly: true
+ example: 123
+ additionalProperties: false
+ placement_group_type:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ readOnly: true
+ x-linode-filterable: true
+ example: "anti-affinity:local"
+ enum:
+ - "anti_affinity:local"
+ label:
+ x-linode-filterable: true
+ example: "PG_Miami_failover"
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ id:
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ nullable: false
+ x-linode-cli-display: 1
+ example: 528
+ placement_group_policy:
+ enum:
+ - "strict"
+ - "flexible"
+ example: "strict"
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ region:
+ readOnly: true
+ x-linode-filterable: true
+ example: "us-mia"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Filterable__, __Read-only__ The [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the placement group was deployed."
+ is_compliant:
+ type: "boolean"
+ description: "Whether all of the compute instances in your placement group are compliant. If `true`, all compute instances meet either the grouped-together or spread-apart model, which you determine through your selected `placement_group_type`. If `false`, a compute instance is out of this compliance. For example, assume you've set `anti-affinity:local` as your `placement_group_type` and your group already has three qualifying compute instances on separate hosts, to support the spread-apart model. If a fourth compute instance is assigned that's on the same host as one of the existing three, the placement group is non-compliant. Enforce compliance in your group by setting a `placement_group_policy`.\n\n> 📘\n>\n> Fixing compliance is not self-service. You need to wait for our assistance to physically move compute instances to make the group compliant again."
+ nullable: false
+ example: true
+ x-akamai:
+ file-path: "schemas/placement-group.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-group-add-linode-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ x-akamai:
+ file-path: "paths/group-assign.yaml"
+ path-info: "/{apiVersion}/placement/groups/{groupId}/assign"
+ parameters:
+ -
+ required: true
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ schema:
+ type: "integer"
+ name: "groupId"
+ description: "ID of the placement group to look up. Run the [List placement groups](https://techdocs.akamai.com/linode-api/reference/get-placement-groups) operation and store the `id` for the applicable placement group."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/group-id-path.yaml"
+ /{apiVersion}/account:
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ get:
+ summary: "Get your account"
+ x-original-op-title: "Account View"
+ x-original-op-id: "getAccount"
+ operationId: "get-account"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-account"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account"
+ -
+ source: "linode-cli account view"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account view"
+ -
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "view"
+ x-linode-grant: "read_only"
+ description: "Returns the contact and billing information related to your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account view\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Account"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "Account object."
+ x-akamai:
+ file-path: "schemas/account.yaml"
+ properties:
+ zip:
+ type: "string"
+ description: "The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Must not contain more than 9 letter or number characters."
+ example: "19102-1234"
+ address_2:
+ maxLength: 64
+ example: "Suite A"
+ type: "string"
+ description: "Second line of this Account's billing address."
+ capabilities:
+ readOnly: true
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ - "Placement Groups"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of capabilities your account supports."
+ first_name:
+ type: "string"
+ description: "The first name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ x-linode-cli-display: 1
+ maxLength: 50
+ example: "John"
+ active_since:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The date and time the account was activated."
+ format: "date-time"
+ state:
+ maxLength: 24
+ example: "PA"
+ description: "If billing address is in the United States (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account's billing address."
+ type: "string"
+ city:
+ description: "The city for this Account's billing address."
+ type: "string"
+ example: "Philadelphia"
+ maxLength: 24
+ balance:
+ type: "number"
+ description: "__Read-only__ This Account's balance, in US dollars."
+ x-linode-cli-display: 4
+ example: 200
+ readOnly: true
+ credit_card:
+ description: "__Read-only__ Credit Card information associated with this Account."
+ type: "object"
+ properties:
+ expiry:
+ type: "string"
+ description: "The expiration month and year of the credit card."
+ example: "11/2022"
+ last_four:
+ example: 1111
+ description: "The last four digits of the credit card associated with this Account."
+ type: "string"
+ additionalProperties: false
+ readOnly: true
+ address_1:
+ type: "string"
+ description: "First line of this Account's billing address."
+ example: "123 Main Street"
+ maxLength: 64
+ euuid:
+ format: "uuid"
+ description: "__Read-only__ An external unique identifier for this account."
+ type: "string"
+ readOnly: true
+ example: "E1AF5EEC-526F-487D-B317EBEB34C87D71"
+ country:
+ description: "The two-letter ISO 3166 country code of this Account's billing address."
+ type: "string"
+ example: "US"
+ last_name:
+ example: "Smith"
+ maxLength: 50
+ type: "string"
+ description: "The last name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ x-linode-cli-display: 2
+ balance_uninvoiced:
+ type: "number"
+ description: "__Read-only__ This Account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ x-linode-cli-display: 4
+ example: 145
+ readOnly: true
+ billing_source:
+ enum:
+ - "akamai"
+ - "linode"
+ example: "akamai"
+ readOnly: true
+ description: "__Read-only__ The source of service charges for this Account, as determined by its relationship with Akamai. Accounts that are associated with Akamai-specific customers return a value of `akamai`. All other Accounts return a value of `linode`."
+ type: "string"
+ email:
+ maxLength: 128
+ example: "john.smith@linode.com"
+ type: "string"
+ description: "The email address of the person associated with this Account."
+ x-linode-cli-display: 3
+ active_promotions:
+ readOnly: true
+ items:
+ properties:
+ description:
+ example: "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends."
+ description: "A detailed description of this promotion."
+ type: "string"
+ image_url:
+ example: "https://linode.com/10_a_month_promotion.svg"
+ description: "The location of an image for this promotion."
+ type: "string"
+ credit_monthly_cap:
+ description: "The amount available to spend per month."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "10.00"
+ credit_remaining:
+ example: "50.00"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The total amount of credit left for this promotion."
+ summary:
+ example: "$10 off your Linode a month!"
+ x-linode-cli-display: 10
+ type: "string"
+ description: "Short details of this promotion."
+ expire_dt:
+ type: "string"
+ description: "When this promotion's credits expire."
+ x-linode-cli-display: 2
+ example: "2018-01-31T23:59:59"
+ service_type:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The service to which this promotion applies."
+ example: "all"
+ enum:
+ - "all"
+ - "backup"
+ - "blockstorage"
+ - "db_mysql"
+ - "ip_v4"
+ - "linode"
+ - "linode_disk"
+ - "linode_memory"
+ - "loadbalancer"
+ - "longview"
+ - "managed"
+ - "nodebalancer"
+ - "objectstorage"
+ - "placement_group"
+ - "transfer_tx"
+ this_month_credit_remaining:
+ example: "10.00"
+ x-linode-cli-display: 4
+ description: "The amount of credit left for this month for this promotion."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/promotion.yaml"
+ type: "object"
+ description: "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first."
+ additionalProperties: false
+ readOnly: true
+ type: "array"
+ phone:
+ example: "215-555-1212"
+ maxLength: 32
+ description: "The phone number associated with this Account."
+ type: "string"
+ company:
+ type: "string"
+ description: "The company name associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ example: "Linode LLC"
+ maxLength: 128
+ tax_id:
+ description: "The tax identification number associated with this Account, for tax calculations in some countries. If you do not live in a country that collects tax, this should be an empty string (`\"\"`)."
+ type: "string"
+ maxLength: 25
+ example: "ATU99999999"
+ x-example:
+ x-ref: "../examples/get-account-200.json"
+ description: "Returns a single Account object."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ additionalProperties: false
+ type: "object"
+ put:
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-account.json"
+ schema:
+ description: "Account object."
+ type: "object"
+ properties:
+ credit_card:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ Credit Card information associated with this Account."
+ properties:
+ last_four:
+ type: "string"
+ description: "The last four digits of the credit card associated with this Account."
+ example: 1111
+ expiry:
+ description: "The expiration month and year of the credit card."
+ type: "string"
+ example: "11/2022"
+ active_since:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ The date and time the account was activated."
+ type: "string"
+ balance:
+ type: "number"
+ description: "__Read-only__ This Account's balance, in US dollars."
+ x-linode-cli-display: 4
+ example: 200
+ readOnly: true
+ city:
+ type: "string"
+ description: "The city for this Account's billing address."
+ example: "Philadelphia"
+ maxLength: 24
+ state:
+ type: "string"
+ description: "If billing address is in the United States (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account's billing address."
+ maxLength: 24
+ example: "PA"
+ first_name:
+ example: "John"
+ maxLength: 50
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The first name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ zip:
+ description: "The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Must not contain more than 9 letter or number characters."
+ type: "string"
+ example: "19102-1234"
+ address_2:
+ maxLength: 64
+ example: "Suite A"
+ description: "Second line of this Account's billing address."
+ type: "string"
+ capabilities:
+ readOnly: true
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ - "Placement Groups"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Read-only__ A list of capabilities your account supports."
+ company:
+ type: "string"
+ description: "The company name associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ maxLength: 128
+ example: "Linode LLC"
+ active_promotions:
+ readOnly: true
+ items:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first."
+ properties:
+ service_type:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The service to which this promotion applies."
+ enum:
+ - "all"
+ - "backup"
+ - "blockstorage"
+ - "db_mysql"
+ - "ip_v4"
+ - "linode"
+ - "linode_disk"
+ - "linode_memory"
+ - "loadbalancer"
+ - "longview"
+ - "managed"
+ - "nodebalancer"
+ - "objectstorage"
+ - "placement_group"
+ - "transfer_tx"
+ example: "all"
+ this_month_credit_remaining:
+ example: "10.00"
+ x-linode-cli-display: 4
+ description: "The amount of credit left for this month for this promotion."
+ type: "string"
+ expire_dt:
+ description: "When this promotion's credits expire."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "2018-01-31T23:59:59"
+ summary:
+ x-linode-cli-display: 10
+ type: "string"
+ description: "Short details of this promotion."
+ example: "$10 off your Linode a month!"
+ credit_monthly_cap:
+ x-linode-cli-display: 5
+ description: "The amount available to spend per month."
+ type: "string"
+ example: "10.00"
+ credit_remaining:
+ example: "50.00"
+ x-linode-cli-display: 3
+ description: "The total amount of credit left for this promotion."
+ type: "string"
+ image_url:
+ example: "https://linode.com/10_a_month_promotion.svg"
+ description: "The location of an image for this promotion."
+ type: "string"
+ description:
+ type: "string"
+ description: "A detailed description of this promotion."
+ example: "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends."
+ x-akamai:
+ file-path: "schemas/promotion.yaml"
+ type: "array"
+ phone:
+ description: "The phone number associated with this Account."
+ type: "string"
+ example: "215-555-1212"
+ maxLength: 32
+ tax_id:
+ maxLength: 25
+ example: "ATU99999999"
+ description: "The tax identification number associated with this Account, for tax calculations in some countries. If you do not live in a country that collects tax, this should be an empty string (`\"\"`)."
+ type: "string"
+ balance_uninvoiced:
+ x-linode-cli-display: 4
+ type: "number"
+ description: "__Read-only__ This Account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ readOnly: true
+ example: 145
+ email:
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The email address of the person associated with this Account."
+ example: "john.smith@linode.com"
+ maxLength: 128
+ billing_source:
+ type: "string"
+ description: "__Read-only__ The source of service charges for this Account, as determined by its relationship with Akamai. Accounts that are associated with Akamai-specific customers return a value of `akamai`. All other Accounts return a value of `linode`."
+ readOnly: true
+ example: "akamai"
+ enum:
+ - "akamai"
+ - "linode"
+ country:
+ example: "US"
+ description: "The two-letter ISO 3166 country code of this Account's billing address."
+ type: "string"
+ last_name:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The last name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ maxLength: 50
+ example: "Smith"
+ euuid:
+ type: "string"
+ description: "__Read-only__ An external unique identifier for this account."
+ format: "uuid"
+ example: "E1AF5EEC-526F-487D-B317EBEB34C87D71"
+ readOnly: true
+ address_1:
+ type: "string"
+ description: "First line of this Account's billing address."
+ maxLength: 64
+ example: "123 Main Street"
+ x-akamai:
+ file-path: "schemas/account.yaml"
+ additionalProperties: false
+ description: "Updated contact and billing information."
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-account-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ credit_card:
+ properties:
+ expiry:
+ description: "The expiration month and year of the credit card."
+ type: "string"
+ example: "11/2022"
+ last_four:
+ example: 1111
+ description: "The last four digits of the credit card associated with this Account."
+ type: "string"
+ description: "__Read-only__ Credit Card information associated with this Account."
+ type: "object"
+ readOnly: true
+ additionalProperties: false
+ state:
+ maxLength: 24
+ example: "PA"
+ type: "string"
+ description: "If billing address is in the United States (US) or Canada (CA), only the two-letter ISO 3166 State or Province code are accepted. If entering a US military address, state abbreviations (AA, AE, AP) should be entered. If the address is outside the US or CA, this is the Province associated with the Account's billing address."
+ city:
+ maxLength: 24
+ example: "Philadelphia"
+ type: "string"
+ description: "The city for this Account's billing address."
+ balance:
+ x-linode-cli-display: 4
+ type: "number"
+ description: "__Read-only__ This Account's balance, in US dollars."
+ readOnly: true
+ example: 200
+ active_since:
+ format: "date-time"
+ description: "__Read-only__ The date and time the account was activated."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ first_name:
+ example: "John"
+ maxLength: 50
+ type: "string"
+ description: "The first name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ x-linode-cli-display: 1
+ capabilities:
+ description: "__Read-only__ A list of capabilities your account supports."
+ type: "array"
+ items:
+ type: "string"
+ example:
+ - "Linodes"
+ - "NodeBalancers"
+ - "Block Storage"
+ - "Object Storage"
+ - "Placement Groups"
+ readOnly: true
+ address_2:
+ example: "Suite A"
+ maxLength: 64
+ description: "Second line of this Account's billing address."
+ type: "string"
+ zip:
+ description: "The zip code of this Account's billing address. The following restrictions apply:\n\n- Can only contain ASCII letters, numbers, and hyphens (`-`).\n- Must not contain more than 9 letter or number characters."
+ type: "string"
+ example: "19102-1234"
+ tax_id:
+ type: "string"
+ description: "The tax identification number associated with this Account, for tax calculations in some countries. If you do not live in a country that collects tax, this should be an empty string (`\"\"`)."
+ maxLength: 25
+ example: "ATU99999999"
+ phone:
+ description: "The phone number associated with this Account."
+ type: "string"
+ maxLength: 32
+ example: "215-555-1212"
+ active_promotions:
+ type: "array"
+ items:
+ description: "__Read-only__ Promotions generally offer a set amount of credit that can be used toward your Linode services, and the promotion expires after a specified date. As well, a monthly cap on the promotional offer is set.\n\nSimply put, a promotion offers a certain amount of credit month, until either the expiration date is passed, or until the total promotional credit is used, whichever comes first."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/promotion.yaml"
+ properties:
+ description:
+ example: "Receive up to $10 off your services every month for 6 months! Unused credits will expire once this promotion period ends."
+ description: "A detailed description of this promotion."
+ type: "string"
+ credit_monthly_cap:
+ example: "10.00"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "The amount available to spend per month."
+ credit_remaining:
+ example: "50.00"
+ x-linode-cli-display: 3
+ description: "The total amount of credit left for this promotion."
+ type: "string"
+ image_url:
+ description: "The location of an image for this promotion."
+ type: "string"
+ example: "https://linode.com/10_a_month_promotion.svg"
+ service_type:
+ description: "The service to which this promotion applies."
+ type: "string"
+ x-linode-cli-display: 1
+ enum:
+ - "all"
+ - "backup"
+ - "blockstorage"
+ - "db_mysql"
+ - "ip_v4"
+ - "linode"
+ - "linode_disk"
+ - "linode_memory"
+ - "loadbalancer"
+ - "longview"
+ - "managed"
+ - "nodebalancer"
+ - "objectstorage"
+ - "placement_group"
+ - "transfer_tx"
+ example: "all"
+ this_month_credit_remaining:
+ example: "10.00"
+ type: "string"
+ description: "The amount of credit left for this month for this promotion."
+ x-linode-cli-display: 4
+ summary:
+ example: "$10 off your Linode a month!"
+ type: "string"
+ description: "Short details of this promotion."
+ x-linode-cli-display: 10
+ expire_dt:
+ type: "string"
+ description: "When this promotion's credits expire."
+ x-linode-cli-display: 2
+ example: "2018-01-31T23:59:59"
+ additionalProperties: false
+ readOnly: true
+ readOnly: true
+ company:
+ type: "string"
+ description: "The company name associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ example: "Linode LLC"
+ maxLength: 128
+ email:
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The email address of the person associated with this Account."
+ maxLength: 128
+ example: "john.smith@linode.com"
+ billing_source:
+ enum:
+ - "akamai"
+ - "linode"
+ example: "akamai"
+ readOnly: true
+ description: "__Read-only__ The source of service charges for this Account, as determined by its relationship with Akamai. Accounts that are associated with Akamai-specific customers return a value of `akamai`. All other Accounts return a value of `linode`."
+ type: "string"
+ balance_uninvoiced:
+ description: "__Read-only__ This Account's current estimated invoice in US dollars. This is not your final invoice balance. Transfer charges are not included in the estimate."
+ type: "number"
+ x-linode-cli-display: 4
+ example: 145
+ readOnly: true
+ last_name:
+ example: "Smith"
+ maxLength: 50
+ x-linode-cli-display: 2
+ description: "The last name of the person associated with this Account.\n\nMust not include any of the following characters: `<` `>` `(` `)` `\"` `=`"
+ type: "string"
+ country:
+ example: "US"
+ description: "The two-letter ISO 3166 country code of this Account's billing address."
+ type: "string"
+ address_1:
+ description: "First line of this Account's billing address."
+ type: "string"
+ maxLength: 64
+ example: "123 Main Street"
+ euuid:
+ readOnly: true
+ example: "E1AF5EEC-526F-487D-B317EBEB34C87D71"
+ format: "uuid"
+ type: "string"
+ description: "__Read-only__ An external unique identifier for this account."
+ x-akamai:
+ file-path: "schemas/account.yaml"
+ type: "object"
+ description: "Account object."
+ description: "The updated Account."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ x-linode-cli-action: "update"
+ description: "Updates contact and billing information related to your account. If you exclude any properties from the request, the operation leaves them unchanged.\n\n__Note__. When updating an account's `country` to `US`, you'll get an error if the account's `zip` is not a valid US zip code.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't change the `company` for a parent account. Akamai uses this value to set the name for a child account parent user (proxy user) on any child account.\n\n- Child account users can't run this operation. These users don't have access to billing-related operations.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account update \\\n --address_1 \"123 Main St.\" \\\n --address_2 \"Suite 101\" \\\n --city Philadelphia \\\n --company My Company \\ LLC \\\n --country US \\\n --email jsmith@mycompany.com \\\n --first_name John \\\n --last_name Smith \\\n --phone 555-555-1212 \\\n --state PA \\\n --tax_id ATU99999999 \\\n --zip 19102\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"address_1\": \"123 Main St.\",\n \"address_2\": \"Suite 101\",\n \"city\": \"Philadelphia\",\n \"company\": \"My Company, LLC\",\n \"country\": \"US\",\n \"email\": \"jsmith@mycompany.com\",\n \"first_name\": \"John\",\n \"last_name\": \"Smith\",\n \"phone\": \"555-555-1212\",\n \"state\": \"PA\",\n \"tax_id\": \"ATU99999999\",\n \"zip\": \"19102\"\n }' \\\n https://api.linode.com/v4/account"
+ -
+ lang: "CLI"
+ source: "linode-cli account update \\\n --address_1 \"123 Main St.\" \\\n --address_2 \"Suite 101\" \\\n --city Philadelphia \\\n --company My Company \\ LLC \\\n --country US \\\n --email jsmith@mycompany.com \\\n --first_name John \\\n --last_name Smith \\\n --phone 555-555-1212 \\\n --state PA \\\n --tax_id ATU99999999 \\\n --zip 19102"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account update \\\n --address_1 \"123 Main St.\" \\\n --address_2 \"Suite 101\" \\\n --city Philadelphia \\\n --company My Company \\ LLC \\\n --country US \\\n --email jsmith@mycompany.com \\\n --first_name John \\\n --last_name Smith \\\n --phone 555-555-1212 \\\n --state PA \\\n --tax_id ATU99999999 \\\n --zip 19102"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ operationId: "put-account"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-account"
+ x-original-op-id: "updateAccount"
+ summary: "Update your account"
+ x-original-op-title: "Account Update"
+ x-akamai:
+ path-info: "/{apiVersion}/account"
+ file-path: "paths/account.yaml"
+ x-linode-cli-command: "account"
+ /{apiVersion}/managed/services/{serviceId}:
+ get:
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ properties:
+ status:
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ example: "ok"
+ readOnly: true
+ x-linode-cli-color:
+ disabled: "red"
+ default_: "yellow"
+ ok: "green"
+ description: "__Read-only__ The current status of this Service."
+ type: "string"
+ x-linode-cli-display: 2
+ consultation_group:
+ maxLength: 50
+ example: "on-call"
+ x-linode-cli-display: 6
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ type: "string"
+ minLength: 0
+ credentials:
+ items:
+ example: 9991
+ type: "integer"
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ type: "array"
+ region:
+ example: null
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ type: "string"
+ service_type:
+ type: "string"
+ description: "How this Service is monitored."
+ x-linode-cli-display: 3
+ enum:
+ - "url"
+ - "tcp"
+ example: "url"
+ created:
+ format: "date-time"
+ description: "__Read-only__ When this Managed Service was created."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ id:
+ description: "__Read-only__ This Service's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 9944
+ readOnly: true
+ timeout:
+ maximum: 255
+ minimum: 1
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ type: "integer"
+ example: 30
+ updated:
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this Managed Service was last updated."
+ format: "date-time"
+ label:
+ example: "prod-1"
+ maxLength: 64
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ minLength: 3
+ description: "The label for this Service. This is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 4
+ notes:
+ nullable: true
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ type: "string"
+ example: "The service name is my-cool-application"
+ address:
+ maxLength: 100
+ example: "https://example.org"
+ minLength: 3
+ x-linode-cli-display: 5
+ format: "url"
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ type: "string"
+ body:
+ type: "string"
+ description: "What to expect to find in the response body for the Service to be considered up."
+ nullable: true
+ minLength: 0
+ maxLength: 100
+ example: "it worked"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-managed-service-200.json"
+ description: "The requested Managed Service."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-title: "Managed Service View"
+ summary: "Get a managed service"
+ x-original-op-id: "getManagedService"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-managed-service"
+ operationId: "get-managed-service"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli managed service-view 9994"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/managed/services/9994"
+ -
+ source: "linode-cli managed service-view 9994"
+ lang: "CLI"
+ x-linode-grant: "unrestricted only"
+ description: "Returns information about a single Managed Service on your Account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-view 9994\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "service-view"
+ delete:
+ x-original-op-id: "deleteManagedService"
+ summary: "Delete a managed service"
+ x-original-op-title: "Managed Service Delete"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/managed/services/9994"
+ -
+ source: "linode-cli managed service-delete 9994"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli managed service-delete 9994"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action: "service-delete"
+ description: "Deletes a Managed Service. This service will no longer be monitored by Linode Managed.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-delete 9994\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ operationId: "delete-managed-service"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-managed-service"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Managed"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-managed-service-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ description: "Service deleted successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ path-info: "/{apiVersion}/managed/services/{serviceId}"
+ file-path: "paths/service.yaml"
+ put:
+ responses:
+ 200:
+ description: "Service updated successfully."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ properties:
+ address:
+ example: "https://example.org"
+ maxLength: 100
+ format: "url"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ minLength: 3
+ notes:
+ type: "string"
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ nullable: true
+ example: "The service name is my-cool-application"
+ body:
+ example: "it worked"
+ maxLength: 100
+ nullable: true
+ type: "string"
+ description: "What to expect to find in the response body for the Service to be considered up."
+ minLength: 0
+ timeout:
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ minimum: 1
+ type: "integer"
+ maximum: 255
+ example: 30
+ updated:
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Managed Service was last updated."
+ type: "string"
+ format: "date-time"
+ label:
+ type: "string"
+ description: "The label for this Service. This is for display purposes only."
+ x-linode-cli-display: 4
+ minLength: 3
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ maxLength: 64
+ example: "prod-1"
+ service_type:
+ x-linode-cli-display: 3
+ type: "string"
+ description: "How this Service is monitored."
+ example: "url"
+ enum:
+ - "url"
+ - "tcp"
+ region:
+ example: null
+ type: "string"
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ created:
+ type: "string"
+ description: "__Read-only__ When this Managed Service was created."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ id:
+ readOnly: true
+ example: 9944
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Service's unique ID."
+ status:
+ readOnly: true
+ example: "ok"
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ x-linode-cli-color:
+ default_: "yellow"
+ ok: "green"
+ disabled: "red"
+ x-linode-cli-display: 2
+ description: "__Read-only__ The current status of this Service."
+ type: "string"
+ credentials:
+ items:
+ type: "integer"
+ example: 9991
+ type: "array"
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ consultation_group:
+ maxLength: 50
+ example: "on-call"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ minLength: 0
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-managed-service-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ description: "The fields to update."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-managed-service.json"
+ schema:
+ type: "object"
+ description: "A service that Linode is monitoring as part of your Managed services. If issues are detected with this service, a ManagedIssue will be opened and, optionally, Linode special forces will attempt to resolve the Issue."
+ x-akamai:
+ file-path: "schemas/managed-service.yaml"
+ properties:
+ region:
+ example: null
+ type: "string"
+ description: "The Region in which this Service is located. This is required if address is a private IP, and may not be set otherwise."
+ service_type:
+ type: "string"
+ description: "How this Service is monitored."
+ x-linode-cli-display: 3
+ enum:
+ - "url"
+ - "tcp"
+ example: "url"
+ created:
+ description: "__Read-only__ When this Managed Service was created."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ id:
+ readOnly: true
+ example: 9944
+ x-linode-cli-display: 1
+ description: "__Read-only__ This Service's unique ID."
+ type: "integer"
+ status:
+ readOnly: true
+ example: "ok"
+ enum:
+ - "disabled"
+ - "pending"
+ - "ok"
+ - "problem"
+ x-linode-cli-color:
+ disabled: "red"
+ default_: "yellow"
+ ok: "green"
+ x-linode-cli-display: 2
+ description: "__Read-only__ The current status of this Service."
+ type: "string"
+ credentials:
+ items:
+ example: 9991
+ type: "integer"
+ description: "An array of ManagedCredential IDs that should be used when attempting to resolve issues with this Service."
+ type: "array"
+ consultation_group:
+ example: "on-call"
+ maxLength: 50
+ minLength: 0
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The group of ManagedContacts who should be notified or consulted with when an Issue is detected."
+ address:
+ format: "url"
+ x-linode-cli-display: 5
+ description: "The URL at which this Service is monitored. URL parameters such as `?no-cache=1` are preserved. URL fragments/anchors such as `#monitor` are __not__ preserved."
+ type: "string"
+ minLength: 3
+ maxLength: 100
+ example: "https://example.org"
+ notes:
+ description: "Any information relevant to the Service that Linode special forces should know when attempting to resolve Issues."
+ type: "string"
+ nullable: true
+ example: "The service name is my-cool-application"
+ body:
+ maxLength: 100
+ example: "it worked"
+ minLength: 0
+ description: "What to expect to find in the response body for the Service to be considered up."
+ type: "string"
+ nullable: true
+ timeout:
+ example: 30
+ maximum: 255
+ description: "How long to wait, in seconds, for a response before considering the Service to be down."
+ minimum: 1
+ type: "integer"
+ updated:
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this Managed Service was last updated."
+ format: "date-time"
+ label:
+ minLength: 3
+ x-linode-cli-display: 4
+ type: "string"
+ description: "The label for this Service. This is for display purposes only."
+ maxLength: 64
+ example: "prod-1"
+ pattern: "[a-zA-Z0-9-_ \\.]{3,64}"
+ additionalProperties: false
+ required: true
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-managed-service"
+ operationId: "put-managed-service"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli managed service-update 9994 \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is my-cool-application\" \\\n --credentials 9991"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"service_type\": \"url\",\n \"label\": \"prod-1\",\n \"address\": \"https://example.org\",\n \"timeout\": 30,\n \"body\": \"it worked\",\n \"consultation_group\": \"on-call\",\n \"notes\": \"The service name is my-cool-application\",\n \"credentials\": [\n 9991\n ]\n }' \\\n https://api.linode.com/v4/managed/services/9994"
+ lang: "Shell"
+ -
+ source: "linode-cli managed service-update 9994 \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is my-cool-application\" \\\n --credentials 9991"
+ lang: "CLI"
+ x-linode-grant: "unrestricted only"
+ description: "Updates information about a Managed Service.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-update 9994 \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is my-cool-application\" \\\n --credentials 9991\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "service-update"
+ x-original-op-title: "Managed Service Update"
+ summary: "Update a managed service"
+ x-original-op-id: "updateManagedService"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ x-akamai:
+ file-path: "parameters/service-id-path-d31c71b2.yaml"
+ required: true
+ in: "path"
+ description: "The ID of the Managed Service to access."
+ name: "serviceId"
+ schema:
+ type: "integer"
+ x-linode-cli-command: "managed"
+ /{apiVersion}/profile/phone-number/verify:
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ x-akamai:
+ path-info: "/{apiVersion}/profile/phone-number/verify"
+ file-path: "paths/verify.yaml"
+ post:
+ x-original-op-id: "postProfilePhoneNumberVerify"
+ x-original-op-title: "Phone Number Verify"
+ summary: "Verify a phone number"
+ description: "Verify a phone number by confirming the one-time code received via SMS message after running the [Send a phone number verification code](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number) operation.\n\n- Verification codes are valid for 10 minutes after they are sent.\n\n- Only the same User that made the verification code request can use that code with this operation.\n\nOnce completed, the verified phone number is assigned to the User making the request. To change the verified phone number for a User, first run the [Delete a phone number](https://techdocs.akamai.com/linode-api/reference/delete-profile-phone-number) operation, then begin the verification process again with the [Send a phone number verification code](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli phone verify \\\n --otp_code 123456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "verify"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli phone verify \\\n --otp_code 123456"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"otp_code\": \"123456\"\n }' \\\n https://api.linode.com/v4/profile/phone-number/verify"
+ -
+ lang: "CLI"
+ source: "linode-cli phone verify \\\n --otp_code 123456"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify"
+ operationId: "post-profile-phone-number-verify"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ required:
+ - "otp_code"
+ x-akamai:
+ file-path: "schemas/added-post-profile-phone-number-verify.yaml"
+ properties:
+ otp_code:
+ example: "US"
+ description: "The one-time code received via SMS message after running the [Send a phone number verification code](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number) operation."
+ type: "string"
+ x-example:
+ x-ref: "../examples/post-profile-phone-number-verify.json"
+ description: "Enter a phone verification code for confirmation."
+ responses:
+ 200:
+ description: "Phone number verification successful."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-profile-phone-number-verify-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ x-linode-cli-command: "phone"
+ /{apiVersion}/linode/instances/{linodeId}/backups/{backupId}:
+ x-linode-cli-command: "linodes"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "An object representing a Backup or snapshot for a Linode with Backup service enabled."
+ properties:
+ finished:
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ The date the Backup completed."
+ type: "string"
+ updated:
+ format: "date-time"
+ description: "__Read-only__ The date the Backup was most recently updated."
+ type: "string"
+ readOnly: true
+ example: "2018-01-15T00:01:01"
+ status:
+ readOnly: true
+ enum:
+ - "paused"
+ - "pending"
+ - "running"
+ - "needsPostProcessing"
+ - "successful"
+ - "failed"
+ - "userAborted"
+ example: "successful"
+ x-linode-cli-color:
+ successful: "green"
+ userAborted: "f"
+ default_: "yellow"
+ failed: "red"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The current state of a specific Backup."
+ disks:
+ type: "array"
+ description: "__Read-only__ A list of the disks that are part of the Backup."
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ filesystem:
+ x-linode-cli-display: 5
+ type: "string"
+ description: "The Disk filesystem can be one of:\n\n - raw - No filesystem, just a raw binary stream.\n - swap - Linux swap area.\n - ext3 - The ext3 journaling filesystem for Linux.\n - ext4 - The ext4 journaling filesystem for Linux.\n - initrd - initrd (uncompressed initrd, ext2, max 32 MB)."
+ example: "ext4"
+ enum:
+ - "raw"
+ - "swap"
+ - "ext3"
+ - "ext4"
+ - "initrd"
+ label:
+ example: "My Debian 9 Disk"
+ type: "string"
+ size:
+ type: "integer"
+ example: 9001
+ readOnly: true
+ type:
+ description: "__Read-only__ This indicates whether the Backup is an automatic Backup or manual snapshot taken by the User at a specific point in time."
+ type: "string"
+ x-linode-cli-display: 3
+ example: "snapshot"
+ enum:
+ - "auto"
+ - "snapshot"
+ readOnly: true
+ label:
+ example: "Webserver-Backup-2018"
+ description: "A label for Backups that are of type `snapshot`."
+ type: "string"
+ nullable: true
+ x-linode-cli-display: 5
+ available:
+ type: "boolean"
+ description: "__Read-only__ Whether this Backup is available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ example: true
+ readOnly: true
+ configs:
+ type: "array"
+ description: "__Read-only__ A list of the labels of the Configuration profiles that are part of the Backup."
+ items:
+ type: "string"
+ example: "My Debian 9 Config"
+ readOnly: true
+ created:
+ example: "2018-01-15T00:01:01"
+ readOnly: true
+ description: "__Read-only__ The date the Backup was taken."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 4
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of this Backup."
+ type: "integer"
+ readOnly: true
+ example: 123456
+ x-akamai:
+ file-path: "schemas/backup.yaml"
+ x-example:
+ x-ref: "../examples/get-backup-200.json"
+ description: "A single Backup."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ summary: "Get a backup"
+ x-original-op-title: "Backup View"
+ x-original-op-id: "getBackup"
+ operationId: "get-backup"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-backup"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances/123/backups/123456"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes backup-view 123 123456"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli linodes backup-view 123 123456"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_only"
+ x-linode-cli-action: "backup-view"
+ x-linode-grant: "read_only"
+ description: "Returns information about a Backup.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes backup-view 123 123456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-akamai:
+ file-path: "paths/linode-backup.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/backups/{backupId}"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ description: "The ID of the Linode the Backup belongs to."
+ name: "linodeId"
+ x-akamai:
+ file-path: "parameters/linode-id-path-2f961b69.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ required: true
+ -
+ description: "The ID of the Backup to look up."
+ name: "backupId"
+ x-akamai:
+ file-path: "parameters/backup-id-path-4ea00e5a.yaml"
+ in: "path"
+ schema:
+ type: "integer"
+ required: true
+ /{apiVersion}/managed/credentials/{credentialId}:
+ x-akamai:
+ file-path: "paths/credential.yaml"
+ path-info: "/{apiVersion}/managed/credentials/{credentialId}"
+ put:
+ x-original-op-title: "Managed Credential Update"
+ summary: "Update a managed credential"
+ x-original-op-id: "updateManagedCredential"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-managed-credential"
+ operationId: "put-managed-credential"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli managed credential-update 9991 \\\n --label prod-password-1"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"label\": \"prod-password-1\"\n }' \\\n https://api.linode.com/v4/managed/credentials/9991"
+ -
+ lang: "CLI"
+ source: "linode-cli managed credential-update 9991 \\\n --label prod-password-1"
+ description: "Updates the label of a Managed Credential. This operation does not update the username and password for a Managed Credential. To do this, run the [Update a managed credential's username and password](https://techdocs.akamai.com/linode-api/reference/post-managed-credential-username-password)) operation instead. This operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-update 9991 \\\n --label prod-password-1\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ x-linode-cli-action: "credential-update"
+ tags:
+ - "Managed"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ responses:
+ 200:
+ description: "Credential updated successfully."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "A securely-stored Credential that allows Linode's special forces to access a Managed server to respond to Issues."
+ x-akamai:
+ file-path: "schemas/managed-credential.yaml"
+ properties:
+ id:
+ type: "integer"
+ description: "__Read-only__ This Credential's unique ID."
+ x-linode-cli-display: 1
+ example: 9991
+ readOnly: true
+ label:
+ maxLength: 75
+ example: "prod-password-1"
+ pattern: "[a-zA-Z0-9-_ \\.]{2,75}"
+ minLength: 2
+ type: "string"
+ description: "The unique label for this Credential. This is for display purposes only."
+ x-linode-cli-display: 2
+ last_decrypted:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-cli-display: 3
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date this Credential was last decrypted by a member of Linode special forces."
+ x-example:
+ x-ref: "../examples/get-managed-credential-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ type: "object"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-managed-credential.json"
+ schema:
+ additionalProperties: false
+ properties:
+ last_decrypted:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Read-only__ The date this Credential was last decrypted by a member of Linode special forces."
+ id:
+ example: 9991
+ readOnly: true
+ description: "__Read-only__ This Credential's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ label:
+ maxLength: 75
+ example: "prod-password-1"
+ pattern: "[a-zA-Z0-9-_ \\.]{2,75}"
+ minLength: 2
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The unique label for this Credential. This is for display purposes only."
+ x-akamai:
+ file-path: "schemas/managed-credential.yaml"
+ type: "object"
+ description: "A securely-stored Credential that allows Linode's special forces to access a Managed server to respond to Issues."
+ description: "The fields to update."
+ required: true
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/managed-credential.yaml"
+ properties:
+ label:
+ pattern: "[a-zA-Z0-9-_ \\.]{2,75}"
+ maxLength: 75
+ example: "prod-password-1"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The unique label for this Credential. This is for display purposes only."
+ minLength: 2
+ id:
+ readOnly: true
+ example: 9991
+ x-linode-cli-display: 1
+ description: "__Read-only__ This Credential's unique ID."
+ type: "integer"
+ last_decrypted:
+ x-linode-cli-display: 3
+ format: "date-time"
+ description: "__Read-only__ The date this Credential was last decrypted by a member of Linode special forces."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ type: "object"
+ description: "A securely-stored Credential that allows Linode's special forces to access a Managed server to respond to Issues."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-managed-credential-200.json"
+ description: "The requested Managed Credential."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Managed"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/managed/credentials/9991"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli managed credential-view 9991"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli managed credential-view 9991"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action: "credential-view"
+ description: "Returns a single Managed Credential.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-view 9991\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "unrestricted only"
+ operationId: "get-managed-credential"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-managed-credential"
+ x-original-op-id: "getManagedCredential"
+ summary: "Get a managed credential"
+ x-original-op-title: "Managed Credential View"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ -
+ schema:
+ type: "integer"
+ name: "credentialId"
+ description: "The ID of the Credential to access."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/credential-id-path.yaml"
+ required: true
+ x-linode-cli-command: "managed"
+ /{apiVersion}/domains:
+ post:
+ summary: "Create a domain"
+ x-original-op-title: "Domain Create"
+ x-original-op-id: "createDomain"
+ operationId: "post-domain"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-domain"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"domain\": \"example.com\",\n \"type\": \"master\",\n \"soa_email\": \"admin@example.com\",\n \"description\": \"Example Description\",\n \"refresh_sec\": 14400,\n \"retry_sec\": 3600,\n \"expire_sec\": 604800,\n \"ttl_sec\": 3600,\n \"status\": \"active\",\n \"master_ips\": [\"127.0.0.1\",\"255.255.255.1\",\"123.123.123.7\"],\n \"axfr_ips\": [\"44.55.66.77\"],\n \"group\": \"Example Display Group\",\n \"tags\": [\"tag1\",\"tag2\"]\n }' \\\n https://api.linode.com/v4/domains"
+ -
+ source: "linode-cli domains create \\\n --type master \\\n --domain example.org \\\n --soa_email admin@example.org"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli domains create \\\n --type master \\\n --domain example.org \\\n --soa_email admin@example.org"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "domains:read_write"
+ x-linode-cli-action: "create"
+ description: "Adds a new Domain to Linode's DNS Manager. Linode is not a registrar, and you must own the domain before adding it here. Be sure to point your registrar to Linode's nameservers so that the records hosted here are used.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains create \\\n --type master \\\n --domain example.org \\\n --soa_email admin@example.org\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "add_domains"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_write"
+ tags:
+ - "Domains"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-domain-200.json"
+ schema:
+ type: "object"
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ properties:
+ axfr_ips:
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ type: "array"
+ items:
+ type: "string"
+ format: "ip"
+ example: []
+ soa_email:
+ type: "string"
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ x-linode-cli-display: 5
+ format: "email"
+ example: "admin@example.org"
+ description:
+ description: "A description for this Domain. This is for display purposes only."
+ type: "string"
+ example: null
+ maxLength: 253
+ minLength: 1
+ type:
+ type: "string"
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ x-linode-cli-display: 3
+ enum:
+ - "master"
+ - "slave"
+ example: "master"
+ master_ips:
+ example: []
+ items:
+ format: "ip"
+ type: "string"
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ type: "array"
+ ttl_sec:
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ default: 0
+ example: 300
+ retry_sec:
+ default: 0
+ type: "integer"
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ example: 300
+ status:
+ x-linode-cli-color:
+ active: "green"
+ default_: "red"
+ disabled: "yellow"
+ edit_mode: "yellow"
+ default: "active"
+ enum:
+ - "disabled"
+ - "active"
+ example: "active"
+ description: "Used to control whether this Domain is currently being rendered."
+ type: "string"
+ x-linode-cli-display: 4
+ domain:
+ example: "example.org"
+ maxLength: 253
+ x-linode-filterable: true
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ group:
+ x-linode-filterable: true
+ deprecated: true
+ maxLength: 50
+ example: null
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ type: "string"
+ minLength: 1
+ expire_sec:
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ type: "integer"
+ default: 0
+ example: 300
+ refresh_sec:
+ example: 300
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ default: 0
+ tags:
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ id:
+ example: 1234
+ readOnly: true
+ description: "__Read-only__ This Domain's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ additionalProperties: false
+ title: "Domain"
+ description: "Domain added successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-domain.json"
+ schema:
+ allOf:
+ -
+ additionalProperties: false
+ title: "Domain"
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ properties:
+ master_ips:
+ example: []
+ items:
+ format: "ip"
+ type: "string"
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ type: "array"
+ ttl_sec:
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ default: 0
+ example: 300
+ retry_sec:
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ default: 0
+ example: 300
+ axfr_ips:
+ items:
+ format: "ip"
+ type: "string"
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ type: "array"
+ example: []
+ soa_email:
+ format: "email"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ example: "admin@example.org"
+ description:
+ description: "A description for this Domain. This is for display purposes only."
+ type: "string"
+ minLength: 1
+ example: null
+ maxLength: 253
+ type:
+ enum:
+ - "master"
+ - "slave"
+ example: "master"
+ x-linode-cli-display: 3
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ type: "string"
+ refresh_sec:
+ example: 300
+ type: "integer"
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ default: 0
+ tags:
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ id:
+ readOnly: true
+ example: 1234
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This Domain's unique ID."
+ status:
+ default: "active"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "Used to control whether this Domain is currently being rendered."
+ x-linode-cli-color:
+ default_: "red"
+ active: "green"
+ disabled: "yellow"
+ edit_mode: "yellow"
+ enum:
+ - "disabled"
+ - "active"
+ example: "active"
+ domain:
+ x-linode-filterable: true
+ maxLength: 253
+ example: "example.org"
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ group:
+ example: null
+ maxLength: 50
+ deprecated: true
+ x-linode-filterable: true
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ type: "string"
+ expire_sec:
+ example: 300
+ default: 0
+ type: "integer"
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ type: "object"
+ required:
+ - "domain"
+ - "type"
+ x-akamai:
+ file-path: "schemas/added-post-domain.yaml"
+ description: "Information about the domain you are registering."
+ required: true
+ x-linode-cli-command: "domains"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ pages:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ type: "object"
+ properties:
+ group:
+ deprecated: true
+ x-linode-filterable: true
+ example: null
+ maxLength: 50
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ minLength: 1
+ expire_sec:
+ default: 0
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ type: "integer"
+ example: 300
+ domain:
+ type: "string"
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 1
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ x-linode-filterable: true
+ example: "example.org"
+ maxLength: 253
+ status:
+ description: "Used to control whether this Domain is currently being rendered."
+ type: "string"
+ x-linode-cli-display: 4
+ enum:
+ - "disabled"
+ - "active"
+ example: "active"
+ x-linode-cli-color:
+ edit_mode: "yellow"
+ disabled: "yellow"
+ active: "green"
+ default_: "red"
+ default: "active"
+ id:
+ example: 1234
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This Domain's unique ID."
+ x-linode-cli-display: 1
+ tags:
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ refresh_sec:
+ example: 300
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ default: 0
+ description:
+ description: "A description for this Domain. This is for display purposes only."
+ type: "string"
+ minLength: 1
+ maxLength: 253
+ example: null
+ type:
+ x-linode-cli-display: 3
+ type: "string"
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ enum:
+ - "master"
+ - "slave"
+ example: "master"
+ soa_email:
+ example: "admin@example.org"
+ format: "email"
+ x-linode-cli-display: 5
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ type: "string"
+ axfr_ips:
+ items:
+ format: "ip"
+ type: "string"
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ type: "array"
+ example: []
+ ttl_sec:
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ default: 0
+ example: 300
+ retry_sec:
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ default: 0
+ example: 300
+ master_ips:
+ example: []
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ type: "array"
+ items:
+ type: "string"
+ format: "ip"
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ title: "Domain"
+ x-akamai:
+ file-path: "schemas/added-get-domains-200.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-domains-200.json"
+ description: "A paginated list of Domains you have registered."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_only"
+ tags:
+ - "Domains"
+ operationId: "get-domains"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-domains"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/domains"
+ -
+ lang: "CLI"
+ source: "linode-cli domains list"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli domains list"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "domains:read_only"
+ title: "OAuth scopes"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ x-linode-grant: "read_only"
+ description: "This is a collection of Domains that you have registered in Linode's DNS Manager. Linode is not a registrar, and in order for these to work you must own the domains and point your registrar at Linode's nameservers.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ summary: "List domains"
+ x-original-op-title: "Domains List"
+ x-original-op-id: "getDomains"
+ parameters:
+ -
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ description: "The page of a collection to return."
+ name: "page"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ in: "query"
+ -
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ x-akamai:
+ path-info: "/{apiVersion}/domains"
+ file-path: "paths/domains.yaml"
+ /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/access:
+ post:
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-object-storage-bucket-access"
+ operationId: "post-object-storage-bucket-access"
+ x-linode-cli-skip: true
+ description: "Apply basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings. You can configure CORS for all origins and set canned ACL settings.\n\n> 📘\n>\n> For more fine-grained control of both systems, use the [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#put-bucket-acl).\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "object_storage:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\ -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"cors_enabled\": true,\n \"acl\": \"private\"\n }' \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/access"
+ x-original-op-title: "Object Storage Bucket Access Modify"
+ summary: "Modify access to an Object Storage bucket"
+ x-original-op-id: "modifyObjectStorageBucketAccess"
+ responses:
+ 200:
+ description: "Access controls updated."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-object-storage-bucket-access-200.json"
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ requestBody:
+ description: "The changes to make to the bucket's access controls."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-object-storage-bucket-access.json"
+ schema:
+ type: "object"
+ properties:
+ acl:
+ enum:
+ - "private"
+ - "public-read"
+ - "authenticated-read"
+ - "public-read-write"
+ - "custom"
+ example: "private"
+ description: "The Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly."
+ type: "string"
+ cors_enabled:
+ example: true
+ description: "If true, the bucket will be created with CORS enabled for all origins. For more fine-grained controls of CORS, use the S3 API directly."
+ type: "boolean"
+ x-akamai:
+ file-path: "schemas/added-post-object-storage-bucket-access.yaml"
+ additionalProperties: false
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ x-akamai:
+ path-info: "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/access"
+ file-path: "paths/access.yaml"
+ put:
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-put-storage-bucket-access.yaml"
+ properties:
+ cors_enabled:
+ example: true
+ type: "boolean"
+ description: "If true, the bucket will be created with CORS enabled for all origins. For more fine-grained controls of CORS, use the S3 API directly."
+ acl:
+ type: "string"
+ description: "The Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly."
+ example: "private"
+ enum:
+ - "private"
+ - "public-read"
+ - "authenticated-read"
+ - "public-read-write"
+ - "custom"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/put-storage-bucket-access.json"
+ description: "The changes to make to the bucket's access controls."
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-storage-bucket-access-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ description: "Access controls updated."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "updateObjectStorageBucketAccess"
+ x-original-op-title: "Object Storage Bucket Access Update"
+ summary: "Update access to an Object Storage bucket"
+ description: "Update basic Cross-origin Resource Sharing (CORS) and Access Control Level (ACL) settings. You can configure CORS for all origins and set canned ACL settings.\n\n> 📘\n>\n> For more fine-grained control of both systems, use the [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/bucketops/#put-bucket-acl).\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-akamai:
+ tabs:
+ -
+ title: "OAuth scopes"
+ syntax: "object_storage:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\ -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"cors_enabled\": true,\n \"acl\": \"private\"\n }' \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/access"
+ lang: "Shell"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-storage-bucket-access"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-linode-cli-skip: true
+ operationId: "put-storage-bucket-access"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ schema:
+ type: "string"
+ required: true
+ description: "Identifies a region where this bucket lives.\n\n> 📘\n>\n> You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`."
+ name: "regionId"
+ x-akamai:
+ file-path: "parameters/region-id-obj.yaml"
+ in: "path"
+ -
+ schema:
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/bucket.yaml"
+ in: "path"
+ description: "The bucket name."
+ name: "bucket"
+ /{apiVersion}/linode/instances/{linodeId}/resize:
+ post:
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"type\": \"g6-standard-2\"\n }' \\\n https://api.linode.com/v4/linode/instances/123/resize"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes resize 123 \\\n --type g6-standard-2"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli linodes resize 123 \\\n --type g6-standard-2"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action: "resize"
+ x-linode-grant: "read_write"
+ description: "Resizes a Linode you have the `read_write` permission to a different Type. If any actions are currently running or queued, those actions must be completed first before you can initiate a resize. Additionally, the following criteria must be met in order to resize a Linode:\n\n - The Linode must not have a pending migration.\n - Your Account cannot have an outstanding balance.\n - The Linode must not have more disk allocation than the new Type allows.\n - In that situation, you must first delete or resize the disk to be smaller.\n\nYou can also resize a Linode when using the [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes resize 123 \\\n --type g6-standard-2\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "post-resize-linode-instance"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "resizeLinodeInstance"
+ summary: "Resize a Linode"
+ x-original-op-title: "Linode Resize"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ migration_type:
+ description: "Type of migration used in moving to a new host or Linode type.\n\n`warm`: the Linode will not power down until the migration is complete.\nWarm migrations are not available for DC migrations.\n\n`cold`: the Linode will be powered down and migrated. When the migration\nis complete, the Linode will be powered on."
+ type: "string"
+ default: "cold"
+ enum:
+ - "warm"
+ - "cold"
+ example: "warm"
+ type:
+ example: "g6-standard-2"
+ type: "string"
+ description: "The ID representing the Linode Type."
+ x-linode-cli-display: 1
+ allow_auto_disk_resize:
+ description: "Automatically resize disks when resizing a Linode. When resizing down to a smaller plan your Linode's data must fit within the smaller disk size."
+ type: "boolean"
+ default: true
+ example: true
+ x-akamai:
+ file-path: "schemas/added-post-resize-linode-instance.yaml"
+ required:
+ - "type"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-resize-linode-instance.json"
+ description: "The Type your current Linode will resize to, and whether to attempt to automatically resize the Linode's disks."
+ required: true
+ responses:
+ 200:
+ description: "Resize started."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-resize-linode-instance-200.json"
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ required: true
+ schema:
+ type: "integer"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/linode-id-path-0d41ac92.yaml"
+ name: "linodeId"
+ description: "ID of the Linode to resize."
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/resize"
+ file-path: "paths/linode-resize.yaml"
+ /{apiVersion}/account/child-accounts/{euuid}/token:
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/eeuid.yaml"
+ required: true
+ name: "euuid"
+ description: "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`."
+ schema:
+ type: "string"
+ x-akamai:
+ path-info: "/{apiVersion}/account/child-accounts/{euuid}/token"
+ file-path: "paths/child-account-token.yaml"
+ post:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-child-account-token"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-child-account-token"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli child-account create A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ -
+ title: "OAuth scopes"
+ syntax: "child_account:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/child-accounts/A1BC2DEF-34GH-567I-J890KLMN12O34P56/token"
+ -
+ lang: "CLI"
+ source: "linode-cli child-account create A1BC2DEF-34GH-567I-J890KLMN12O34P56"
+ description: "Create a short-lived bearer token for a parent user on a child account, using the `euuid` of that child account. In the context of the API, a parent user on a child account is referred to as a \"proxy user.\" When Akamai provisions your parent-child account environment, a proxy user is automatically set in the child account. It follows a specific naming convention:\n\n _\n\n__Note__. The variables above use only the first 15 and 16 characters of these values, respectively.\n\nThe token lets a parent account run API operations through the proxy user, as if they are a child user in the child account.\n\nThese points apply to the use of this operation:\n\n- To create a token, a parent account user needs the `child_account_access` grant. This lets them use the proxy user on the child account. You can run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) on a parent account user to check its `child_account_access` setting. To add this access, you can [update](https://techdocs.akamai.com/linode-api/reference/put-user-grants) the parent account user.\n\n- The created token inherits the permissions of the proxy user. It will never have less.\n\n- The API returns the raw token in the response. You can't get it again, so be sure to store it.\n\nExample workflow:\n\n1. [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) and store the `euuid` for the applicable one.\n2. Run this operation and store the `token` that's created for the proxy user.\n3. As a parent account user with access to the proxy user in the child account, use this `token` to authenticate API operations, as if you were a child user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account create A1BC2DEF-34GH-567I-J890KLMN12O34P56\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "child_account_access"
+ x-linode-cli-action:
+ - "create"
+ x-original-op-title: "Proxy User Token Create"
+ summary: "Create a proxy user token"
+ x-original-op-id: "createChildAccountToken"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-child-account-token-200.json"
+ schema:
+ properties:
+ expiry:
+ example: "2024-05-01T00:16:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this token expires. This is default set to 15 minutes from the time of creation. Proxy user tokens can't be renewed. After this time, Akamai revokes the token and you need to generate a new one."
+ x-linode-cli-display: 6
+ format: "date-time"
+ created:
+ description: "__Filterable__, __Read-only__ The date and time this token was created."
+ type: "string"
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "2024-05-01T00:01:01"
+ x-linode-filterable: true
+ readOnly: true
+ scopes:
+ x-linode-cli-display: 3
+ format: "oauth-scopes"
+ type: "string"
+ description: "__Read-only__ The scopes this token was created with. Defaults to `*`. Proxy user tokens automatically inherit all the permissions of the proxy user."
+ readOnly: true
+ example: "*"
+ token:
+ example: "abcdefghijklmnop"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The proxy user token that can be used to access the API and CLI. After you [create](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) a token, you can see the full token in the response. All other operations that contain this token only show the first 16 characters in their response."
+ x-linode-cli-display: 5
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The proxy user token's unique ID, which can be used to revoke it."
+ readOnly: true
+ example: 918
+ label:
+ x-linode-filterable: true
+ example: "parent1_1234_2024-05-01T00:01:01"
+ maxLength: 100
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The name of the token. The API automatically sets this to `__`. It's composed of the `username` for your parent account user, the unique `uid` Akamai assigned to identify your user, and the `time` the API generated the token. This is for display purposes only, but you can use it to help track how you're using each proxy user token."
+ minLength: 1
+ x-akamai:
+ file-path: "schemas/proxy-user-token.yaml"
+ type: "object"
+ description: "The token generated manually for a child account so its proxy user can access the API and CLI without going through an OAuth login."
+ additionalProperties: false
+ description: "Token created successfully."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "child_account:read_write"
+ x-linode-cli-command: "child-account"
+ /{apiVersion}/account/oauth-clients/{clientId}/reset-secret:
+ x-akamai:
+ path-info: "/{apiVersion}/account/oauth-clients/{clientId}/reset-secret"
+ file-path: "paths/reset-secret.yaml"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ schema:
+ type: "string"
+ description: "The OAuth Client ID to look up."
+ name: "clientId"
+ required: true
+ x-akamai:
+ file-path: "parameters/client-id-path.yaml"
+ in: "path"
+ x-linode-cli-command: "account"
+ post:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-reset-client-secret"
+ operationId: "post-reset-client-secret"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-reset-client-secret-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/oauth-client.yaml"
+ properties:
+ redirect_uri:
+ x-linode-cli-display: 5
+ format: "url"
+ description: "The location a successful log in from [login.linode.com](https://login.linode.com) should be redirected to for this client. The receiver of this redirect should be ready to accept an OAuth exchange code and finish the OAuth exchange."
+ type: "string"
+ example: "https://example.org/oauth/callback"
+ secret:
+ readOnly: true
+ example: ""
+ type: "string"
+ description: "__Read-only__ The OAuth Client secret, used in the OAuth exchange. This is returned as `` except when an OAuth Client is created or its secret is reset. This is a secret, and should not be shared or disclosed publicly."
+ id:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The OAuth Client ID. This is used to identify the client, and is a publicly-known value (it is not a secret)."
+ readOnly: true
+ example: "2737bf16b39ab5d7b4a1"
+ thumbnail_url:
+ example: "https://api.linode.com/v4/account/clients/2737bf16b39ab5d7b4a1/thumbnail"
+ readOnly: true
+ nullable: true
+ description: "__Read-only__ The URL where this client's thumbnail may be viewed, or `null` if this client does not have a thumbnail set."
+ type: "string"
+ format: "url"
+ status:
+ x-linode-cli-color:
+ default_: "white"
+ suspended: "red"
+ description: "__Read-only__ The status of this application. `active` by default."
+ type: "string"
+ x-linode-cli-display: 3
+ example: "active"
+ enum:
+ - "active"
+ - "disabled"
+ - "suspended"
+ readOnly: true
+ public:
+ description: "__Filterable__ If this is a public or private OAuth Client. Public clients have a slightly different authentication workflow than private clients. See the [OAuth spec](https://oauth.net/2/) for more details."
+ type: "boolean"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ default: false
+ example: false
+ x-linode-filterable: true
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ The name of this application. This will be presented to users when they are asked to grant it access to their Account."
+ type: "string"
+ minLength: 1
+ x-linode-filterable: true
+ example: "Test_Client_1"
+ maxLength: 512
+ description: "A third-party application registered to Linode that users may log into with their Linode account through our authentication server at [login.linode.com](https://login.linode.com). Using an OAuth Client, a third-party developer may be given access to some, or all, of a User's account for the purposes of their application."
+ type: "object"
+ additionalProperties: false
+ description: "Client secret reset successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account client-reset-secret \\\n edc6790ea9db4d224c5c"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/reset-secret"
+ -
+ lang: "CLI"
+ source: "linode-cli account client-reset-secret \\\n edc6790ea9db4d224c5c"
+ description: "Resets the OAuth Client secret for a client you own, and returns the OAuth Client with the plaintext secret. This secret is not supposed to be publicly known or disclosed anywhere. This can be used to generate a new secret in case the one you have has been leaked, or to get a new secret if you lost the original. The old secret is expired immediately, and logins to your client with the old secret will fail.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account client-reset-secret \\\n edc6790ea9db4d224c5c\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "client-reset-secret"
+ x-original-op-title: "OAuth Client Secret Reset"
+ summary: "Reset an OAuth client secret"
+ x-original-op-id: "resetClientSecret"
+ tags:
+ - "Account"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ /{apiVersion}/account/notifications:
+ x-akamai:
+ file-path: "paths/notifications.yaml"
+ path-info: "/{apiVersion}/account/notifications"
+ get:
+ responses:
+ 200:
+ description: "Returns a paginated list of Notification objects."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-notifications-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ results:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ data:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/notification.yaml"
+ properties:
+ severity:
+ readOnly: true
+ example: "major"
+ enum:
+ - "minor"
+ - "major"
+ - "critical"
+ x-linode-cli-color:
+ default_: "white"
+ critical: "b"
+ minor: "blue"
+ x-linode-cli-display: 3
+ description: "__Read-only__ The severity of this Notification. This field can be used to decide how prominently to display the Notification, what color to make the display text, etc."
+ type: "string"
+ when:
+ x-linode-cli-display: 4
+ format: "date-time"
+ description: "__Read-only__ If this Notification is of an Event that will happen at a fixed, future time, this is when the named action will be taken. For example, if a Linode is to be migrated in response to a Security Advisory, this field will contain the approximate time the Linode will be taken offline for migration."
+ type: "string"
+ readOnly: true
+ example: null
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ until:
+ readOnly: true
+ example: null
+ x-linode-cli-display: 5
+ format: "date-time"
+ x-linode-cli-color:
+ None: "black"
+ default_: "white"
+ description: "__Read-only__ If this Notification has a duration, this will be the ending time for the Event/action. For example, if there is scheduled maintenance for one of our systems, `until` would be set to the end of the maintenance window."
+ type: "string"
+ message:
+ readOnly: true
+ example: "You have an important ticket open!"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ A human-readable description of the Notification."
+ body:
+ type: "string"
+ description: "__Read-only__ A full description of this Notification, in markdown format. Not all Notifications include bodies."
+ nullable: true
+ readOnly: true
+ example: null
+ label:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ A short description of this Notification."
+ readOnly: true
+ example: "You have an important ticket open!"
+ type:
+ description: "__Read-only__ The type of Notification this is."
+ type: "string"
+ enum:
+ - "migration_scheduled"
+ - "migration_imminent"
+ - "migration_pending"
+ - "reboot_scheduled"
+ - "outage"
+ - "payment_due"
+ - "ticket_important"
+ - "ticket_abuse"
+ - "notice"
+ - "maintenance"
+ - "promotion"
+ example: "ticket_important"
+ readOnly: true
+ entity:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ id:
+ example: 3456
+ description: "The unique ID of the Notification's entity, based on the entity type.\n\nReturns `null` for the following entity types:\n\n- `account`\n- `promotion`"
+ type: "integer"
+ nullable: true
+ url:
+ nullable: true
+ description: "The URL where you can access the object this Notification is for. If a relative URL, it is relative to the domain you retrieved the Notification from.\n\nReturns `null` for the `promotion` entity type."
+ type: "string"
+ example: "/support/tickets/3456"
+ label:
+ nullable: true
+ type: "string"
+ description: "The current label for this Notification's entity.\n\nReturns `null` for the following entity types:\n\n- `entity_transfer`\n- `promotion`\n- `region`"
+ example: "Linode not booting."
+ type:
+ description: "The type of entity this is related to."
+ type: "string"
+ enum:
+ - "account"
+ - "entity_transfer"
+ - "linode"
+ - "loadbalancers"
+ - "nodebalancer"
+ - "promotion"
+ - "region"
+ - "ticket"
+ - "volume"
+ example: "ticket"
+ description: "__Read-only__ Detailed information about the Notification."
+ type: "object"
+ description: "An important, often time-sensitive item related to your Account."
+ type: "object"
+ type: "array"
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/added-get-notifications-200.yaml"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Account"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/notifications"
+ -
+ lang: "CLI"
+ source: "linode-cli account notifications-list"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli account notifications-list"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ x-linode-cli-action: "notifications-list"
+ x-linode-grant: "read_only"
+ description: "Returns a collection of Notification objects representing important, often time-sensitive items related to your Account. You cannot interact directly with Notifications, and a Notification will disappear when the circumstances causing it have been resolved. For example, if you have an important Ticket open, you must respond to the Ticket to dismiss the Notification.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account notifications-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-notifications"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-notifications"
+ x-original-op-id: "getNotifications"
+ summary: "List notifications"
+ x-original-op-title: "Notifications List"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ x-linode-cli-command: "account"
+ /{apiVersion}/profile/phone-number:
+ post:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Profile"
+ responses:
+ 200:
+ description: "Phone number verification code request successful."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-profile-phone-number-200.json"
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "object"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-profile-phone-number.json"
+ schema:
+ additionalProperties: false
+ properties:
+ iso_code:
+ type: "string"
+ description: "The two-letter ISO 3166 country code associated with the phone number."
+ example: "US"
+ phone_number:
+ example: "555-555-5555"
+ type: "string"
+ description: "A valid phone number."
+ format: "phone"
+ required:
+ - "iso_code"
+ - "phone_number"
+ x-akamai:
+ file-path: "schemas/added-post-profile-phone-number.yaml"
+ type: "object"
+ description: "Enter a phone number and country code for verification."
+ summary: "Send a phone number verification code"
+ x-original-op-title: "Phone Number Verification Code Send"
+ x-original-op-id: "postProfilePhoneNumber"
+ operationId: "post-profile-phone-number"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"iso_code\": \"US\",\n \"phone_number\": \"555-555-5555\"\n }' \\\n https://api.linode.com/v4/profile/phone-number"
+ -
+ source: "linode-cli phone sms-code-send \\\n --iso-code US \\\n --phone-number 555-555-5555"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli phone sms-code-send \\\n --iso-code US \\\n --phone-number 555-555-5555"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ x-linode-cli-action: "sms-code-send"
+ description: "Send a one-time verification code via SMS message to the submitted phone number. Providing your phone number helps ensure you can securely access your Account in case other ways to connect are lost. Your phone number is only used to verify your identity by sending an SMS message. Standard carrier messaging fees may apply.\n\n- By accessing this operation you are opting in to receive SMS messages. You can opt out of SMS messages by running the [Delete a phone number](https://techdocs.akamai.com/linode-api/reference/delete-profile-phone-number) operation after your phone number is verified.\n\n- Verification codes are valid for 10 minutes after they are sent.\n\n- Subsequent requests made prior to code expiration result in sending the same code.\n\nOnce a verification code is received, verify your phone number with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli phone sms-code-send \\\n --iso-code US \\\n --phone-number 555-555-5555\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-command: "phone"
+ parameters:
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ x-akamai:
+ file-path: "paths/phone-number.yaml"
+ path-info: "/{apiVersion}/profile/phone-number"
+ delete:
+ x-original-op-title: "Phone Number Delete"
+ summary: "Delete a phone number"
+ tags:
+ - "Profile"
+ x-original-op-id: "deleteProfilePhoneNumber"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-profile-phone-number"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-profile-phone-number"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-profile-phone-number-200.json"
+ schema:
+ additionalProperties: false
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ description: "The API responds with an empty object."
+ type: "object"
+ description: "Phone number deletion request successful."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli phone delete"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/profile/phone-number"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli phone delete"
+ x-linode-grant: "read_write"
+ description: "Delete the verified phone number for the User making this request.\n\nUse this operation to opt out of SMS messages for the requesting User after a phone number has been verified with the [Verify a phone number](https://techdocs.akamai.com/linode-api/reference/post-profile-phone-number-verify) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli phone delete\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "delete"
+ /{apiVersion}/networking/firewalls/{firewallId}/devices:
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "firewall:read_only"
+ tags:
+ - "Networking"
+ responses:
+ 200:
+ description: "A paginated list of Firewall Devices."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-firewall-devices-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ example:
+ -
+ updated: "2018-01-02 00:01:01"
+ created: "2018-01-01 00:01:01"
+ entity:
+ id: 123
+ label: "my-linode"
+ type: "linode"
+ url: "/v4/linode/instances/123"
+ id: 456
+ -
+ created: "2018-01-01 00:01:01"
+ updated: "2018-01-02 00:01:01"
+ entity:
+ id: 321
+ type: "nodebalancer"
+ url: "/v4/nodebalancers/123"
+ label: "my-nodebalancer"
+ id: 654
+ items:
+ additionalProperties: false
+ properties:
+ id:
+ example: 123
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "integer"
+ description: "__Filterable__ The Device's unique ID."
+ entity:
+ properties:
+ id:
+ example: 123
+ description: "The entity's ID."
+ type: "integer"
+ label:
+ readOnly: true
+ example: "my-linode"
+ type: "string"
+ description: "__Read-only__ The entity's label."
+ type:
+ description: "The entity's type."
+ type: "string"
+ enum:
+ - "linode"
+ - "nodebalancer"
+ example: "linode"
+ url:
+ type: "string"
+ description: "__Read-only__ The API URL path you can use to access this entity."
+ format: "url"
+ example: "/v4/linode/instances/123"
+ readOnly: true
+ description: "__Read-only__ The compute service that this Firewall has been applied to."
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ updated:
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this Device was last updated."
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "2018-01-02T00:01:01"
+ x-linode-filterable: true
+ readOnly: true
+ created:
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ When this Device was created."
+ type: "string"
+ x-linode-cli-display: 3
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-akamai:
+ file-path: "schemas/firewall-devices.yaml"
+ type: "object"
+ description: "Associates a Firewall with a Linode or NodeBalancer service. A Firewall can be assigned to a single entity at a time. Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service."
+ type: "array"
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ readOnly: true
+ example: 1
+ x-akamai:
+ file-path: "schemas/added-get-firewall-devices-200.yaml"
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ parameters:
+ -
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ -
+ schema:
+ default: 100
+ maximum: 500
+ type: "integer"
+ minimum: 25
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ x-original-op-id: "getFirewallDevices"
+ summary: "List firewall devices"
+ x-original-op-title: "Firewall Devices List"
+ x-linode-cli-action: "devices-list"
+ x-linode-grant: "read_only"
+ description: "Returns a paginated list of a Firewall's Devices. A Firewall Device assigns a Firewall to a service (referred to as the Device's `entity`).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls devices-list 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/networking/firewalls/123/devices"
+ -
+ lang: "CLI"
+ source: "linode-cli firewalls devices-list 123"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli firewalls devices-list 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "firewall:read_only"
+ title: "OAuth scopes"
+ operationId: "get-firewall-devices"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-firewall-devices"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-akamai:
+ file-path: "paths/firewall-devices.yaml"
+ path-info: "/{apiVersion}/networking/firewalls/{firewallId}/devices"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ -
+ description: "ID of the Firewall to access."
+ name: "firewallId"
+ x-akamai:
+ file-path: "parameters/firewall-id.yaml"
+ required: true
+ in: "path"
+ schema:
+ type: "integer"
+ x-linode-cli-command: "firewalls"
+ post:
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-firewall-device.json"
+ schema:
+ allOf:
+ -
+ type: "object"
+ description: "__Read-only__ The compute service that this Firewall has been applied to."
+ properties:
+ id:
+ type: "integer"
+ description: "The entity's ID."
+ example: 123
+ label:
+ example: "my-linode"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The entity's label."
+ type:
+ type: "string"
+ description: "The entity's type."
+ example: "linode"
+ enum:
+ - "linode"
+ - "nodebalancer"
+ url:
+ example: "/v4/linode/instances/123"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The API URL path you can use to access this entity."
+ format: "url"
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-firewall-device.yaml"
+ required:
+ - "id"
+ - "type"
+ responses:
+ 200:
+ description: "Returns information about the created Firewall Device."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-firewall-device-200.json"
+ schema:
+ description: "Associates a Firewall with a Linode or NodeBalancer service. A Firewall can be assigned to a single entity at a time. Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/firewall-devices.yaml"
+ properties:
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ format: "date-time"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ When this Device was created."
+ type: "string"
+ updated:
+ readOnly: true
+ example: "2018-01-02T00:01:01"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this Device was last updated."
+ entity:
+ properties:
+ url:
+ format: "url"
+ description: "__Read-only__ The API URL path you can use to access this entity."
+ type: "string"
+ readOnly: true
+ example: "/v4/linode/instances/123"
+ label:
+ type: "string"
+ description: "__Read-only__ The entity's label."
+ example: "my-linode"
+ readOnly: true
+ type:
+ description: "The entity's type."
+ type: "string"
+ example: "linode"
+ enum:
+ - "linode"
+ - "nodebalancer"
+ id:
+ type: "integer"
+ description: "The entity's ID."
+ example: 123
+ type: "object"
+ description: "__Read-only__ The compute service that this Firewall has been applied to."
+ additionalProperties: false
+ readOnly: true
+ id:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "integer"
+ description: "__Filterable__ The Device's unique ID."
+ x-linode-filterable: true
+ example: 123
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "firewall:read_write"
+ tags:
+ - "Networking"
+ x-linode-cli-action: "device-create"
+ description: "Creates a Firewall Device, which assigns a Firewall to a service (referred to as the Device's `entity`) and applies the Firewall's Rules to the device.\n\n- Currently, Devices with `linode` and `nodebalancer` entity types are accepted.\n\n- Firewalls only apply to inbound TCP traffic to NodeBalancers.\n\n- A Firewall can be assigned to multiple services at a time.\n\n- A service can have one active, assigned Firewall at a time. Additional disabled Firewalls can be assigned to a service, but they cannot be enabled if another active Firewall is already assigned to the same service.\n\n- Assigned Linodes must not have any ongoing live migrations.\n\n- A `firewall_device_add` Event is generated when the Firewall Device is added successfully.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls device-create 123 \\\n --id 456 \\\n --type \"linode\"\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"type\": \"linode\",\n \"id\": 123\n }' \\\n https://api.linode.com/v4/networking/firewalls/123/devices"
+ -
+ source: "linode-cli firewalls device-create 123 \\\n --id 456 \\\n --type \"linode\""
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli firewalls device-create 123 \\\n --id 456 \\\n --type \"linode\""
+ -
+ syntax: "firewall:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "post-firewall-device"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-firewall-device"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-original-op-id: "createFirewallDevice"
+ summary: "Create a firewall device"
+ x-original-op-title: "Firewall Device Create"
+ /{apiVersion}/linode/instances/{linodeId}/configs/{configId}/interfaces/{interfaceId}:
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/configs/{configId}/interfaces/{interfaceId}"
+ file-path: "paths/interface.yaml"
+ put:
+ x-original-op-title: "Configuration Profile Interface Update"
+ summary: "Update a configuration profile interface"
+ x-original-op-id: "updateLinodeConfigInterface"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/put-linode-config-interface"
+ operationId: "put-linode-config-interface"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes config-interface-update $linodeId $configId $interfaceId \\\n --primary true \\\n --ipv4.vpc \"10.0.1.2\" \\\n --ipv4.nat_1_1 \"203.0.113.2\""
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/$interfaceId \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -X PUT -d '{\n \"primary\": true,\n \"ipv4\": {\n \"vpc\": \"10.0.1.2\",\n \"nat_1_1\": \"203.0.113.2\"\n }\n }'"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes config-interface-update $linodeId $configId $interfaceId \\\n --primary true \\\n --ipv4.vpc \"10.0.1.2\" \\\n --ipv4.nat_1_1 \"203.0.113.2\""
+ description: "Updates a `vpc` or `public` purpose Interface for this Configuration Profile.\n\n- The User accessing this operation must have `read_write` grants to the Linode.\n- A successful request triggers a `linode_config_update` event.\n- The Interface `purpose` cannot be updated with this operation.\n- VPC Subnets cannot be updated on an Interface. A new `vpc` purpose Interface must be created to assign a different Subnet to a Configuration Profile.\n- Only `primary` can be updated for `public` purpose Interfaces.\n- This operation not currently allowed for `vlan` purpose Interfaces.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes config-interface-update $linodeId $configId $interfaceId \\\n --primary true \\\n --ipv4.vpc \"10.0.1.2\" \\\n --ipv4.nat_1_1 \"203.0.113.2\"\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "config-interface-update"
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-config-interface-200.json"
+ schema:
+ required:
+ - "purpose"
+ x-akamai:
+ file-path: "schemas/linode-config-interface.yaml"
+ properties:
+ purpose:
+ enum:
+ - "public"
+ - "vlan"
+ - "vpc"
+ example: "vlan"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The type of Interface.\n\n- `public`\n - Only one `public` Interface per Linode can be defined.\n - The Linode's default public IPv4 address is assigned to the `public` Interface.\n - A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](https://www.linode.com/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.\n\n- `vlan`\n - Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.\n - The Linode is configured to use the specified `ipam_address`, if any.\n\n- `vpc`\n - Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.\n - When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information."
+ ip_ranges:
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ items:
+ format: "ip"
+ type: "string"
+ type: "array"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ nullable: true
+ ipam_address:
+ example: "10.0.0.1/24"
+ x-linode-cli-display: 4
+ format: "ip/netmask"
+ type: "string"
+ description: "This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.\n\nFor `vlan` purpose Interfaces:\n\n- Must be unique among the Linode's Interfaces to avoid conflicting addresses.\n- Should be unique among devices attached to the VLAN to avoid conflict.\n- The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](https://www.linode.com/docs/guides/manual-network-configuration/).\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ nullable: true
+ label:
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The name of this Interface.\n\nFor `vlan` purpose Interfaces:\n\n- Required.\n- Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).\n- If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, run the [List VLANs](https://techdocs.akamai.com/linode-api/reference/get-vlans) operation.\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ nullable: true
+ x-linode-filterable: true
+ example: "example-interface"
+ maxLength: 64
+ pattern: "[a-zA-Z0-9-]+"
+ primary:
+ example: true
+ type: "boolean"
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ subnet_id:
+ nullable: true
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface.\n\nIn requests, this value is used to assign a Linode to a VPC Subnet.\n\n- Required for `vpc` type Interfaces.\n- Returns `null` for non-`vpc` type Interfaces.\n- Once a VPC Subnet is assigned to an Interface, it cannot be updated.\n- The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet."
+ example: 101
+ active:
+ description: "Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ type: "boolean"
+ example: true
+ ipv4:
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ type: "object"
+ properties:
+ vpc:
+ example: "10.0.0.2"
+ format: "ip"
+ nullable: true
+ type: "string"
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ nat_1_1:
+ example: "203.0.113.2"
+ format: "ip"
+ type: "string"
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ nullable: true
+ additionalProperties: false
+ id:
+ example: 101
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The unique ID representing this Interface."
+ x-linode-cli-display: 1
+ vpc_id:
+ description: "__Read-only__ The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces."
+ type: "integer"
+ nullable: true
+ example: 111
+ readOnly: true
+ description: "The Network Interface to apply to this Linode's configuration profile."
+ type: "object"
+ additionalProperties: false
+ description: "Interface successfully updated."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ requestBody:
+ required: true
+ description: "The updated Interface."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-linode-config-interface.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-put-linode-config-interface.yaml"
+ properties:
+ ip_ranges:
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ items:
+ type: "string"
+ format: "ip"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ type: "array"
+ nullable: true
+ primary:
+ example: true
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ type: "boolean"
+ ipv4:
+ type: "object"
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ properties:
+ nat_1_1:
+ example: "203.0.113.2"
+ format: "ip"
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ type: "string"
+ nullable: true
+ vpc:
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ type: "string"
+ nullable: true
+ format: "ip"
+ example: "10.0.0.2"
+ additionalProperties: false
+ description: "Linode Configuration Interface Update request object."
+ type: "object"
+ delete:
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-linode-config-interface"
+ operationId: "delete-linode-config-interface"
+ description: "Deletes an Interface from the Configuration Profile.\n\n- The User accessing this operation must have `read_write` grants to the Linode.\n- A successful request triggers a `linode_config_update` event.\n- Active Interfaces cannot be deleted. The associated Linode must first be shut down (or restarted using another Configuration Profile) before such Interfaces can be deleted from a Configuration Profile.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes config-delete $linodeId $configId $interfaceId\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "config-interface-delete"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes config-delete $linodeId $configId $interfaceId"
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/$interfaceId"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes config-delete $linodeId $configId $interfaceId"
+ x-original-op-title: "Configuration Profile Interface Delete"
+ summary: "Delete a configuration profile interface"
+ x-original-op-id: "deleteLinodeConfigInterface"
+ responses:
+ 200:
+ description: "Interface successfully deleted."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-linode-config-interface-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ x-linode-cli-command: "linodes"
+ get:
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-config-interface"
+ operationId: "get-linode-config-interface"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes config-interface-view $linodeId $configId $interfaceId"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_only"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/linode/instances/$linodeId/configs/$configId/interfaces/$interfaceId \\\n -H \"Authorization: Bearer $TOKEN\""
+ lang: "Shell"
+ -
+ source: "linode-cli linodes config-interface-view $linodeId $configId $interfaceId"
+ lang: "CLI"
+ description: "Returns a single Configuration Profile Interface.\n\n- The User accessing this operation must have at least `read_only` grants to the Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes config-interface-view $linodeId $configId $interfaceId\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action:
+ - "config-interface-view"
+ x-original-op-title: "Configuration Profile Interface View"
+ summary: "Get a configuration profile interface"
+ x-original-op-id: "getLinodeConfigInterface"
+ responses:
+ 200:
+ description: "An Interface object."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The Network Interface to apply to this Linode's configuration profile."
+ x-akamai:
+ file-path: "schemas/linode-config-interface.yaml"
+ properties:
+ purpose:
+ enum:
+ - "public"
+ - "vlan"
+ - "vpc"
+ example: "vlan"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The type of Interface.\n\n- `public`\n - Only one `public` Interface per Linode can be defined.\n - The Linode's default public IPv4 address is assigned to the `public` Interface.\n - A Linode must have a public Interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no `public` Interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via [LISH](https://www.linode.com/docs/products/compute/compute-instances/guides/lish/) or other Linodes connected to the same VLAN or VPC.\n\n- `vlan`\n - Configuring a `vlan` purpose Interface attaches this Linode to the VLAN with the specified `label`.\n - The Linode is configured to use the specified `ipam_address`, if any.\n\n- `vpc`\n - Configuring a `vpc` purpose Interface attaches this Linode to the existing VPC Subnet with the specified `subnet_id`.\n - When the Interface is activated, the Linode is configured to use an IP address from the range in the assigned VPC Subnet. See `ipv4.vpc` for more information."
+ subnet_id:
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface.\n\nIn requests, this value is used to assign a Linode to a VPC Subnet.\n\n- Required for `vpc` type Interfaces.\n- Returns `null` for non-`vpc` type Interfaces.\n- Once a VPC Subnet is assigned to an Interface, it cannot be updated.\n- The Linode must be rebooted with the Interface's Configuration Profile to complete assignment to a VPC Subnet."
+ nullable: true
+ example: 101
+ ipam_address:
+ example: "10.0.0.1/24"
+ x-linode-cli-display: 4
+ format: "ip/netmask"
+ type: "string"
+ description: "This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.\n\nFor `vlan` purpose Interfaces:\n\n- Must be unique among the Linode's Interfaces to avoid conflicting addresses.\n- Should be unique among devices attached to the VLAN to avoid conflict.\n- The Linode is configured to use this address for the associated Interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with [manual static IP configuration](https://www.linode.com/docs/guides/manual-network-configuration/).\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ nullable: true
+ primary:
+ type: "boolean"
+ description: "The primary Interface is configured as the default route to the Linode.\n\nEach Configuration Profile can have up to one `\"primary\": true` Interface at a time.\n\nMust be `false` for `vlan` type Interfaces.\n\nIf no Interface is configured as the primary, the first non-`vlan` type Interface in the `interfaces` array is automatically treated as the primary Interface."
+ example: true
+ label:
+ minLength: 1
+ description: "__Filterable__ The name of this Interface.\n\nFor `vlan` purpose Interfaces:\n\n- Required.\n- Must be unique among the Linode's Interfaces (a Linode cannot be attached to the same VLAN multiple times).\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`).\n- If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, run the [List VLANs](https://techdocs.akamai.com/linode-api/reference/get-vlans) operation.\n\nFor `public` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`.\n\nFor `vpc` purpose Interfaces:\n\n- In requests, must be an empty string (`\"\"`) or `null` if included.\n- In responses, always returns `null`."
+ type: "string"
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ maxLength: 64
+ example: "example-interface"
+ pattern: "[a-zA-Z0-9-]+"
+ ip_ranges:
+ type: "array"
+ description: "An array of IPv4 CIDR VPC Subnet ranges that are routed to this Interface.\n\n- Array items are only allowed for `vpc` type Interfaces.\n- This must be empty for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Addresses in submitted ranges must not already be actively assigned.\n- Submitting values replaces any existing values.\n- Submitting an empty array removes any existing values.\n- Omitting this property results in no change to existing values."
+ nullable: true
+ items:
+ format: "ip"
+ type: "string"
+ example:
+ - "10.0.0.64/26"
+ - "fd04:495a:691c:971c::1:0/112"
+ ipv4:
+ properties:
+ vpc:
+ example: "10.0.0.2"
+ format: "ip"
+ description: "The VPC Subnet IPv4 address for this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Must not already be actively assigned as an address or within a range to any Linodes.\n- Must not be the first two or last two addresses in the Subnet IPv4 Range.\n- If omitted, a valid address within the Subnet IPv4 range is automatically assigned."
+ type: "string"
+ nullable: true
+ nat_1_1:
+ nullable: true
+ description: "The 1:1 NAT IPv4 address, used to associate a public IPv4 address with the VPC Subnet IPv4 address assigned to this Interface.\n\n- Only allowed for `vpc` type Interfaces.\n- Returns `null` if no 1:1 NAT is set for a `vpc` type Interface.\n- Returns an empty string (`\"\"`) for non-`vpc` type Interfaces.\n\nFor requests:\n\n- Setting this value to `any` enables the Linode's assigned public IPv4 address on this Interface and establishes a 1:1 NAT between the public IPv4 and VPC Subnet IPv4 addresses.\n- Setting the value to a specific public IPv4 address that is assigned to the Linode enables a 1:1 NAT between that address and the VPC Subnet IPv4 address.\n- The public IPv4 address can't be shared with another Linode.\n- If omitted, set to `null`, or set to an empty string (`\"\"`), no 1:1 NAT is established.\n\n__Note__. When creating a new compute-instance, you can't set this to a specific IPv4 address. When a new compute instance is created, the network establishes a public IPv4 address for it. Since this address doesn't exist yet, you can't include a custom IPv4 address to change it. Once your compute instances is created, you can [update your configuration profile interface](https://www.linode.com/docs/api/linode-instances/#configuration-profile-interface-update) to change the `nat_1_1` address."
+ type: "string"
+ format: "ip"
+ example: "203.0.113.2"
+ description: "IPv4 addresses configured for this Interface. Only allowed for `vpc` type Interfaces. Returns `null` if no `vpc` Interface is assigned."
+ type: "object"
+ additionalProperties: false
+ active:
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that Compute Instance has been booted using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ example: true
+ vpc_id:
+ nullable: true
+ description: "__Read-only__ The `id` of the VPC configured for this Interface. Returns `null` for non-`vpc` type Interfaces."
+ type: "integer"
+ example: 111
+ readOnly: true
+ id:
+ type: "integer"
+ description: "__Read-only__ The unique ID representing this Interface."
+ x-linode-cli-display: 1
+ example: 101
+ readOnly: true
+ required:
+ - "purpose"
+ x-example:
+ x-ref: "../examples/get-linode-config-interface-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ schema:
+ type: "integer"
+ required: true
+ name: "linodeId"
+ description: "The `id` of the Linode."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/linode-id.yaml"
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/config-id-profile.yaml"
+ name: "configId"
+ description: "The `id` of the Configuration Profile."
+ -
+ required: true
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "parameters/interface-id-path.yaml"
+ in: "path"
+ description: "The `id` of the Linode Configuration Profile Interface."
+ name: "interfaceId"
+ /{apiVersion}/nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}:
+ x-linode-cli-command: "nodebalancers"
+ parameters:
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ required: true
+ -
+ name: "nodeBalancerId"
+ description: "The ID of the NodeBalancer to access."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/node-balancer-id.yaml"
+ required: true
+ schema:
+ type: "integer"
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/config-id.yaml"
+ required: true
+ name: "configId"
+ description: "The ID of the Config to access."
+ schema:
+ type: "integer"
+ -
+ schema:
+ type: "integer"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/node-id.yaml"
+ name: "nodeId"
+ description: "The ID of the Node to access."
+ x-akamai:
+ file-path: "paths/config-node.yaml"
+ path-info: "/{apiVersion}/nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId}"
+ put:
+ x-original-op-id: "updateNodeBalancerNode"
+ summary: "Update a node"
+ x-original-op-title: "Node Update"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"address\": \"192.168.210.120:80\",\n \"label\": \"node54321\",\n \"weight\": 50,\n \"mode\": \"accept\"\n }' \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321"
+ -
+ source: "linode-cli nodebalancers node-update \\\n 12345 4567 54321 \\\n --address 192.168.210.120:80 \\\n --label node54321 \\\n --weight 50 \\\n --mode accept"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli nodebalancers node-update \\\n 12345 4567 54321 \\\n --address 192.168.210.120:80 \\\n --label node54321 \\\n --weight 50 \\\n --mode accept"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ x-linode-cli-action: "node-update"
+ description: "Updates information about a Node, a backend for this NodeBalancer's configured port.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers node-update \\\n 12345 4567 54321 \\\n --address 192.168.210.120:80 \\\n --label node54321 \\\n --weight 50 \\\n --mode accept\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ operationId: "put-node-balancer-node"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-node-balancer-node"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ tags:
+ - "NodeBalancers"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-node-balancer-node.json"
+ schema:
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ type: "object"
+ properties:
+ status:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ type: "string"
+ x-linode-cli-color:
+ unknown: "yellow"
+ UP: "green"
+ DOWN: "red"
+ default_: "white"
+ readOnly: true
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ label:
+ minLength: 3
+ type: "string"
+ description: "The label for this node. This is for display purposes only."
+ x-linode-cli-display: 2
+ maxLength: 32
+ example: "node54321"
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ weight:
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ type: "integer"
+ minimum: 1
+ maximum: 255
+ x-linode-cli-display: 5
+ example: 50
+ mode:
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ example: "accept"
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ config_id:
+ example: 4567
+ readOnly: true
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ type: "integer"
+ address:
+ format: "ip"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ example: "192.168.210.120:80"
+ id:
+ readOnly: true
+ example: 54321
+ x-linode-cli-display: 1
+ description: "__Read-only__ This node's unique ID."
+ type: "integer"
+ nodebalancer_id:
+ readOnly: true
+ example: 12345
+ type: "integer"
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ additionalProperties: false
+ description: "The fields to update."
+ required: true
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-node-balancer-node-200.json"
+ schema:
+ properties:
+ status:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ type: "string"
+ readOnly: true
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ x-linode-cli-color:
+ default_: "white"
+ UP: "green"
+ DOWN: "red"
+ unknown: "yellow"
+ mode:
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ x-linode-cli-display: 6
+ example: "accept"
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ weight:
+ x-linode-cli-display: 5
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ minimum: 1
+ type: "integer"
+ maximum: 255
+ example: 50
+ label:
+ minLength: 3
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The label for this node. This is for display purposes only."
+ example: "node54321"
+ maxLength: 32
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ address:
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ type: "string"
+ format: "ip"
+ x-linode-cli-display: 3
+ example: "192.168.210.120:80"
+ config_id:
+ type: "integer"
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ readOnly: true
+ example: 4567
+ nodebalancer_id:
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ type: "integer"
+ example: 12345
+ readOnly: true
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ This node's unique ID."
+ type: "integer"
+ readOnly: true
+ example: 54321
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ type: "object"
+ additionalProperties: false
+ description: "Node updated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ delete:
+ tags:
+ - "NodeBalancers"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ responses:
+ 200:
+ description: "Node deleted successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-node-balancer-config-node-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-title: "Node Delete"
+ summary: "Delete a node balancer's node"
+ x-original-op-id: "deleteNodeBalancerConfigNode"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-node-balancer-config-node"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-node-balancer-config-node"
+ description: "Deletes a Node from this Config. This backend will no longer receive traffic for the configured port of this NodeBalancer.\n\nThis does not change or remove the Linode whose address was used in the creation of this Node.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers node-delete \\\n 12345 4567 54321\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "node-delete"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli nodebalancers node-delete \\\n 12345 4567 54321"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers node-delete \\\n 12345 4567 54321"
+ get:
+ x-original-op-id: "getNodeBalancerNode"
+ summary: "Get a node balancer's node"
+ x-original-op-title: "Node View"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/nodebalancers/12345/configs/4567/nodes/54321"
+ lang: "Shell"
+ -
+ source: "linode-cli nodebalancers node-view 12345 4567 54321"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli nodebalancers node-view 12345 4567 54321"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "node-view"
+ x-linode-grant: "read_only"
+ description: "Returns information about a single Node, a backend for this NodeBalancer's configured port.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers node-view 12345 4567 54321\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-node-balancer-node"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-node-balancer-node"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ tags:
+ - "NodeBalancers"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-node-balancer-node-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ properties:
+ id:
+ example: 54321
+ readOnly: true
+ description: "__Read-only__ This node's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ nodebalancer_id:
+ readOnly: true
+ example: 12345
+ type: "integer"
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ config_id:
+ example: 4567
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ address:
+ format: "ip"
+ x-linode-cli-display: 3
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ type: "string"
+ example: "192.168.210.120:80"
+ label:
+ maxLength: 32
+ example: "node54321"
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ minLength: 3
+ type: "string"
+ description: "The label for this node. This is for display purposes only."
+ x-linode-cli-display: 2
+ weight:
+ example: 50
+ x-linode-cli-display: 5
+ minimum: 1
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ type: "integer"
+ maximum: 255
+ mode:
+ x-linode-cli-display: 6
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ example: "accept"
+ status:
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ type: "string"
+ x-linode-cli-display: 4
+ x-linode-cli-color:
+ DOWN: "red"
+ UP: "green"
+ default_: "white"
+ unknown: "yellow"
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ description: "A paginated list of NodeBalancer nodes."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ /{apiVersion}/databases/mysql/instances/{instanceId}/backups/{backupId}:
+ x-linode-cli-command: "databases"
+ get:
+ x-original-op-title: "Managed MySQL Database Backup View"
+ summary: "Get a managed MySQL database backup"
+ x-original-op-id: "getDatabasesMySQLInstanceBackup"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance-backup"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-databases-mysql-instance-backup"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli databases mysql-backup-view 123 456"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/mysql/instances/123/backups/456"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-backup-view 123 456"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay information for a single backup for an accessible Managed MySQL Database.\n\nThe Database must not be provisioning to perform this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-backup-view 123 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "mysql-backup-view"
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ responses:
+ 200:
+ description: "Returns a single backup for the Managed MySQL Database."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-databases-mysql-instance-backup-200.json"
+ schema:
+ properties:
+ created:
+ example: "2022-01-01T00:01:01"
+ x-linode-filterable: true
+ description: "__Filterable__ A time value given in a combined date and time format that represents when the database backup was created."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ example: 123
+ x-linode-cli-display: 1
+ description: "The ID of the database backup object."
+ type: "integer"
+ type:
+ enum:
+ - "snapshot"
+ - "auto"
+ example: "auto"
+ x-linode-filterable: true
+ description: "__Filterable__ The type of database backup, determined by how the backup was created."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ label:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The database backup's label, for display purposes only.\n\nMust include only ASCII letters or numbers."
+ maxLength: 30
+ example: "Scheduled - 02/04/22 11:11 UTC-XcCRmI"
+ x-akamai:
+ file-path: "schemas/database-backup.yaml"
+ type: "object"
+ description: "A database backup object."
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ path-info: "/{apiVersion}/databases/mysql/instances/{instanceId}/backups/{backupId}"
+ file-path: "paths/mysql-backup.yaml"
+ delete:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ tags:
+ - "Databases"
+ responses:
+ 200:
+ description: "Request to delete Database backup successful."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ x-example:
+ x-ref: "../examples/delete-database-mysql-instance-backup-200.json"
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ summary: "Delete a managed MySQL database backup"
+ x-original-op-title: "Managed MySQL Database Backup Delete"
+ x-original-op-id: "deleteDatabaseMySQLInstanceBackup"
+ operationId: "delete-database-mysql-instance-backup"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-database-mysql-instance-backup"
+ x-linode-cli-action: "mysql-backup-delete"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDelete a single backup for an accessible Managed MySQL Database.\n\nRequires `read_write` access to the Database.\n\nThe Database must not be provisioning to perform this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-backup-delete 123 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/databases/mysql/instances/123/backups/456"
+ lang: "Shell"
+ -
+ source: "linode-cli databases mysql-backup-delete 123 456"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli databases mysql-backup-delete 123 456"
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ description: "The ID of the Managed PostgreSQL Database."
+ name: "instanceId"
+ x-akamai:
+ file-path: "parameters/instance-id-path.yaml"
+ required: true
+ in: "path"
+ schema:
+ type: "integer"
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/backup-id-path-591248be.yaml"
+ required: true
+ name: "backupId"
+ description: "The ID of the Managed MySQL Database backup."
+ /{apiVersion}/nodebalancers/{nodeBalancerId}:
+ x-akamai:
+ path-info: "/{apiVersion}/nodebalancers/{nodeBalancerId}"
+ file-path: "paths/node-balancer.yaml"
+ delete:
+ x-original-op-title: "NodeBalancer Delete"
+ summary: "Delete a NodeBalancer"
+ tags:
+ - "NodeBalancers"
+ x-original-op-id: "deleteNodeBalancer"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ responses:
+ 200:
+ description: "NodeBalancer deleted successfully."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-node-balancer-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ additionalProperties: false
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-node-balancer"
+ operationId: "delete-node-balancer"
+ x-linode-grant: "read_write"
+ description: "Deletes a NodeBalancer.\n\n__This is a destructive action and cannot be undone.__\n\nDeleting a NodeBalancer will also delete all associated Configs and Nodes, although the backend servers represented by the Nodes will not be changed or removed. Deleting a NodeBalancer will cause you to lose access to the IP Addresses assigned to this NodeBalancer.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers delete 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli nodebalancers delete 12345"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/nodebalancers/12345"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers delete 12345"
+ put:
+ x-original-op-id: "updateNodeBalancer"
+ summary: "Update a NodeBalancer"
+ x-original-op-title: "NodeBalancer Update"
+ x-linode-cli-action: "update"
+ x-linode-grant: "read_write"
+ description: "Updates information about a NodeBalancer you can access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers update 12345 \\\n --label balancer12345 \\\n --client_conn_throttle 0\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"label\": \"balancer12345\",\n \"client_conn_throttle\": 0\n }' \\\n https://api.linode.com/v4/nodebalancers/12345"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers update 12345 \\\n --label balancer12345 \\\n --client_conn_throttle 0"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli nodebalancers update 12345 \\\n --label balancer12345 \\\n --client_conn_throttle 0"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_write"
+ operationId: "put-node-balancer"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-node-balancer"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ tags:
+ - "NodeBalancers"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ title: "NodeBalancer"
+ properties:
+ updated:
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ format: "date-time"
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ label:
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ type: "string"
+ x-linode-filterable: true
+ maxLength: 32
+ example: "balancer12345"
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ hostname:
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ x-linode-cli-display: 4
+ region:
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ created:
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ ipv4:
+ x-linode-filterable: true
+ example: "203.0.113.1"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ format: "ip"
+ client_conn_throttle:
+ minimum: 0
+ type: "integer"
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ maximum: 20
+ x-linode-cli-display: 6
+ example: 0
+ tags:
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "array"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ ipv6:
+ readOnly: true
+ example: null
+ x-linode-cli-display: 6
+ format: "ip"
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ nullable: true
+ transfer:
+ additionalProperties: false
+ readOnly: true
+ properties:
+ total:
+ example: 32.4607810974121
+ readOnly: true
+ type: "number"
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ nullable: true
+ out:
+ readOnly: true
+ example: 3.54877281188965
+ type: "number"
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ in:
+ readOnly: true
+ example: 28.9120082855225
+ type: "number"
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ type: "object"
+ id:
+ example: 12345
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ x-linode-cli-display: 1
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ type: "object"
+ x-example:
+ x-ref: "../examples/put-node-balancer.json"
+ description: "The information to update."
+ required: true
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-node-balancer-200.json"
+ schema:
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ type: "object"
+ properties:
+ hostname:
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ x-linode-cli-display: 4
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ readOnly: true
+ label:
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ example: "balancer12345"
+ maxLength: 32
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ type: "string"
+ minLength: 3
+ updated:
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ format: "date-time"
+ transfer:
+ type: "object"
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ properties:
+ out:
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ type: "number"
+ nullable: true
+ readOnly: true
+ example: 3.54877281188965
+ in:
+ readOnly: true
+ example: 28.9120082855225
+ type: "number"
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ total:
+ nullable: true
+ type: "number"
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ example: 32.4607810974121
+ readOnly: true
+ readOnly: true
+ additionalProperties: false
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ type: "integer"
+ readOnly: true
+ example: 12345
+ ipv6:
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ type: "string"
+ nullable: true
+ x-linode-cli-display: 6
+ format: "ip"
+ example: null
+ readOnly: true
+ client_conn_throttle:
+ x-linode-cli-display: 6
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ minimum: 0
+ type: "integer"
+ maximum: 20
+ example: 0
+ tags:
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ ipv4:
+ x-linode-filterable: true
+ example: "203.0.113.1"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "ip"
+ x-linode-cli-display: 5
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ region:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ additionalProperties: false
+ title: "NodeBalancer"
+ description: "NodeBalancer updated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-linode-cli-command: "nodebalancers"
+ get:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-node-balancer"
+ operationId: "get-node-balancer"
+ x-linode-grant: "read_only"
+ description: "Returns a single NodeBalancer you can access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers view 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "view"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli nodebalancers view 12345"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/nodebalancers/12345"
+ lang: "Shell"
+ -
+ source: "linode-cli nodebalancers view 12345"
+ lang: "CLI"
+ x-original-op-title: "NodeBalancer View"
+ summary: "Get a NodeBalancer"
+ x-original-op-id: "getNodeBalancer"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ updated:
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ type: "string"
+ format: "date-time"
+ hostname:
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ type: "string"
+ x-linode-cli-display: 4
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ readOnly: true
+ label:
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ x-linode-filterable: true
+ maxLength: 32
+ example: "balancer12345"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ minLength: 3
+ client_conn_throttle:
+ maximum: 20
+ example: 0
+ minimum: 0
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ type: "integer"
+ x-linode-cli-display: 6
+ transfer:
+ properties:
+ out:
+ type: "number"
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ readOnly: true
+ example: 3.54877281188965
+ in:
+ nullable: true
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ type: "number"
+ readOnly: true
+ example: 28.9120082855225
+ total:
+ type: "number"
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ nullable: true
+ example: 32.4607810974121
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ additionalProperties: false
+ readOnly: true
+ region:
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ type: "string"
+ readOnly: true
+ example: "us-east"
+ x-linode-filterable: true
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ format: "date-time"
+ ipv4:
+ readOnly: true
+ example: "203.0.113.1"
+ x-linode-filterable: true
+ format: "ip"
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ tags:
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ id:
+ type: "integer"
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ x-linode-cli-display: 1
+ example: 12345
+ readOnly: true
+ ipv6:
+ nullable: true
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ x-linode-cli-display: 6
+ format: "ip"
+ example: null
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ type: "object"
+ additionalProperties: false
+ title: "NodeBalancer"
+ x-example:
+ x-ref: "../examples/get-node-balancer-200.json"
+ description: "The requested NodeBalancer object."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "NodeBalancers"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_only"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ -
+ schema:
+ type: "integer"
+ required: true
+ x-akamai:
+ file-path: "parameters/node-balancer-id.yaml"
+ in: "path"
+ description: "The ID of the NodeBalancer to access."
+ name: "nodeBalancerId"
+ /{apiVersion}/linode/instances/{linodeId}/ips:
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ -
+ x-akamai:
+ file-path: "parameters/linode-id-path.yaml"
+ required: true
+ in: "path"
+ description: "ID of the Linode to look up."
+ name: "linodeId"
+ schema:
+ type: "integer"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ description: "Requested Linode's networking configuration."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-ips-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ ipv4:
+ properties:
+ shared:
+ description: "__Read-only__ A list of shared IP Address objects assigned to this Linode."
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ properties:
+ gateway:
+ format: "ip"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ readOnly: true
+ example: "97.107.143.1"
+ linode_id:
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ type: "integer"
+ x-linode-cli-display: 6
+ example: 123
+ readOnly: true
+ type:
+ x-linode-cli-display: 2
+ description: "__Read-only__ The type of address this is."
+ type: "string"
+ readOnly: true
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ public:
+ x-linode-cli-display: 3
+ description: "__Read-only__ Whether this is a public or private IP address."
+ type: "boolean"
+ readOnly: true
+ example: true
+ rdns:
+ nullable: true
+ type: "string"
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ x-linode-cli-display: 4
+ example: "test.example.org"
+ prefix:
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ type: "integer"
+ readOnly: true
+ example: 24
+ subnet_mask:
+ readOnly: true
+ example: "255.255.255.0"
+ format: "ip"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ type: "string"
+ address:
+ example: "97.107.143.141"
+ readOnly: true
+ description: "__Read-only__ The IP address."
+ type: "string"
+ format: "ip"
+ x-linode-cli-display: 1
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "__Read-only__ The Region this IP address resides in."
+ vpc_nat_1_1:
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ type: "object"
+ properties:
+ subnet_id:
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface."
+ nullable: false
+ example: 101
+ vpc_id:
+ nullable: false
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ type: "integer"
+ readOnly: true
+ example: 111
+ address:
+ example: "192.168.0.42"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ type: "string"
+ format: "ipv4"
+ additionalProperties: false
+ type: "object"
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ additionalProperties: false
+ readOnly: true
+ vpc:
+ readOnly: true
+ description: "__Read-only__ A list of Virtual Private Cloud (VPC)-specific addresses or ranges for the Linode."
+ type: "array"
+ items:
+ description: "The response data for the VPC IP Addresses List and View operations."
+ x-akamai:
+ file-path: "schemas/ip-addresses-vpc.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ -
+ description: "A VPC IP address that exists in Linode's system, specific to the response for the [List VPC IP addresses](https://techdocs.akamai.com/linode-api/reference/get-vpcs-ips) operation. Returned as an empty set for Linodes that are not part of a VPC."
+ type: "object"
+ properties:
+ interface_id:
+ description: "__Read-only__ The globally general API entity identifier for the Linode interface."
+ type: "integer"
+ readOnly: true
+ example: 2435
+ nat_1_1:
+ example: "192.168.0.42"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The public IP address used for NAT 1:1 with the VPC. This is empty if NAT 1:1 isn't used."
+ format: "ip"
+ subnet_mask:
+ example: "255.255.255.0"
+ readOnly: true
+ description: "__Read-only__ The mask that separates host bits from network bits for the `address` or `address_range`."
+ type: "string"
+ format: "ip"
+ prefix:
+ nullable: true
+ type: "integer"
+ description: "__Read-only__ The number of bits set in the `subnet_mask`."
+ readOnly: true
+ example: 24
+ subnet_id:
+ example: 101
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this interface."
+ nullable: false
+ config_id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The globally general entity identifier for the Linode configuration profile where the VPC is included."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 4567
+ x-linode-filterable: true
+ readOnly: true
+ address:
+ description: "__Read-only__ An IPv4 address configured for this VPC interface. These follow the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address format. Displayed as `null` if an `address_range`."
+ type: "string"
+ nullable: true
+ x-linode-cli-display: 1
+ format: "ip"
+ example: "192.0.2.141"
+ readOnly: true
+ address_range:
+ type: "string"
+ description: "__Read-only__ A range of IPv4 addresses configured for this VPC interface. Displayed as `null` if a single `address`."
+ nullable: true
+ readOnly: true
+ linode_id:
+ description: "__Filterable__, __Read-only__ The identifier for the Linode the VPC interface currently belongs to."
+ type: "integer"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ gateway:
+ example: "192.0.2.1"
+ readOnly: true
+ description: "__Read-only__ The default gateway for the VPC subnet that the IP or IP range belongs to."
+ type: "string"
+ nullable: true
+ format: "ip"
+ region:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "__Filterable__, __Read-only__ The region of the VPC."
+ readOnly: true
+ x-linode-filterable: true
+ example: "us-east"
+ active:
+ readOnly: true
+ example: true
+ x-linode-filterable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "boolean"
+ description: "__Filterable__, __Read-only__ Returns `true` if the VPC interface is in use, meaning that the Linode was powered on using the `config_id` to which the interface belongs. Otherwise returns `false`."
+ vpc_id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique globally general API entity identifier for the VPC."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 7654
+ x-linode-filterable: true
+ readOnly: true
+ reserved:
+ readOnly: true
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ properties:
+ linode_id:
+ readOnly: true
+ example: 123
+ x-linode-cli-display: 6
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ type: "integer"
+ gateway:
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ format: "ip"
+ example: "97.107.143.1"
+ readOnly: true
+ subnet_mask:
+ example: "255.255.255.0"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ format: "ip"
+ rdns:
+ x-linode-cli-display: 4
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ type: "string"
+ nullable: true
+ example: "test.example.org"
+ prefix:
+ example: 24
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ type:
+ description: "__Read-only__ The type of address this is."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ readOnly: true
+ public:
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ x-linode-cli-display: 3
+ example: true
+ readOnly: true
+ vpc_nat_1_1:
+ type: "object"
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ properties:
+ vpc_id:
+ example: 111
+ readOnly: true
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ type: "integer"
+ nullable: false
+ subnet_id:
+ nullable: false
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface."
+ example: 101
+ address:
+ example: "192.168.0.42"
+ format: "ipv4"
+ type: "string"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ additionalProperties: false
+ region:
+ description: "__Read-only__ The Region this IP address resides in."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "us-east"
+ readOnly: true
+ address:
+ readOnly: true
+ example: "97.107.143.141"
+ format: "ip"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The IP address."
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ type: "array"
+ description: "__Read-only__ A list of reserved IP Address objects belonging to this Linode."
+ private:
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ A list of private IP Address objects belonging to this Linode."
+ items:
+ x-akamai:
+ file-path: "schemas/ip-address-private.yaml"
+ properties:
+ address:
+ x-linode-cli-display: 1
+ format: "ip"
+ description: "__Read-only__ The private IPv4 address."
+ type: "string"
+ readOnly: true
+ example: "192.168.133.234"
+ region:
+ description: "__Read-only__ The Region this address resides in."
+ type: "string"
+ x-linode-cli-display: 5
+ example: "us-east"
+ readOnly: true
+ gateway:
+ example: null
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ format: "ip"
+ linode_id:
+ x-linode-cli-display: 6
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to."
+ readOnly: true
+ example: 123
+ type:
+ type: "string"
+ description: "__Read-only__ The type of address this is."
+ x-linode-cli-display: 2
+ example: "ipv4"
+ readOnly: true
+ public:
+ x-linode-cli-display: 3
+ description: "__Read-only__ Whether this is a public or private IP address."
+ type: "boolean"
+ readOnly: true
+ example: false
+ rdns:
+ x-linode-cli-display: 4
+ description: "The reverse DNS assigned to this address."
+ type: "string"
+ example: null
+ prefix:
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ type: "integer"
+ readOnly: true
+ example: 17
+ subnet_mask:
+ type: "string"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ format: "ip"
+ example: "255.255.128.0"
+ readOnly: true
+ description: "A private IPv4 address that exists in Linode's system."
+ type: "object"
+ additionalProperties: false
+ public:
+ readOnly: true
+ type: "array"
+ description: "__Read-only__ A list of public IP Address objects belonging to this Linode."
+ items:
+ properties:
+ prefix:
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ type: "integer"
+ example: 24
+ readOnly: true
+ rdns:
+ example: "test.example.org"
+ nullable: true
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ type: "string"
+ x-linode-cli-display: 4
+ subnet_mask:
+ readOnly: true
+ example: "255.255.255.0"
+ format: "ip"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ type: "string"
+ type:
+ readOnly: true
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The type of address this is."
+ public:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ x-linode-cli-display: 3
+ gateway:
+ example: "97.107.143.1"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ nullable: true
+ format: "ip"
+ linode_id:
+ example: 123
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ x-linode-cli-display: 6
+ region:
+ x-linode-cli-display: 5
+ type: "string"
+ description: "__Read-only__ The Region this IP address resides in."
+ readOnly: true
+ example: "us-east"
+ address:
+ readOnly: true
+ example: "97.107.143.141"
+ format: "ip"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The IP address."
+ vpc_nat_1_1:
+ properties:
+ address:
+ format: "ipv4"
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ type: "string"
+ example: "192.168.0.42"
+ subnet_id:
+ example: 101
+ nullable: false
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface."
+ vpc_id:
+ nullable: false
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ type: "integer"
+ readOnly: true
+ example: 111
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ type: "object"
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ additionalProperties: false
+ type: "object"
+ description: "__Read-only__ Information about this Linode's IPv4 addresses."
+ additionalProperties: false
+ readOnly: true
+ ipv6:
+ description: "__Read-only__ Information about this Linode's IPv6 addresses."
+ type: "object"
+ properties:
+ link_local:
+ x-akamai:
+ file-path: "schemas/ip-address-v6-link-local.yaml"
+ properties:
+ region:
+ description: "__Filterable__, __Read-only__ The Region this address resides in."
+ type: "string"
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ address:
+ format: "ip"
+ x-linode-cli-display: 1
+ type: "string"
+ description: "__Read-only__ The IPv6 link-local address."
+ readOnly: true
+ example: "fe80::f03c:91ff:fe24:3a2f"
+ type:
+ example: "ipv6"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The type of address this is."
+ x-linode-cli-display: 2
+ public:
+ readOnly: true
+ example: false
+ x-linode-cli-display: 3
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ rdns:
+ example: null
+ x-linode-cli-display: 4
+ description: "The reverse DNS assigned to this address."
+ type: "string"
+ prefix:
+ type: "integer"
+ description: "__Read-only__ The network prefix."
+ readOnly: true
+ example: 64
+ subnet_mask:
+ example: "ffff:ffff:ffff:ffff::"
+ readOnly: true
+ description: "__Read-only__ The subnet mask."
+ type: "string"
+ format: "ip"
+ gateway:
+ description: "__Read-only__ The default gateway for this address."
+ type: "string"
+ readOnly: true
+ example: "fe80::1"
+ linode_id:
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to."
+ x-linode-cli-display: 6
+ example: 123
+ readOnly: true
+ description: "A link-local IPv6 address that exists in Linode's system."
+ type: "object"
+ additionalProperties: false
+ slaac:
+ description: "A SLAAC IPv6 address that exists in Linode's system."
+ type: "object"
+ properties:
+ region:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Region this address resides in."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ x-linode-filterable: true
+ example: "us-east"
+ readOnly: true
+ address:
+ example: "2600:3c03::f03c:91ff:fe24:3a2f"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The address."
+ format: "ip"
+ x-linode-cli-display: 1
+ gateway:
+ readOnly: true
+ example: "fe80::1"
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ linode_id:
+ x-linode-cli-display: 6
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to."
+ readOnly: true
+ example: 123
+ public:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ Whether this is a public or private IP address."
+ x-linode-cli-display: 3
+ type:
+ description: "__Read-only__ The type of address this is."
+ type: "string"
+ x-linode-cli-display: 2
+ example: "ipv6"
+ readOnly: true
+ prefix:
+ type: "integer"
+ description: "__Read-only__ The network prefix."
+ readOnly: true
+ example: 64
+ rdns:
+ type: "string"
+ description: "The reverse DNS assigned to this address."
+ x-linode-cli-display: 4
+ example: null
+ subnet_mask:
+ example: "ffff:ffff:ffff:ffff::"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The subnet mask."
+ format: "ip"
+ x-akamai:
+ file-path: "schemas/ip-address-v6-slaac.yaml"
+ additionalProperties: false
+ global:
+ items:
+ additionalProperties: false
+ description: "An object representing an IPv6 range."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/ipv6-range.yaml"
+ properties:
+ region:
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Read-only__ The region for this range of IPv6 addresses."
+ readOnly: true
+ example: "us-east"
+ range:
+ description: "__Read-only__ The IPv6 address of this range."
+ type: "string"
+ x-linode-cli-display: 1
+ example: "2600:3c01::"
+ readOnly: true
+ prefix:
+ example: 64
+ type: "integer"
+ description: "The prefix length of the address. The total number of addresses that can be assigned from this range is calculated as 2(128 - prefix length) ."
+ x-linode-cli-display: 2
+ route_target:
+ example: "2600:3c01::ffff:ffff:ffff:ffff"
+ description: "The IPv6 SLAAC address."
+ type: "string"
+ type: "array"
+ description: "A list of IPv6 range objects assigned to this Linode."
+ additionalProperties: false
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/added-get-linode-ips-200.yaml"
+ type: "object"
+ x-linode-cli-subtables:
+ - "ipv4.public"
+ - "ipv4.private"
+ - "ipv4.shared"
+ - "ipv4.reserved"
+ - "ipv4.vpc"
+ - "ipv6.link_local"
+ - "ipv6.slaac"
+ - "ipv6.global"
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "getLinodeIPs"
+ summary: "Get networking information"
+ x-original-op-title: "Networking Information List"
+ x-linode-cli-action: "ips-list"
+ x-linode-grant: "read_only"
+ description: "Returns networking information for a single Linode.\n\n__Note__. If the target Linode has several configuration profiles that include a Virtual Private Cloud (VPC) interface, address information for all of VPCs will be listed in the response.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes ips-list 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances/123/ips"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes ips-list 123"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes ips-list 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ operationId: "get-linode-ips"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-ips"
+ x-akamai:
+ file-path: "paths/linode-ips.yaml"
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/ips"
+ post:
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-add-linode-ip.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ type:
+ description: "The type of address you are allocating. Only IPv4 addresses may be allocated through this operation."
+ type: "string"
+ enum:
+ - "ipv4"
+ example: "ipv4"
+ public:
+ example: true
+ type: "boolean"
+ description: "Whether to create a public or private IPv4 address."
+ required:
+ - "type"
+ - "public"
+ x-akamai:
+ file-path: "schemas/added-post-add-linode-ip.yaml"
+ description: "Information about the address you are creating."
+ required: true
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "An IP address that exists in Linode's system, either IPv4 or IPv6."
+ properties:
+ linode_id:
+ example: 123
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The ID of the Linode this address currently belongs to. For IPv4 addresses, this is by default the Linode that this address was assigned to on creation, and these addresses my be moved using the [Assign IPv4s to Linodes](https://techdocs.akamai.com/linode-api/reference/post-assign-ipv4s) operation. For SLAAC and link-local addresses, this value may not be changed."
+ x-linode-cli-display: 6
+ gateway:
+ format: "ip"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The default gateway for this address."
+ readOnly: true
+ example: "97.107.143.1"
+ subnet_mask:
+ type: "string"
+ description: "__Read-only__ The mask that separates host bits from network bits for this address."
+ format: "ip"
+ example: "255.255.255.0"
+ readOnly: true
+ rdns:
+ example: "test.example.org"
+ nullable: true
+ type: "string"
+ description: "The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set."
+ x-linode-cli-display: 4
+ prefix:
+ readOnly: true
+ example: 24
+ type: "integer"
+ description: "__Read-only__ The number of bits set in the subnet mask."
+ type:
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The type of address this is."
+ readOnly: true
+ example: "ipv4"
+ enum:
+ - "ipv4"
+ - "ipv6"
+ - "ipv6/pool"
+ - "ipv6/range"
+ public:
+ x-linode-cli-display: 3
+ description: "__Read-only__ Whether this is a public or private IP address."
+ type: "boolean"
+ readOnly: true
+ example: true
+ vpc_nat_1_1:
+ description: "IPv4 address configured as a 1:1 NAT for this Interface. If no address is configured as a 1:1 NAT, `null` is returned.\n\n__Note__. Only allowed for `vpc` type Interfaces."
+ type: "object"
+ properties:
+ subnet_id:
+ example: 101
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this Interface."
+ nullable: false
+ vpc_id:
+ readOnly: true
+ example: 111
+ description: "__Read-only__ The `id` of the VPC configured for this Interface."
+ type: "integer"
+ nullable: false
+ address:
+ description: "The IPv4 address that is configured as a 1:1 NAT for this VPC interface."
+ type: "string"
+ format: "ipv4"
+ example: "192.168.0.42"
+ additionalProperties: false
+ address:
+ x-linode-cli-display: 1
+ format: "ip"
+ type: "string"
+ description: "__Read-only__ The IP address."
+ readOnly: true
+ example: "97.107.143.141"
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-cli-display: 5
+ description: "__Read-only__ The Region this IP address resides in."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/ip-address.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-add-linode-ip-200.json"
+ description: "IP address was successfully allocated."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ x-original-op-id: "addLinodeIP"
+ x-original-op-title: "IPv4 Address Allocate"
+ summary: "Allocate an IPv4 address"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli linodes ip-add 123 \\\n --type ipv4 \\\n --public true"
+ -
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"type\": \"ipv4\",\n \"public\": true\n }' \\\n https://api.linode.com/v4/linode/instances/123/ips"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes ip-add 123 \\\n --type ipv4 \\\n --public true"
+ x-linode-grant: "read_write"
+ description: "Allocates a public or private IPv4 address to a Linode. Public IP Addresses, after the one included with each Linode, incur an additional monthly charge. If you need an additional public IP Address you must request one - please [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket). You may not add more than one private IPv4 address to a single Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes ip-add 123 \\\n --type ipv4 \\\n --public true\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "ip-add"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-add-linode-ip"
+ operationId: "post-add-linode-ip"
+ x-linode-cli-command: "linodes"
+ /{apiVersion}/profile/tokens:
+ x-akamai:
+ path-info: "/{apiVersion}/profile/tokens"
+ file-path: "paths/profile-tokens.yaml"
+ get:
+ x-linode-cli-action: "tokens-list"
+ description: "Returns a paginated list of Personal Access Tokens currently active for your User.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tokens-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/profile/tokens"
+ -
+ lang: "CLI"
+ source: "linode-cli profile tokens-list"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli profile tokens-list"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ responses:
+ 200:
+ description: "A paginated list of active tokens."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-personal-access-tokens-200.json"
+ schema:
+ type: "object"
+ properties:
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ data:
+ type: "array"
+ items:
+ type: "object"
+ description: "A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations."
+ x-akamai:
+ file-path: "schemas/personal-access-token.yaml"
+ properties:
+ created:
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 4
+ description: "__Filterable__, __Read-only__ The date and time this token was created."
+ type: "string"
+ readOnly: true
+ x-linode-filterable: true
+ example: "2018-01-01T00:01:01"
+ expiry:
+ example: "2018-01-01T13:46:32"
+ readOnly: true
+ description: "__Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked."
+ type: "string"
+ x-linode-cli-display: 6
+ format: "date-time"
+ scopes:
+ format: "oauth-scopes"
+ x-linode-cli-display: 3
+ description: "__Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure."
+ type: "string"
+ readOnly: true
+ example: "*"
+ label:
+ minLength: 1
+ description: "__Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "linode-cli"
+ maxLength: 100
+ x-linode-filterable: true
+ token:
+ example: "abcdefghijklmnop"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned."
+ x-linode-cli-display: 5
+ id:
+ example: 123
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This token's unique ID, which can be used to revoke it."
+ x-linode-cli-display: 1
+ additionalProperties: false
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-get-personal-access-tokens-200.yaml"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ operationId: "get-personal-access-tokens"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-personal-access-tokens"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Profile"
+ x-original-op-id: "getPersonalAccessTokens"
+ summary: "List personal access tokens"
+ x-original-op-title: "Personal Access Tokens List"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-linode-cli-command: "profile"
+ post:
+ summary: "Create a personal access token"
+ x-original-op-title: "Personal Access Token Create"
+ x-original-op-id: "createPersonalAccessToken"
+ operationId: "post-personal-access-token"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-personal-access-token"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-linode-cli-action: "token-create"
+ description: "Creates a Personal Access Token for your User. The raw token will be returned in the response, but will never be returned again afterward so be sure to take note of it. You may create a token with _at most_ the scopes of your current token. The created token will be able to access your Account until the given expiry, or until it is revoked. __Parent and child accounts__ In a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- If you're using a child account parent user (proxy user), you can't create this form of token. The only token available to a proxy user is one that lets you run operations in a child account. These are created with the [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile token-create \\\n --scopes '*' \\\n --expiry '2018-01-01T13:46:32' \\\n --label linode-cli\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"scopes\": \"*\",\n \"expiry\": \"2018-01-01T13:46:32\",\n \"label\": \"linode-cli\"\n }' \\\n https://api.linode.com/v4/profile/tokens"
+ lang: "Shell"
+ -
+ source: "linode-cli profile token-create \\\n --scopes '*' \\\n --expiry '2018-01-01T13:46:32' \\\n --label linode-cli"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli profile token-create \\\n --scopes '*' \\\n --expiry '2018-01-01T13:46:32' \\\n --label linode-cli"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Profile"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "A Personal Access Token is a token generated manually to access the API without going through an OAuth login. Personal Access Tokens can have scopes just like OAuth tokens do, and are commonly used to give access to command-line tools like the Linode CLI, or when writing your own integrations."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/personal-access-token.yaml"
+ properties:
+ created:
+ readOnly: true
+ x-linode-filterable: true
+ example: "2018-01-01T00:01:01"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ format: "date-time"
+ description: "__Filterable__, __Read-only__ The date and time this token was created."
+ type: "string"
+ expiry:
+ readOnly: true
+ example: "2018-01-01T13:46:32"
+ format: "date-time"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Read-only__ When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with `null` as their expiry and will never expire unless revoked."
+ label:
+ maxLength: 100
+ example: "linode-cli"
+ x-linode-filterable: true
+ description: "__Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ token:
+ example: "abcdefghijklmnop"
+ readOnly: true
+ description: "__Read-only__ The token used to access the API. When the token is created, the full token is returned here. Otherwise, only the first 16 characters are returned."
+ type: "string"
+ x-linode-cli-display: 5
+ id:
+ type: "integer"
+ description: "__Read-only__ This token's unique ID, which can be used to revoke it."
+ x-linode-cli-display: 1
+ example: 123
+ readOnly: true
+ scopes:
+ description: "__Read-only__ The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the [Linode CLI](https://github.com/linode/linode-cli), require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure."
+ type: "string"
+ x-linode-cli-display: 3
+ format: "oauth-scopes"
+ example: "*"
+ readOnly: true
+ x-example:
+ x-ref: "../examples/post-personal-access-token-200.json"
+ description: "Token created successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ description: "Information about the requested token."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-personal-access-token.json"
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-personal-access-token.yaml"
+ properties:
+ expiry:
+ description: "When this token should be valid until. If omitted, the new token will be valid until it is manually revoked."
+ type: "string"
+ format: "date-time"
+ example: null
+ scopes:
+ type: "string"
+ description: "The access [scopes](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) to grant to the created token. These cannot be changed after creation, and may not exceed the scopes of the acting token.\n\nIf omitted or entered with a wildcard character (`*`), the new token will have the same scopes as the acting token.\n\nMultiple scopes are separated by a space character (` `).\n\nFor example, `linodes:read_write account:read_only`."
+ format: "oauth-scope"
+ example: "*"
+ label:
+ x-linode-filterable: true
+ maxLength: 100
+ example: "linode-cli"
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ This token's label. This is for display purposes only, but can be used to more easily track what you're using each token for."
+ type: "string"
+ additionalProperties: false
+ required: true
+ /{apiVersion}/databases/mysql/instances/{instanceId}/ssl:
+ get:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance-ssl"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ operationId: "get-databases-mysql-instance-ssl"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli databases mysql-ssl-cert 123"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/mysql/instances/123/ssl"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-ssl-cert 123"
+ x-linode-grant: "read_only"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay the SSL CA certificate for an accessible Managed MySQL Database.\n\nThe Database must have an `active` status to perform this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-ssl-cert 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "mysql-ssl-cert"
+ x-original-op-title: "Managed MySQL Database SSL Certificate View"
+ summary: "Get a managed MySQL database SSL certificate"
+ x-original-op-id: "getDatabasesMySQLInstanceSSL"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-databases-mysql-instance-ssl-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ ca_certificate:
+ example: "LS0tLS1CRUdJ...=="
+ type: "string"
+ description: "The base64-encoded SSL CA certificate for the Managed Database instance."
+ format: "base64"
+ x-linode-cli-display: 1
+ x-akamai:
+ file-path: "schemas/database-ssl.yaml"
+ type: "object"
+ description: "Managed Database SSL object."
+ description: "Returns the SSL CA certificate of a single Managed MySQL Database."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_only"
+ x-akamai:
+ file-path: "paths/mysql-ssl.yaml"
+ path-info: "/{apiVersion}/databases/mysql/instances/{instanceId}/ssl"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ schema:
+ type: "integer"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/instance-id-path-c09a6713.yaml"
+ name: "instanceId"
+ description: "The ID of the Managed MySQL Database."
+ x-linode-cli-command: "databases"
+ /{apiVersion}/account/maintenance:
+ x-linode-cli-command: "account"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ get:
+ responses:
+ 200:
+ description: "Returns a paginated list of Maintenance objects."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-maintenance-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-maintenance-200.yaml"
+ properties:
+ pages:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ data:
+ items:
+ additionalProperties: false
+ description: "Information about maintenance affecting an entity."
+ type: "object"
+ properties:
+ entity:
+ additionalProperties: false
+ properties:
+ label:
+ type: "string"
+ description: "The label of the entity being affected by maintenance."
+ example: "demo-linode"
+ type:
+ example: "Linode"
+ description: "The type of entity."
+ type: "string"
+ url:
+ type: "string"
+ description: "The API endpoint prefix to use in combination with the entity id to find specific information about the entity."
+ example: "https://api.linode.com/v4/linode/instances/{linodeId}"
+ id:
+ type: "number"
+ description: "The id of the entity being affected by maintenance."
+ example: 1234
+ type: "object"
+ description: "The entity being affected by maintenance."
+ type:
+ x-linode-filterable: true
+ enum:
+ - "reboot"
+ - "cold_migration"
+ - "live_migration"
+ example: "reboot"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The type of maintenance."
+ when:
+ x-linode-filterable: true
+ example: "2020-07-09T00:01:01"
+ description: "__Filterable__ When the maintenance will begin.\n\n[Filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with the following parameters:\n\n- A single value in date-time string format (`%Y-%m-%dT%H:%M:%S`), which returns only matches to that value.\n\n- A dictionary containing pairs of inequality operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single date-time string format values (`%Y-%m-%dT%H:%M:%S`). `+or` accepts an array of values that may consist of single date-time strings or dictionaries of inequality operator pairs."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ reason:
+ description: "The reason maintenance is being performed."
+ type: "string"
+ example: "This maintenance will allow us to update the BIOS on the host's motherboard."
+ status:
+ x-linode-filterable: true
+ example: "started"
+ enum:
+ - "completed"
+ - "pending"
+ - "started"
+ description: "__Filterable__ The maintenance status.\n\nMaintenance progresses in the following sequence: pending, started, then completed."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-akamai:
+ file-path: "schemas/maintenance.yaml"
+ type: "array"
+ results:
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ example: 1
+ readOnly: true
+ type: "object"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "object"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth: []
+ tags:
+ - "Account"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/account/maintenance"
+ -
+ source: "linode-cli account maintenance-list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli account maintenance-list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ x-linode-cli-action: "maintenance-list"
+ x-linode-grant: "read_only"
+ description: "Returns a collection of Maintenance objects for any entity a user has permissions to view. Canceled Maintenance objects are not returned.\n\nCurrently, Linodes are the only entities available for viewing.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account maintenance-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ operationId: "get-maintenance"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-maintenance"
+ x-original-op-id: "getMaintenance"
+ summary: "List maintenances"
+ x-original-op-title: "Maintenance List"
+ x-akamai:
+ file-path: "paths/maintenance.yaml"
+ path-info: "/{apiVersion}/account/maintenance"
+ /{apiVersion}/account/settings/managed-enable:
+ x-linode-cli-command: "account"
+ post:
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/account/settings/managed-enable"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli account enable-managed"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli account enable-managed"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "enable-managed"
+ x-linode-grant: "read_write"
+ description: "Enables Linode Managed for the entire account and sends a welcome email to the account's associated email address. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. See our [Linode Managed guide](https://www.linode.com/docs/guides/linode-managed/) to learn more.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account enable-managed\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "post-enable-account-managed"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-enable-account-managed"
+ x-original-op-id: "enableAccountManaged"
+ summary: "Enable Linode Managed"
+ x-original-op-title: "Linode Managed Enable"
+ responses:
+ 200:
+ description: "Managed services enabled for account."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-enable-account-managed-200.json"
+ schema:
+ type: "object"
+ description: "The API responds with an empty object."
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ type: "array"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Account"
+ x-akamai:
+ path-info: "/{apiVersion}/account/settings/managed-enable"
+ file-path: "paths/managed-enable.yaml"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ /{apiVersion}/profile/apps/{appId}:
+ x-linode-cli-command: "profile"
+ get:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-profile-app"
+ operationId: "get-profile-app"
+ responses:
+ 200:
+ description: "The app requested."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/authorized-app.yaml"
+ properties:
+ id:
+ description: "__Read-only__ This authorization's ID, used for revoking access."
+ type: "integer"
+ x-linode-cli-display: 1
+ example: 123
+ readOnly: true
+ scopes:
+ example: "linodes:read_only"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The OAuth scopes this app was authorized with. This defines what parts of your Account the app is allowed to access."
+ format: "oauth-scopes"
+ x-linode-cli-display: 3
+ expiry:
+ x-linode-filterable: true
+ example: "2018-01-15T00:01:01"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ When the app's access to your account expires. If `null`, the app's access must be revoked manually."
+ type: "string"
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 6
+ created:
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this app was authorized."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ format: "date-time"
+ x-linode-filterable: true
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ label:
+ description: "__Filterable__, __Read-only__ The name of the application you've authorized."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "example-app"
+ x-linode-filterable: true
+ readOnly: true
+ website:
+ readOnly: true
+ example: "example.org"
+ x-linode-cli-display: 4
+ format: "url"
+ type: "string"
+ description: "__Read-only__ The website where you can get more information about this app."
+ thumbnail_url:
+ example: null
+ readOnly: true
+ description: "__Read-only__ The URL at which this app's thumbnail may be accessed."
+ type: "string"
+ format: "url"
+ description: "An application you have authorized access to your Account through OAuth."
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-profile-app-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli profile app-view 1234"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/profile/apps/123"
+ -
+ lang: "CLI"
+ source: "linode-cli profile app-view 1234"
+ description: "Returns information about a single app you've authorized to access your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile app-view 1234\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "app-view"
+ x-original-op-title: "Authorized App View"
+ summary: "Get an authorized app"
+ x-original-op-id: "getProfileApp"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ x-akamai:
+ file-path: "paths/app.yaml"
+ path-info: "/{apiVersion}/profile/apps/{appId}"
+ delete:
+ x-original-op-title: "App Access Revoke"
+ summary: "Revoke app access"
+ x-original-op-id: "deleteProfileApp"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-profile-app"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-profile-app"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli profile app-delete 123"
+ title: "CLI"
+ -
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/profile/apps/123"
+ lang: "Shell"
+ -
+ source: "linode-cli profile app-delete 123"
+ lang: "CLI"
+ description: "Expires this app token. This token may no longer be used to access your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile app-delete 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "app-delete"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/delete-profile-app-200.json"
+ schema:
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ description: "App's authorization has been revoked."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ -
+ schema:
+ type: "integer"
+ description: "The authorized app ID to manage."
+ name: "appId"
+ x-akamai:
+ file-path: "parameters/app-id-path.yaml"
+ required: true
+ in: "path"
+ /{apiVersion}/databases/mysql/instances/{instanceId}/backups:
+ post:
+ summary: "Create a managed MySQL database backup snapshot"
+ x-original-op-title: "Managed MySQL Database Backup Snapshot Create"
+ x-original-op-id: "postDatabasesMySQLInstanceBackup"
+ operationId: "post-databases-mysql-instance-backup"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-databases-mysql-instance-backup"
+ x-linode-cli-action: "mysql-backup-snapshot"
+ x-linode-grant: "read_write"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nCreates a snapshot backup of a Managed MySQL Database.\n\nRequires `read_write` access to the Database.\n\nUp to 3 snapshot backups for each Database can be stored at a time. If 3 snapshots have been created for a Database, one must be deleted before another can be made.\n\nBackups generated by this operation have the type `snapshot`. Snapshot backups may take several minutes to complete, after which they will be accessible to view or restore.\n\nThe Database must have an `active` status to perform this operation. If another backup is in progress, it must complete before a new backup can be initiated.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-backup-snapshot 123 \\\n --label snapshot1 \\\n --target primary\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -X POST -d '{\n \"label\": \"snapshot1\",\n \"target\": \"primary\"\n }' \\\n https://api.linode.com/v4/databases/mysql/instances/123/backups/"
+ lang: "Shell"
+ -
+ source: "linode-cli databases mysql-backup-snapshot 123 \\\n --label snapshot1 \\\n --target primary"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases mysql-backup-snapshot 123 \\\n --label snapshot1 \\\n --target primary"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ tags:
+ - "Databases"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-databases-mysql-instance-backup-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ type: "object"
+ description: "The API responds with an empty object."
+ description: "Database snapshot backup request successful."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ requestBody:
+ content:
+ application/json:
+ schema:
+ description: "Managed Database request object for snapshot backup."
+ type: "object"
+ properties:
+ label:
+ type: "string"
+ description: "The label for the Database snapshot backup.\n\n- Can only contain ASCII letters, numbers, and underscores (`_`).\n- Must be unique among other backup labels for this Database."
+ minLength: 1
+ maxLength: 30
+ example: "db-snapshot"
+ target:
+ type: "string"
+ description: "The Database cluster target. If the Database is a high availability cluster, choosing `secondary` creates a snapshot backup of a replica node."
+ default: "primary"
+ example: "primary"
+ enum:
+ - "primary"
+ - "secondary"
+ x-akamai:
+ file-path: "schemas/database-backup-snapshot.yaml"
+ required:
+ - "label"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-databases-mysql-instance-backup.json"
+ description: "Information about the snapshot backup to create."
+ x-linode-cli-command: "databases"
+ parameters:
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ -
+ name: "instanceId"
+ description: "The ID of the Managed PostgreSQL Database."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/instance-id-path.yaml"
+ schema:
+ type: "integer"
+ required: true
+ get:
+ x-original-op-title: "Managed MySQL Database Backups List"
+ summary: "List managed MySQL database backups"
+ parameters:
+ -
+ schema:
+ default: 1
+ minimum: 1
+ type: "integer"
+ in: "query"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ name: "page"
+ description: "The page of a collection to return."
+ -
+ name: "page_size"
+ description: "The number of items to return per page."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ schema:
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ default: 100
+ x-original-op-id: "getDatabasesMySQLInstanceBackups"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-mysql-instance-backups"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ operationId: "get-databases-mysql-instance-backups"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay all backups for an accessible Managed MySQL Database.\n\nThe Database must not be provisioning to perform this operation.\n\nDatabase `auto` type backups are created every 24 hours at 0:00 UTC. Each `auto` backup is retained for 7 days.\n\nDatabase `snapshot` type backups are created by accessing the [Create a managed MySQL database backup snapshot](https://techdocs.akamai.com/linode-api/reference/post-databases-mysql-instance-backup) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-backups-list 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "mysql-backups-list"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli databases mysql-backups-list 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "databases:read_write"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/databases/mysql/instances/123/backups"
+ -
+ lang: "CLI"
+ source: "linode-cli databases mysql-backups-list 123"
+ tags:
+ - "Databases"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "databases:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-databases-mysql-instance-backups-200.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ results:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ -
+ type: "object"
+ properties:
+ data:
+ type: "array"
+ items:
+ type: "object"
+ description: "A database backup object."
+ x-akamai:
+ file-path: "schemas/database-backup.yaml"
+ properties:
+ created:
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 4
+ description: "__Filterable__ A time value given in a combined date and time format that represents when the database backup was created."
+ type: "string"
+ x-linode-filterable: true
+ example: "2022-01-01T00:01:01"
+ id:
+ example: 123
+ description: "The ID of the database backup object."
+ type: "integer"
+ x-linode-cli-display: 1
+ type:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__ The type of database backup, determined by how the backup was created."
+ type: "string"
+ x-linode-filterable: true
+ example: "auto"
+ enum:
+ - "snapshot"
+ - "auto"
+ label:
+ example: "Scheduled - 02/04/22 11:11 UTC-XcCRmI"
+ maxLength: 30
+ x-linode-cli-display: 2
+ type: "string"
+ description: "The database backup's label, for display purposes only.\n\nMust include only ASCII letters or numbers."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-databases-mysql-instance-backups-200.json"
+ description: "Returns a paginated list of backups for the Managed MySQL Database."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ additionalProperties: false
+ x-akamai:
+ file-path: "paths/mysql-backups.yaml"
+ path-info: "/{apiVersion}/databases/mysql/instances/{instanceId}/backups"
+ /{apiVersion}/nodebalancers:
+ x-akamai:
+ path-info: "/{apiVersion}/nodebalancers"
+ file-path: "paths/node-balancers.yaml"
+ get:
+ x-linode-grant: "read_only"
+ description: "Returns a paginated list of NodeBalancers you have access to.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli nodebalancers list"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "nodebalancers:read_only"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/nodebalancers"
+ lang: "Shell"
+ -
+ source: "linode-cli nodebalancers list"
+ lang: "CLI"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-node-balancers"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-node-balancers"
+ parameters:
+ -
+ required: false
+ schema:
+ type: "integer"
+ minimum: 1
+ default: 1
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ name: "page"
+ description: "The page of a collection to return."
+ -
+ schema:
+ maximum: 500
+ type: "integer"
+ minimum: 25
+ default: 100
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-original-op-id: "getNodeBalancers"
+ x-original-op-title: "NodeBalancers List"
+ summary: "List NodeBalancers"
+ responses:
+ 200:
+ description: "A paginated list of NodeBalancers."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-node-balancers-200.json"
+ schema:
+ properties:
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ data:
+ items:
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ type: "object"
+ properties:
+ created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ ipv4:
+ readOnly: true
+ x-linode-filterable: true
+ example: "203.0.113.1"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ format: "ip"
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ type: "string"
+ region:
+ readOnly: true
+ x-linode-filterable: true
+ example: "us-east"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ type: "string"
+ ipv6:
+ format: "ip"
+ x-linode-cli-display: 6
+ nullable: true
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ readOnly: true
+ example: null
+ id:
+ readOnly: true
+ example: 12345
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ transfer:
+ properties:
+ in:
+ example: 28.9120082855225
+ readOnly: true
+ type: "number"
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ out:
+ type: "number"
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ readOnly: true
+ example: 3.54877281188965
+ total:
+ readOnly: true
+ example: 32.4607810974121
+ type: "number"
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ nullable: true
+ type: "object"
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ readOnly: true
+ additionalProperties: false
+ tags:
+ type: "array"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ client_conn_throttle:
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ type: "integer"
+ minimum: 0
+ maximum: 20
+ x-linode-cli-display: 6
+ example: 0
+ updated:
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ format: "date-time"
+ example: "2018-03-01T00:01:01"
+ readOnly: true
+ label:
+ type: "string"
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 3
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ x-linode-filterable: true
+ example: "balancer12345"
+ maxLength: 32
+ hostname:
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ x-linode-cli-display: 4
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ additionalProperties: false
+ title: "NodeBalancer"
+ type: "array"
+ pages:
+ readOnly: true
+ example: 1
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ x-akamai:
+ file-path: "schemas/added-get-node-balancers-200.yaml"
+ type: "object"
+ additionalProperties: false
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ tags:
+ - "NodeBalancers"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_only"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-linode-cli-command: "nodebalancers"
+ post:
+ requestBody:
+ required: true
+ description: "Information about the NodeBalancer to create."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-node-balancer.json"
+ schema:
+ type: "object"
+ properties:
+ label:
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 3
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ maxLength: 32
+ example: "balancer12345"
+ x-linode-filterable: true
+ tags:
+ type: "array"
+ description: "An array of Tags applied to this object. Tags are for organizational purposes only."
+ items:
+ type: "string"
+ example:
+ - "test"
+ - "web-dev-team"
+ client_conn_throttle:
+ example: 0
+ x-linode-cli-display: 6
+ maximum: 20
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ minimum: 0
+ type: "integer"
+ region:
+ example: "us-east"
+ description: "The ID of the Region to create this NodeBalancer in."
+ type: "string"
+ firewall_id:
+ type: "integer"
+ description: "The ID of the Firewall to assign to the NodeBalancer.\n\n- Only one NodeBalancer can be assigned to a Firewall at a time.\n- Firewalls only apply to inbound TCP traffic to NodeBalancers."
+ configs:
+ description: "The port Configs to create for this NodeBalancer.\n\nEach Config must have a unique port and at least one Node."
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "A request object representing a NodeBalancer Config, including Nodes."
+ required:
+ - "nodes"
+ properties:
+ check_path:
+ example: "/test"
+ pattern: "^[a-zA-Z0-9\\/\\-%?&=.]*$"
+ description: "The URL path to check on each backend. If the backend does not respond to this request it is considered to be down."
+ type: "string"
+ ssl_key:
+ example: ""
+ format: "ssl-key"
+ type: "string"
+ description: "The PEM-formatted private key for the SSL certificate set in the `ssl_cert` field.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\nThe contents of this field will not be shown in any responses that display\nthe NodeBalancerConfig. Instead, `` will be printed where the field\nappears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig\nresponse are automatically derived from your certificate. Please refer to these fields to\nverify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ nullable: true
+ check_passive:
+ x-linode-cli-display: 6
+ default: true
+ type: "boolean"
+ description: "If true, any response from this backend with a `5xx` status code will be enough for it to be considered unhealthy and taken out of rotation."
+ example: true
+ nodes:
+ items:
+ type: "object"
+ description: "A NodeBalancerNode represents a single backend serving requests for a single port of a NodeBalancer. Nodes are specific to NodeBalancer Configs, and serve traffic over their private IP. If the same Linode is serving traffic for more than one port on the same NodeBalancer, one NodeBalancer Node is required for each config (port) it should serve requests on. For example, if you have four backends, and each should response to both HTTP and HTTPS requests, you will need two NodeBalancerConfigs (port 80 and port 443) and four backends each - one for each of the Linodes serving requests for that port."
+ x-akamai:
+ file-path: "schemas/node-balancer-node.yaml"
+ properties:
+ config_id:
+ description: "__Read-only__ The NodeBalancer Config ID that this Node belongs to."
+ type: "integer"
+ readOnly: true
+ example: 4567
+ address:
+ example: "192.168.210.120:80"
+ format: "ip"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "The private IP Address where this backend can be reached. This _must_ be a private IP address."
+ id:
+ example: 54321
+ readOnly: true
+ description: "__Read-only__ This node's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ nodebalancer_id:
+ readOnly: true
+ example: 12345
+ description: "__Read-only__ The NodeBalancer ID that this Node belongs to."
+ type: "integer"
+ status:
+ x-linode-cli-display: 4
+ description: "__Read-only__ The current status of this node, based on the configured checks of its NodeBalancer Config."
+ type: "string"
+ x-linode-cli-color:
+ unknown: "yellow"
+ default_: "white"
+ DOWN: "red"
+ UP: "green"
+ readOnly: true
+ enum:
+ - "unknown"
+ - "UP"
+ - "DOWN"
+ example: "UP"
+ label:
+ pattern: "[a-zA-Z0-9-_.]{3,32}"
+ maxLength: 32
+ example: "node54321"
+ description: "The label for this node. This is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 2
+ minLength: 3
+ weight:
+ x-linode-cli-display: 5
+ type: "integer"
+ minimum: 1
+ description: "Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic."
+ maximum: 255
+ example: 50
+ mode:
+ type: "string"
+ description: "The mode this NodeBalancer should use when sending traffic to this backend.\n\n- If set to `accept` this backend is accepting traffic.\n- If set to `reject` this backend will not receive traffic.\n- If set to `drain` this backend will not receive _new_ traffic, but connections already pinned to it will continue to be routed to it.\n- If set to `backup`, this backend will only receive traffic if all `accept` nodes are down."
+ x-linode-cli-display: 6
+ example: "accept"
+ enum:
+ - "accept"
+ - "reject"
+ - "drain"
+ - "backup"
+ additionalProperties: false
+ type: "array"
+ description: "The NodeBalancer Nodes that serve this Config."
+ algorithm:
+ default: "roundrobin"
+ enum:
+ - "roundrobin"
+ - "leastconn"
+ - "source"
+ example: "roundrobin"
+ x-linode-cli-display: 4
+ description: "What algorithm this NodeBalancer should use for routing traffic to backends."
+ type: "string"
+ check_timeout:
+ maximum: 30
+ default: 30
+ example: 10
+ type: "integer"
+ description: "How long, in seconds, to wait for a check attempt before considering it failed.\n\nMust be less than `check_interval`."
+ minimum: 1
+ protocol:
+ description: "The protocol this port is configured to serve.\n\n- The `http` and `tcp` protocols do not support `ssl_cert` and `ssl_key`.\n\n- The `https` protocol is mutually required with `ssl_cert` and `ssl_key`.\n\nReview our guide on [Available Protocols](https://www.linode.com/docs/products/networking/nodebalancers/guides/protocols/) for information on protocol features."
+ type: "string"
+ x-linode-cli-display: 3
+ default: "http"
+ enum:
+ - "http"
+ - "https"
+ - "tcp"
+ example: "http"
+ stickiness:
+ x-linode-cli-display: 5
+ type: "string"
+ description: "Controls how session stickiness is handled on this port.\n\n- If set to `none` connections will always be assigned a backend based on the algorithm configured.\n- If set to `table` sessions from the same remote address will be routed to the same backend.\n- For HTTP or HTTPS clients, `http_cookie` allows sessions to be routed to the same backend based on a cookie set by the NodeBalancer."
+ example: "http_cookie"
+ enum:
+ - "none"
+ - "table"
+ - "http_cookie"
+ default: "none"
+ cipher_suite:
+ enum:
+ - "recommended"
+ - "legacy"
+ example: "recommended"
+ default: "recommended"
+ x-linode-cli-color:
+ default_: "white"
+ legacy: "red"
+ x-linode-cli-display: 7
+ description: "What ciphers to use for SSL connections served by this NodeBalancer.\n\n- `legacy` is considered insecure and should only be used if necessary."
+ type: "string"
+ check_body:
+ example: "it works"
+ type: "string"
+ description: "This value must be present in the response body of the check in order for it to pass. If this value is not present in the response body of a check request, the backend is considered to be down."
+ ssl_cert:
+ example: ""
+ description: "\nThe PEM-formatted public SSL certificate (or the combined PEM-formatted SSL certificate and Certificate Authority chain) that should be served on this NodeBalancerConfig's port.\n\nLine breaks must be represented as `\\n` in the string for requests (but not when using the Linode CLI).\n\n[Diffie-Hellman Parameters](https://www.linode.com/docs/products/networking/nodebalancers/guides/ssl-termination/#diffie-hellman-parameters) can be included in this value to enable forward secrecy.\n\nThe contents of this field will not be shown in any responses that display the NodeBalancerConfig. Instead, `` will be printed where the field appears.\n\nThe read-only `ssl_commonname` and `ssl_fingerprint` fields in a NodeBalancerConfig response are automatically derived from your certificate. Please refer to these fields to verify that the appropriate certificate was assigned to your NodeBalancerConfig."
+ type: "string"
+ nullable: true
+ format: "ssl-cert"
+ check_attempts:
+ default: 3
+ maximum: 30
+ description: "How many times to attempt a check before considering a backend to be down."
+ type: "integer"
+ minimum: 1
+ example: 3
+ port:
+ minimum: 1
+ description: "The port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443."
+ type: "integer"
+ x-linode-cli-display: 2
+ example: 80
+ maximum: 65535
+ default: 80
+ proxy_protocol:
+ enum:
+ - "none"
+ - "v1"
+ - "v2"
+ example: "none"
+ type: "string"
+ description: "ProxyProtocol is a TCP extension that sends initial TCP connection information such as source/destination IPs and ports to backend devices. This information would be lost otherwise. Backend devices must be configured to work with ProxyProtocol if enabled.\n\n- If omitted, or set to `none`, the NodeBalancer doesn't send any auxiliary data over TCP connections. This is the default.\n- If set to `v1`, the human-readable header format (Version 1) is used. Requires `tcp` protocol.\n- If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol."
+ default: "none"
+ check_interval:
+ example: 90
+ description: "How often, in seconds, to check that backends are up and serving requests.\n\nMust be greater than `check_timeout`."
+ type: "integer"
+ default: 31
+ check:
+ example: "http_body"
+ enum:
+ - "none"
+ - "connection"
+ - "http"
+ - "http_body"
+ default: "none"
+ description: "The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down.\n\n- If `none` no check is performed.\n- `connection` requires only a connection to the backend to succeed.\n- `http` and `http_body` rely on the backend serving HTTP, and that the response returned matches what is expected."
+ type: "string"
+ required:
+ - "region"
+ x-akamai:
+ file-path: "schemas/added-post-node-balancer.yaml"
+ additionalProperties: false
+ x-linode-cli-allowed-defaults:
+ - "region"
+ responses:
+ 200:
+ description: "NodeBalancer created successfully."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-node-balancer-200.json"
+ schema:
+ title: "NodeBalancer"
+ additionalProperties: false
+ type: "object"
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ properties:
+ ipv4:
+ type: "string"
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ format: "ip"
+ x-linode-filterable: true
+ example: "203.0.113.1"
+ readOnly: true
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ format: "date-time"
+ region:
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ example: 12345
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ x-linode-cli-display: 1
+ ipv6:
+ readOnly: true
+ example: null
+ format: "ip"
+ x-linode-cli-display: 6
+ nullable: true
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ type: "array"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ updated:
+ format: "date-time"
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ type: "string"
+ readOnly: true
+ example: "2018-03-01T00:01:01"
+ hostname:
+ x-linode-cli-display: 4
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ type: "string"
+ readOnly: true
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ label:
+ minLength: 3
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ example: "balancer12345"
+ maxLength: 32
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ transfer:
+ readOnly: true
+ additionalProperties: false
+ properties:
+ out:
+ nullable: true
+ type: "number"
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ example: 3.54877281188965
+ readOnly: true
+ in:
+ example: 28.9120082855225
+ readOnly: true
+ type: "number"
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ total:
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ type: "number"
+ nullable: true
+ readOnly: true
+ example: 32.4607810974121
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ type: "object"
+ client_conn_throttle:
+ maximum: 20
+ example: 0
+ x-linode-cli-display: 6
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ minimum: 0
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "nodebalancers:read_write"
+ tags:
+ - "NodeBalancers"
+ x-linode-cli-action: "create"
+ x-linode-grant: "add_nodebalancers"
+ description: "Creates a NodeBalancer in the requested Region. Only available in [regions](https://techdocs.akamai.com/linode-api/reference/get-regions) with \"NodeBalancers\" in their `capabilities`.\n\nNodeBalancers require a port Config with at least one backend Node to start serving requests.\n\nWhen using the Linode CLI to create a NodeBalancer, first create a NodeBalancer without any Configs. Then, create Configs and Nodes for that NodeBalancer with the respective [Create a config](https://techdocs.akamai.com/linode-api/reference/post-node-balancer-config) and [Create a node](https://techdocs.akamai.com/linode-api/reference/post-node-balancer-node) operations.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli nodebalancers create \\\n --region us-east \\\n --label balancer12345 \\\n --client_conn_throttle 0\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n nodebalancers:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"region\": \"us-east\",\n \"label\": \"balancer12345\",\n \"client_conn_throttle\": 0,\n \"configs\": [\n {\n \"port\": 443,\n \"protocol\": \"https\",\n \"algorithm\": \"roundrobin\",\n \"stickiness\": \"http_cookie\",\n \"check\": \"http_body\",\n \"check_interval\": 90,\n \"check_timeout\": 10,\n \"check_attempts\": 3,\n \"check_path\": \"/test\",\n \"check_body\": \"it works\",\n \"check_passive\": true,\n \"proxy_protocol\": \"none\",\n \"cipher_suite\": \"recommended\",\n \"ssl_cert\": \"-----BEGIN CERTIFICATE-----\\nCERTIFICATE_INFORMATION\\n-----END CERTIFICATE-----\",\n \"ssl_key\": \"-----BEGIN PRIVATE KEY-----\\nPRIVATE_KEY_INFORMATION\\n-----END PRIVATE KEY-----\",\n \"nodes\": [\n {\n \"address\": \"192.168.210.120:80\",\n \"label\": \"node1\",\n \"weight\": 50,\n \"mode\": \"accept\"\n },\n {\n \"address\": \"192.168.210.122:81\",\n \"label\": \"node2\",\n \"weight\": 50,\n \"mode\": \"accept\"\n }\n ]\n }\n ]\n }' \\\n https://api.linode.com/v4/nodebalancers"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli nodebalancers create \\\n --region us-east \\\n --label balancer12345 \\\n --client_conn_throttle 0"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli nodebalancers create \\\n --region us-east \\\n --label balancer12345 \\\n --client_conn_throttle 0"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "nodebalancers:read_write"
+ title: "OAuth scopes"
+ operationId: "post-node-balancer"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-node-balancer"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-original-op-id: "createNodeBalancer"
+ summary: "Create a NodeBalancer"
+ x-original-op-title: "NodeBalancer Create"
+ /{apiVersion}/object-storage/transfer:
+ get:
+ responses:
+ 200:
+ description: "Returns the amount of outbound data transfer used by your account's Object Storage buckets."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-object-storage-transfer-200.yaml"
+ properties:
+ used:
+ example: 12956600198
+ readOnly: true
+ description: "__Read-only__ The amount of outbound data transfer used by your account's Object Storage buckets, in bytes, for the current month's billing cycle."
+ type: "integer"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-object-storage-transfer-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "object"
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_only"
+ description: "The amount of outbound data transfer used by your account's Object Storage buckets. Object Storage adds 1 terabyte of outbound data transfer to your data transfer pool. See the [Object Storage Overview](https://www.linode.com/docs/products/storage/object-storage/#pricing) guide for details on Object Storage transfer quotas.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-akamai:
+ tabs:
+ -
+ syntax: "object_storage:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/object-storage/transfer/"
+ lang: "Shell"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-object-storage-transfer"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-linode-cli-skip: true
+ operationId: "get-object-storage-transfer"
+ x-original-op-id: "getObjectStorageTransfer"
+ x-original-op-title: "Object Storage Transfer View"
+ summary: "Get Object Storage transfer data"
+ x-akamai:
+ file-path: "paths/object-storage-transfer.yaml"
+ path-info: "/{apiVersion}/object-storage/transfer"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ /{apiVersion}/networking/firewalls/{firewallId}:
+ parameters:
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/firewall-id.yaml"
+ name: "firewallId"
+ description: "ID of the Firewall to access."
+ required: true
+ schema:
+ type: "integer"
+ put:
+ x-linode-grant: "read_write"
+ description: "Updates information for a Firewall.\n\n- Assigned Linodes must not have any ongoing live migrations.\n\n- If a Firewall's status is changed with this operation, a corresponding `firewall_enable` or `firewall_disable` Event will be generated.\n\nSome parts of a Firewall's configuration cannot be manipulated by this operation:\n\n- A Firewall's Devices cannot be set with this operation. Instead, run the [Create a firewall device](https://techdocs.akamai.com/linode-api/reference/post-firewall-device) and [Delete a firewall device](https://techdocs.akamai.com/linode-api/reference/delete-firewall-device) operations to assign and remove this Firewall from services.\n\n- A Firewall's Rules cannot be changed with this operation. Instead, run the [Update firewall rules](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) operation to update your Rules.\n\n- A Firewall's status can be set to `enabled` or `disabled` by this operation, but it cannot be set to `deleted`. Instead, run the [Delete a firewall](https://techdocs.akamai.com/linode-api/reference/delete-firewall) operation to delete a Firewall.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls update 123 \\\n --status disabled\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "update"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli firewalls update 123 \\\n --status disabled"
+ title: "CLI"
+ -
+ title: "OAuth scopes"
+ syntax: "firewall:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"status\": \"disabled\"\n }' \\\n https://api.linode.com/v4/networking/firewalls/123"
+ -
+ source: "linode-cli firewalls update 123 \\\n --status disabled"
+ lang: "CLI"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-firewall"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "put-firewall"
+ x-original-op-id: "updateFirewall"
+ x-original-op-title: "Firewall Update"
+ summary: "Update a firewall"
+ requestBody:
+ description: "The Firewall information to update."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-firewall.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-put-firewall.yaml"
+ properties:
+ tags:
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ label:
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ x-linode-filterable: true
+ maxLength: 32
+ example: "firewall123"
+ type: "string"
+ description: "__Filterable__ The Firewall's label, for display purposes only.\n\nFirewall labels have the following constraints:\n\n - Must begin and end with an alphanumeric character.\n - May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n - Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row.\n - Must be between 3 and 32 characters.\n - Must be unique."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 3
+ status:
+ type: "string"
+ description: "The status to be applied to this Firewall.\n\n - When a Firewall is first created its status is `enabled`.\n - Run the [Delete a firewall](https://techdocs.akamai.com/linode-api/reference/delete-firewall) operation to delete a Firewall."
+ x-linode-cli-display: 3
+ example: "enabled"
+ enum:
+ - "enabled"
+ - "disabled"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-firewall-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/firewall.yaml"
+ properties:
+ rules:
+ additionalProperties: false
+ properties:
+ outbound_policy:
+ example: "DROP"
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ type: "string"
+ description: "The default behavior for outbound traffic. This setting can be overridden by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound.action` property of the Firewall Rule."
+ inbound_policy:
+ description: "The default behavior for inbound traffic. This setting can be overridden by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound.action` property of the Firewall Rule."
+ type: "string"
+ example: "DROP"
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ inbound:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "One of a Firewall's inbound or outbound access rules. The `ports` property can be used to allow traffic on a comma-separated list of different ports."
+ properties:
+ addresses:
+ additionalProperties: false
+ description: "The IPv4 and/or IPv6 addresses affected by this rule. A Rule can have up to 255 total addresses or networks listed across its IPv4 and IPv6 arrays. A network and a single IP are treated as equivalent when accounting for this limit.\n\nMust contain `ipv4`, `ipv6`, or both."
+ type: "object"
+ properties:
+ ipv6:
+ items:
+ type: "string"
+ description: "A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list.\n\nIf `::/0` is included in this list, all IPv6 addresses are affected by this rule."
+ type: "array"
+ example:
+ - "2001:DB8::/128"
+ ipv4:
+ items:
+ type: "string"
+ description: "A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.\n\nIf `0.0.0.0/0` is included in this list, all IPv4 addresses are affected by this rule."
+ type: "array"
+ example:
+ - "192.0.2.0/24"
+ - "198.51.100.2/32"
+ ports:
+ description: "A string representing the port or ports affected by this rule:\n\n- The string may be a single port, a range of ports, or a comma-separated list of single ports and port ranges. A space is permitted following each comma.\n- A range of ports is inclusive of the start and end values for the range. The end value of the range must be greater than the start value.\n- Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port `080` is not allowed.\n- The ports string can have up to 15 _pieces_, where a single port is treated as one piece, and a port range is treated as two pieces. For example, the string \"22-24, 80, 443\" has four pieces.\n- If no ports are configured, all ports are affected.\n- Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols."
+ type: "string"
+ nullable: true
+ example: "22-24, 80, 443"
+ protocol:
+ type: "string"
+ description: "The type of network traffic affected by this rule."
+ example: "TCP"
+ enum:
+ - "TCP"
+ - "UDP"
+ - "ICMP"
+ - "IPENCAP"
+ label:
+ minLength: 3
+ maxLength: 32
+ example: "firewallrule123"
+ type: "string"
+ description: "Used to identify this rule. For display purposes only."
+ description:
+ description: "Used to describe this rule. For display purposes only."
+ type: "string"
+ example: "An example firewall rule description."
+ maxLength: 100
+ minLength: 1
+ action:
+ description: "Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule."
+ type: "string"
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ example: "ACCEPT"
+ x-akamai:
+ file-path: "schemas/firewall-rule-config.yaml"
+ x-linode-cli-format: "json"
+ description: "The inbound rules for the firewall, as a JSON array."
+ type: "array"
+ outbound:
+ items:
+ additionalProperties: false
+ description: "One of a Firewall's inbound or outbound access rules. The `ports` property can be used to allow traffic on a comma-separated list of different ports."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/firewall-rule-config.yaml"
+ properties:
+ ports:
+ nullable: true
+ description: "A string representing the port or ports affected by this rule:\n\n- The string may be a single port, a range of ports, or a comma-separated list of single ports and port ranges. A space is permitted following each comma.\n- A range of ports is inclusive of the start and end values for the range. The end value of the range must be greater than the start value.\n- Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port `080` is not allowed.\n- The ports string can have up to 15 _pieces_, where a single port is treated as one piece, and a port range is treated as two pieces. For example, the string \"22-24, 80, 443\" has four pieces.\n- If no ports are configured, all ports are affected.\n- Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols."
+ type: "string"
+ example: "22-24, 80, 443"
+ addresses:
+ additionalProperties: false
+ properties:
+ ipv4:
+ example:
+ - "192.0.2.0/24"
+ - "198.51.100.2/32"
+ items:
+ type: "string"
+ description: "A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.\n\nIf `0.0.0.0/0` is included in this list, all IPv4 addresses are affected by this rule."
+ type: "array"
+ ipv6:
+ example:
+ - "2001:DB8::/128"
+ description: "A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list.\n\nIf `::/0` is included in this list, all IPv6 addresses are affected by this rule."
+ type: "array"
+ items:
+ type: "string"
+ description: "The IPv4 and/or IPv6 addresses affected by this rule. A Rule can have up to 255 total addresses or networks listed across its IPv4 and IPv6 arrays. A network and a single IP are treated as equivalent when accounting for this limit.\n\nMust contain `ipv4`, `ipv6`, or both."
+ type: "object"
+ protocol:
+ type: "string"
+ description: "The type of network traffic affected by this rule."
+ example: "TCP"
+ enum:
+ - "TCP"
+ - "UDP"
+ - "ICMP"
+ - "IPENCAP"
+ description:
+ minLength: 1
+ maxLength: 100
+ example: "An example firewall rule description."
+ type: "string"
+ description: "Used to describe this rule. For display purposes only."
+ label:
+ example: "firewallrule123"
+ maxLength: 32
+ minLength: 3
+ type: "string"
+ description: "Used to identify this rule. For display purposes only."
+ action:
+ example: "ACCEPT"
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ description: "Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule."
+ type: "string"
+ type: "array"
+ description: "The outbound rules for the firewall, as a JSON array."
+ x-linode-cli-format: "json"
+ type: "object"
+ description: "The inbound and outbound access rules to apply to the Firewall.\n\nA Firewall may have up to 25 rules across its inbound and outbound rulesets.\n\nMultiple rules are applied in order. If two rules conflict, the first rule takes precedence. For example, if the first rule accepts inbound traffic from an address, and the second rule drops inbound traffic the same address, the first rule applies and inbound traffic from that address is accepted."
+ created:
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ When this Firewall was created."
+ format: "date-time"
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ id:
+ description: "__Filterable__, __Read-only__ The Firewall's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ updated:
+ readOnly: true
+ x-linode-filterable: true
+ example: "2018-01-02T00:01:01"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-cli-display: 5
+ description: "__Filterable__, __Read-only__ When this Firewall was last updated."
+ type: "string"
+ status:
+ enum:
+ - "enabled"
+ - "disabled"
+ - "deleted"
+ example: "enabled"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The status of this Firewall.\n\n - When a Firewall is first created its status is `enabled`.\n - RUn the [Update a firewall](https://techdocs.akamai.com/linode-api/reference/put-firewall) operation to set a Firewall's status to `enabled` or `disabled`.\n - RUn the [Delete a firewall](https://techdocs.akamai.com/linode-api/reference/delete-firewall) operation to delete a Firewall."
+ x-linode-cli-display: 3
+ label:
+ minLength: 3
+ description: "__Filterable__ The Firewall's label, for display purposes only.\n\nFirewall labels have the following constraints:\n\n - Must begin and end with an alphanumeric character.\n - May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n - Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row.\n - Must be between 3 and 32 characters.\n - Must be unique."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ x-linode-filterable: true
+ maxLength: 32
+ example: "firewall123"
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ description: "A resource that controls incoming and outgoing network traffic to a compute service. Only one enabled Firewall can be attached to a particular service at any given time. [Create a firewall device](https://techdocs.akamai.com/linode-api/reference/post-firewall-device) to assign a Firewall to a service. Currently, Firewalls can assigned to Linode compute instances and NodeBalancers."
+ type: "object"
+ description: "Firewall updated successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Networking"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "firewall:read_write"
+ get:
+ x-linode-cli-action: "view"
+ description: "Get a specific Firewall resource by its ID. The Firewall's Devices will not be returned in the response. Instead, run the [List firewall devices](https://techdocs.akamai.com/linode-api/reference/get-firewall-devices) operation to review them.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/networking/firewalls/123"
+ lang: "Shell"
+ -
+ source: "linode-cli firewalls view 123"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli firewalls view 123"
+ -
+ syntax: "firewall:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "get-firewall"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-firewall"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-original-op-id: "getFirewall"
+ summary: "Get a firewall"
+ x-original-op-title: "Firewall View"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ rules:
+ additionalProperties: false
+ properties:
+ outbound:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/firewall-rule-config.yaml"
+ properties:
+ description:
+ minLength: 1
+ maxLength: 100
+ example: "An example firewall rule description."
+ description: "Used to describe this rule. For display purposes only."
+ type: "string"
+ protocol:
+ enum:
+ - "TCP"
+ - "UDP"
+ - "ICMP"
+ - "IPENCAP"
+ example: "TCP"
+ type: "string"
+ description: "The type of network traffic affected by this rule."
+ label:
+ description: "Used to identify this rule. For display purposes only."
+ type: "string"
+ minLength: 3
+ maxLength: 32
+ example: "firewallrule123"
+ action:
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ example: "ACCEPT"
+ description: "Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule."
+ type: "string"
+ ports:
+ example: "22-24, 80, 443"
+ description: "A string representing the port or ports affected by this rule:\n\n- The string may be a single port, a range of ports, or a comma-separated list of single ports and port ranges. A space is permitted following each comma.\n- A range of ports is inclusive of the start and end values for the range. The end value of the range must be greater than the start value.\n- Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port `080` is not allowed.\n- The ports string can have up to 15 _pieces_, where a single port is treated as one piece, and a port range is treated as two pieces. For example, the string \"22-24, 80, 443\" has four pieces.\n- If no ports are configured, all ports are affected.\n- Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols."
+ type: "string"
+ nullable: true
+ addresses:
+ type: "object"
+ description: "The IPv4 and/or IPv6 addresses affected by this rule. A Rule can have up to 255 total addresses or networks listed across its IPv4 and IPv6 arrays. A network and a single IP are treated as equivalent when accounting for this limit.\n\nMust contain `ipv4`, `ipv6`, or both."
+ properties:
+ ipv4:
+ description: "A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.\n\nIf `0.0.0.0/0` is included in this list, all IPv4 addresses are affected by this rule."
+ type: "array"
+ items:
+ type: "string"
+ example:
+ - "192.0.2.0/24"
+ - "198.51.100.2/32"
+ ipv6:
+ example:
+ - "2001:DB8::/128"
+ type: "array"
+ description: "A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list.\n\nIf `::/0` is included in this list, all IPv6 addresses are affected by this rule."
+ items:
+ type: "string"
+ additionalProperties: false
+ description: "One of a Firewall's inbound or outbound access rules. The `ports` property can be used to allow traffic on a comma-separated list of different ports."
+ type: "object"
+ x-linode-cli-format: "json"
+ type: "array"
+ description: "The outbound rules for the firewall, as a JSON array."
+ inbound:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "One of a Firewall's inbound or outbound access rules. The `ports` property can be used to allow traffic on a comma-separated list of different ports."
+ x-akamai:
+ file-path: "schemas/firewall-rule-config.yaml"
+ properties:
+ action:
+ type: "string"
+ description: "Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall's `inbound_policy` if this is an inbound rule, or the `outbound_policy` if this is an outbound rule."
+ example: "ACCEPT"
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ label:
+ type: "string"
+ description: "Used to identify this rule. For display purposes only."
+ maxLength: 32
+ example: "firewallrule123"
+ minLength: 3
+ description:
+ type: "string"
+ description: "Used to describe this rule. For display purposes only."
+ minLength: 1
+ maxLength: 100
+ example: "An example firewall rule description."
+ protocol:
+ enum:
+ - "TCP"
+ - "UDP"
+ - "ICMP"
+ - "IPENCAP"
+ example: "TCP"
+ type: "string"
+ description: "The type of network traffic affected by this rule."
+ addresses:
+ additionalProperties: false
+ properties:
+ ipv6:
+ example:
+ - "2001:DB8::/128"
+ type: "array"
+ description: "A list of IPv6 addresses or networks. Addresses must be in IP/mask format and must not include zone_id notation as described in [RFC 4007](https://www.rfc-editor.org/rfc/rfc4007). Must not be an empty list.\n\nIf `::/0` is included in this list, all IPv6 addresses are affected by this rule."
+ items:
+ type: "string"
+ ipv4:
+ example:
+ - "192.0.2.0/24"
+ - "198.51.100.2/32"
+ items:
+ type: "string"
+ description: "A list of IPv4 addresses or networks. Addresses must be in IP/mask format. Must not be an empty list.\n\nIf `0.0.0.0/0` is included in this list, all IPv4 addresses are affected by this rule."
+ type: "array"
+ type: "object"
+ description: "The IPv4 and/or IPv6 addresses affected by this rule. A Rule can have up to 255 total addresses or networks listed across its IPv4 and IPv6 arrays. A network and a single IP are treated as equivalent when accounting for this limit.\n\nMust contain `ipv4`, `ipv6`, or both."
+ ports:
+ nullable: true
+ type: "string"
+ description: "A string representing the port or ports affected by this rule:\n\n- The string may be a single port, a range of ports, or a comma-separated list of single ports and port ranges. A space is permitted following each comma.\n- A range of ports is inclusive of the start and end values for the range. The end value of the range must be greater than the start value.\n- Ports must be within 1 and 65535, and may not contain any leading zeroes. For example, port `080` is not allowed.\n- The ports string can have up to 15 _pieces_, where a single port is treated as one piece, and a port range is treated as two pieces. For example, the string \"22-24, 80, 443\" has four pieces.\n- If no ports are configured, all ports are affected.\n- Only allowed for the TCP and UDP protocols. Ports are not allowed for the ICMP and IPENCAP protocols."
+ example: "22-24, 80, 443"
+ description: "The inbound rules for the firewall, as a JSON array."
+ type: "array"
+ x-linode-cli-format: "json"
+ inbound_policy:
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ example: "DROP"
+ description: "The default behavior for inbound traffic. This setting can be overridden by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound.action` property of the Firewall Rule."
+ type: "string"
+ outbound_policy:
+ type: "string"
+ description: "The default behavior for outbound traffic. This setting can be overridden by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound.action` property of the Firewall Rule."
+ example: "DROP"
+ enum:
+ - "ACCEPT"
+ - "DROP"
+ type: "object"
+ description: "The inbound and outbound access rules to apply to the Firewall.\n\nA Firewall may have up to 25 rules across its inbound and outbound rulesets.\n\nMultiple rules are applied in order. If two rules conflict, the first rule takes precedence. For example, if the first rule accepts inbound traffic from an address, and the second rule drops inbound traffic the same address, the first rule applies and inbound traffic from that address is accepted."
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-linode-filterable: true
+ x-linode-cli-display: 4
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ When this Firewall was created."
+ type: "string"
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ id:
+ readOnly: true
+ x-linode-filterable: true
+ example: 123
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "__Filterable__, __Read-only__ The Firewall's unique ID."
+ type: "integer"
+ updated:
+ readOnly: true
+ x-linode-filterable: true
+ example: "2018-01-02T00:01:01"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ format: "date-time"
+ description: "__Filterable__, __Read-only__ When this Firewall was last updated."
+ type: "string"
+ status:
+ readOnly: true
+ example: "enabled"
+ enum:
+ - "enabled"
+ - "disabled"
+ - "deleted"
+ x-linode-cli-display: 3
+ description: "__Read-only__ The status of this Firewall.\n\n - When a Firewall is first created its status is `enabled`.\n - RUn the [Update a firewall](https://techdocs.akamai.com/linode-api/reference/put-firewall) operation to set a Firewall's status to `enabled` or `disabled`.\n - RUn the [Delete a firewall](https://techdocs.akamai.com/linode-api/reference/delete-firewall) operation to delete a Firewall."
+ type: "string"
+ label:
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ example: "firewall123"
+ maxLength: 32
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The Firewall's label, for display purposes only.\n\nFirewall labels have the following constraints:\n\n - Must begin and end with an alphanumeric character.\n - May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n - Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row.\n - Must be between 3 and 32 characters.\n - Must be unique."
+ minLength: 3
+ x-akamai:
+ file-path: "schemas/firewall.yaml"
+ type: "object"
+ description: "A resource that controls incoming and outgoing network traffic to a compute service. Only one enabled Firewall can be attached to a particular service at any given time. [Create a firewall device](https://techdocs.akamai.com/linode-api/reference/post-firewall-device) to assign a Firewall to a service. Currently, Firewalls can assigned to Linode compute instances and NodeBalancers."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-firewall-200.json"
+ description: "Returns information about this Firewall."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "object"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "firewall:read_only"
+ tags:
+ - "Networking"
+ x-akamai:
+ path-info: "/{apiVersion}/networking/firewalls/{firewallId}"
+ file-path: "paths/firewall.yaml"
+ delete:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "firewall:read_write"
+ tags:
+ - "Networking"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ type: "object"
+ description: "The API responds with an empty object."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-firewall-200.json"
+ description: "Delete Successful."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "array"
+ type: "object"
+ x-original-op-id: "deleteFirewall"
+ summary: "Delete a firewall"
+ x-original-op-title: "Firewall Delete"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/networking/firewalls/123"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli firewalls delete 123"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli firewalls delete 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "firewall:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ description: "Delete a Firewall resource by its ID. This removes all of the Firewall's Rules from any services that the Firewall was assigned to.\n\n- Assigned Linodes must not have any ongoing live migrations.\n\n- A `firewall_delete` Event is generated when this operation returns successfully.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls delete 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ operationId: "delete-firewall"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-firewall"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-linode-cli-command: "firewalls"
+ /{apiVersion}/lke/clusters/{clusterId}/api-endpoints:
+ parameters:
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ in: "path"
+ x-akamai:
+ file-path: "parameters/cluster-id-path.yaml"
+ name: "clusterId"
+ description: "ID of the Kubernetes cluster to look up."
+ required: true
+ schema:
+ type: "integer"
+ x-akamai:
+ file-path: "paths/api-endpoints.yaml"
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/api-endpoints"
+ get:
+ x-original-op-id: "getLKEClusterAPIEndpoints"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_only"
+ x-original-op-title: "Kubernetes API Endpoints List"
+ summary: "List Kubernetes API endpoints"
+ description: "List the Kubernetes API server endpoints for this cluster. Please note that it often takes 2-5 minutes before the endpoint is ready after first [creating a new cluster](https://techdocs.akamai.com/linode-api/reference/post-lke-cluster).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke api-endpoints-list 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "api-endpoints-list"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli lke api-endpoints-list 12345"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_only"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/lke/clusters/12345/api-endpoints"
+ -
+ lang: "CLI"
+ source: "linode-cli lke api-endpoints-list 12345"
+ responses:
+ 200:
+ description: "Returns the Kubernetes API server endpoints for this cluster."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ page:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ data:
+ type: "array"
+ description: "The Kubernetes API server endpoints for this cluster."
+ items:
+ additionalProperties: false
+ properties:
+ endpoint:
+ example: "https://192.0.2.1:6443"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ A Kubernetes API server endpoint for this cluster."
+ type: "object"
+ pages:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-get-lke-cluster-api-endpoints-200.yaml"
+ x-example:
+ x-ref: "../examples/get-lke-cluster-api-endpoints-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-api-endpoints"
+ operationId: "get-lke-cluster-api-endpoints"
+ x-linode-cli-command: "lke"
+ /{apiVersion}/linode/instances/{linodeId}/nodebalancers:
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-32b5e821.yaml"
+ name: "linodeId"
+ description: "ID of the Linode to look up."
+ schema:
+ type: "integer"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/nodebalancers"
+ file-path: "paths/linode-node-balancers.yaml"
+ get:
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes nodebalancers 123"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances/123/nodebalancers"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes nodebalancers 123"
+ lang: "CLI"
+ description: "Returns a list of NodeBalancers that are assigned to this Linode and readable by the requesting User.\n\nRead permission to a NodeBalancer can be given to a User by accessing the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes nodebalancers 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-linode-cli-action: "nodebalancers"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-node-balancers"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-linode-node-balancers"
+ x-original-op-id: "getLinodeNodeBalancers"
+ x-original-op-title: "Linode NodeBalancers View"
+ summary: "List Linode NodeBalancers"
+ responses:
+ 200:
+ description: "Returns a paginated list of NodeBalancers."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-linode-node-balancers-200.yaml"
+ properties:
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ data:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/node-balancer.yaml"
+ properties:
+ updated:
+ readOnly: true
+ example: "2018-03-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this NodeBalancer was last updated."
+ type: "string"
+ label:
+ description: "__Filterable__ This NodeBalancer's label. These must be unique on your Account."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 3
+ pattern: "[a-zA-Z0-9-_]{3,32}"
+ x-linode-filterable: true
+ example: "balancer12345"
+ maxLength: 32
+ hostname:
+ readOnly: true
+ example: "192.0.2.1.ip.linodeusercontent.com"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_."
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ The Region where this NodeBalancer is located. NodeBalancers only support backends in the same Region."
+ ipv4:
+ readOnly: true
+ x-linode-filterable: true
+ example: "203.0.113.1"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "ip"
+ x-linode-cli-display: 5
+ description: "__Filterable__, __Read-only__ This NodeBalancer's public IPv4 address."
+ type: "string"
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ When this NodeBalancer was created."
+ format: "date-time"
+ client_conn_throttle:
+ example: 0
+ type: "integer"
+ minimum: 0
+ description: "Throttle connections per second. Set to 0 (zero) to disable throttling."
+ maximum: 20
+ x-linode-cli-display: 6
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ description: "__Filterable__ An array of Tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ ipv6:
+ format: "ip"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Read-only__ This NodeBalancer's public IPv6 address."
+ nullable: true
+ readOnly: true
+ example: null
+ id:
+ readOnly: true
+ example: 12345
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ This NodeBalancer's unique ID."
+ transfer:
+ properties:
+ in:
+ description: "__Read-only__ The total outbound transfer, in MB, used for this NodeBalancer this month."
+ type: "number"
+ nullable: true
+ readOnly: true
+ example: 28.9120082855225
+ out:
+ type: "number"
+ description: "__Read-only__ The total inbound transfer, in MB, used for this NodeBalancer this month."
+ nullable: true
+ readOnly: true
+ example: 3.54877281188965
+ total:
+ nullable: true
+ type: "number"
+ description: "__Read-only__ The total transfer, in MB, used by this NodeBalancer this month."
+ example: 32.4607810974121
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ Information about the amount of transfer this NodeBalancer has had so far this month."
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "Linode's load balancing solution. Can handle multiple ports, SSL termination, and any number of backends. NodeBalancer ports are configured with NodeBalancer Configs, and each config is given one or more NodeBalancer Node that accepts traffic. The traffic should be routed to the NodeBalancer's ip address, the NodeBalancer will handle routing individual requests to backends."
+ additionalProperties: false
+ title: "NodeBalancer"
+ results:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-linode-node-balancers-200.json"
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ /{apiVersion}/support/tickets/{ticketId}/replies:
+ post:
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-ticket-reply.yaml"
+ required:
+ - "description"
+ properties:
+ description:
+ type: "string"
+ description: "The content of your reply."
+ maxLength: 65535
+ example: "Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!"
+ minLength: 1
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-ticket-reply.json"
+ description: "Add a reply."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "An object representing a reply to a Support Ticket."
+ properties:
+ gravatar_id:
+ type: "string"
+ description: "__Read-only__ The Gravatar ID of the User who created this reply."
+ readOnly: true
+ example: "474a1b7373ae0be4132649e69c36ce30"
+ from_linode:
+ readOnly: true
+ example: true
+ type: "boolean"
+ description: "__Read-only__ If set to true, this reply came from a Linode employee."
+ created:
+ x-linode-cli-display: 3
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date and time this Ticket reply was created."
+ readOnly: true
+ example: "2015-06-02T14:31:41"
+ created_by:
+ readOnly: true
+ example: "John Q. Linode"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ The User who submitted this reply."
+ id:
+ readOnly: true
+ example: 11223345
+ x-linode-cli-display: 1
+ description: "__Read-only__ The unique ID of this Support Ticket reply."
+ type: "integer"
+ description:
+ example: "Hello,\\nI'm sorry to hear that you are having trouble resetting the root password of your Linode. Just to be sure, have you tried to follow the instructions in our online documentation? The link is here:\\n \\nhttps://linode.com/docs/guides/reset-the-root-password-on-your-linode/ \\n\\nIf you have, please reply with any additional steps you have also taken.\\n\\nRegards, Linode Support Team"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The body of this Support Ticket reply."
+ x-akamai:
+ file-path: "schemas/support-ticket-reply.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/post-ticket-reply-200.json"
+ description: "Reply created."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ tags:
+ - "Support"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"description\": \"Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!\"\n }' \\\n https://api.linode.com/v4/support/tickets/11223344/replies"
+ lang: "Shell"
+ -
+ source: "linode-cli tickets reply 11223344 \\\n --description \"Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!\""
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli tickets reply 11223344 \\\n --description \"Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!\""
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "account:read_write"
+ title: "OAuth scopes"
+ x-linode-cli-action: "reply"
+ description: "Adds a reply to an existing Support Ticket.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tickets reply 11223344 \\\n --description \"Thank you for your help. I was able to figure out what the problem was and I successfully reset my password. You guys are the best!\"\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ operationId: "post-ticket-reply"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-ticket-reply"
+ x-original-op-id: "createTicketReply"
+ summary: "Create a reply"
+ x-original-op-title: "Reply Create"
+ x-linode-cli-command: "tickets"
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ -
+ x-akamai:
+ file-path: "parameters/ticket-id.yaml"
+ required: true
+ in: "path"
+ description: "The ID of the Support Ticket."
+ name: "ticketId"
+ schema:
+ type: "integer"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ tags:
+ - "Support"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ data:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/support-ticket-reply.yaml"
+ properties:
+ id:
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The unique ID of this Support Ticket reply."
+ readOnly: true
+ example: 11223345
+ description:
+ readOnly: true
+ example: "Hello,\\nI'm sorry to hear that you are having trouble resetting the root password of your Linode. Just to be sure, have you tried to follow the instructions in our online documentation? The link is here:\\n \\nhttps://linode.com/docs/guides/reset-the-root-password-on-your-linode/ \\n\\nIf you have, please reply with any additional steps you have also taken.\\n\\nRegards, Linode Support Team"
+ type: "string"
+ description: "__Read-only__ The body of this Support Ticket reply."
+ gravatar_id:
+ readOnly: true
+ example: "474a1b7373ae0be4132649e69c36ce30"
+ description: "__Read-only__ The Gravatar ID of the User who created this reply."
+ type: "string"
+ from_linode:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ If set to true, this reply came from a Linode employee."
+ created:
+ example: "2015-06-02T14:31:41"
+ readOnly: true
+ description: "__Read-only__ The date and time this Ticket reply was created."
+ type: "string"
+ format: "date-time"
+ x-linode-cli-display: 3
+ created_by:
+ readOnly: true
+ example: "John Q. Linode"
+ x-linode-cli-display: 2
+ description: "__Read-only__ The User who submitted this reply."
+ type: "string"
+ description: "An object representing a reply to a Support Ticket."
+ type: "object"
+ type: "array"
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ x-akamai:
+ file-path: "schemas/added-get-ticket-replies-200.yaml"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-ticket-replies-200.json"
+ description: "Returns a paginated list of SupportTicketReply objects."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ parameters:
+ -
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ description: "The page of a collection to return."
+ name: "page"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ in: "query"
+ -
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ x-original-op-id: "getTicketReplies"
+ summary: "List replies"
+ x-original-op-title: "Replies List"
+ x-linode-cli-action: "replies"
+ description: "Returns a collection of replies to a Support Ticket on your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tickets replies 11223344\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/support/tickets/11223344/replies"
+ lang: "Shell"
+ -
+ source: "linode-cli tickets replies 11223344"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli tickets replies 11223344"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "account:read_only"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ operationId: "get-ticket-replies"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-ticket-replies"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-akamai:
+ path-info: "/{apiVersion}/support/tickets/{ticketId}/replies"
+ file-path: "paths/replies.yaml"
+ /{apiVersion}/linode/instances/{linodeId}:
+ delete:
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes delete 123"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/linode/instances/123"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes delete 123"
+ lang: "CLI"
+ x-linode-grant: "read_write"
+ description: "Deletes a Linode you have permission to `read_write`.\n\n__Deleting a Linode is a destructive action and cannot be undone.__\n\nAdditionally, deleting a Linode:\n\n - Gives up any IP addresses the Linode was assigned.\n - Deletes all Disks, Backups, Configs, etc.\n - Detaches any Volumes associated with the Linode.\n - Stops billing for the Linode and its associated services. You will be billed for time used within the billing period the Linode was active.\n\nLinodes that are in the process of [cloning](https://techdocs.akamai.com/linode-api/reference/post-clone-linode-instance) or [backup restoration](https://techdocs.akamai.com/linode-api/reference/post-restore-backup) cannot be deleted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes delete 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-linode-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "delete-linode-instance"
+ x-original-op-id: "deleteLinodeInstance"
+ x-original-op-title: "Linode Delete"
+ summary: "Delete a Linode"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ type: "object"
+ description: "The API responds with an empty object."
+ x-example:
+ x-ref: "../examples/delete-linode-instance-200.json"
+ description: "Delete successful."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}"
+ file-path: "paths/linode.yaml"
+ put:
+ summary: "Update a Linode"
+ x-original-op-title: "Linode Update"
+ x-original-op-id: "updateLinodeInstance"
+ operationId: "put-linode-instance"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-linode-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"label\": \"linode123\",\n \"group\": \"Linode-Group\",\n \"alerts\": {\n \"cpu\": 180,\n \"network_in\": 10,\n \"network_out\": 10,\n \"transfer_quota\": 80,\n \"io\": 10000\n },\n \"backups\": {\n \"schedule\": {\n \"day\": \"Saturday\",\n \"window\": \"W22\"\n }\n }\n }' \\\n https://api.linode.com/v4/linode/instances/123"
+ lang: "Shell"
+ -
+ source: "linode-cli linodes update 7833080 \\\n --label linode123 \\\n --backups.schedule.day \"Saturday\" \\\n --backups.schedule.window \"W22\" \\\n --alerts.cpu 180 \\\n --alerts.network_in 10 \\\n --alerts.network_out 10 \\\n --alerts.transfer_quota 80 \\\n --alerts.io 10000"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli linodes update 7833080 \\\n --label linode123 \\\n --backups.schedule.day \"Saturday\" \\\n --backups.schedule.window \"W22\" \\\n --alerts.cpu 180 \\\n --alerts.network_in 10 \\\n --alerts.network_out 10 \\\n --alerts.transfer_quota 80 \\\n --alerts.io 10000"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ x-linode-cli-action: "update"
+ x-linode-grant: "read_write"
+ description: "Updates a Linode that you have permission to `read_write`.\n\n__Important__. You must be an unrestricted User in order to add or modify tags on Linodes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes update 7833080 \\\n --label linode123 \\\n --backups.schedule.day \"Saturday\" \\\n --backups.schedule.window \"W22\" \\\n --alerts.cpu 180 \\\n --alerts.network_in 10 \\\n --alerts.network_out 10 \\\n --alerts.transfer_quota 80 \\\n --alerts.io 10000\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ description: "The updated Linode."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-instance-200.json"
+ schema:
+ properties:
+ image:
+ readOnly: true
+ allOf:
+ -
+ type: "string"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ example: "linode/debian9"
+ x-linode-filterable: true
+ example: "linode/debian10"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ nullable: true
+ placement_group:
+ readOnly: true
+ additionalProperties: false
+ properties:
+ placement_group_policy:
+ enum:
+ - "strict"
+ - "flexible"
+ example: "strict"
+ x-linode-cli-display: null
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ placement_group_type:
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: null
+ x-linode-filterable: true
+ example: "anti-affinity:local"
+ enum:
+ - "anti_affinity:local"
+ readOnly: true
+ label:
+ x-linode-filterable: true
+ example: "PG_Miami_failover"
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 10
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ id:
+ x-linode-cli-display: null
+ nullable: false
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ example: 528
+ nullable: true
+ type: "object"
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ has_user_data:
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ type: "boolean"
+ example: true
+ readOnly: true
+ watchdog_enabled:
+ example: true
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ type: "boolean"
+ type:
+ readOnly: true
+ example: "g6-standard-1"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ label:
+ x-linode-filterable: true
+ maxLength: 64
+ example: "linode123"
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ minLength: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ updated:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Linode was last updated."
+ type: "string"
+ format: "date-time"
+ ipv6:
+ format: "ipv6/128"
+ type: "string"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ nullable: true
+ readOnly: true
+ example: "c001:d00d::1337/128"
+ specs:
+ additionalProperties: false
+ readOnly: true
+ description: "__Read-only__ Information about the resources available to this Linode."
+ type: "object"
+ properties:
+ memory:
+ type: "integer"
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ readOnly: true
+ example: 4096
+ gpus:
+ readOnly: true
+ example: 0
+ type: "integer"
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ vcpus:
+ type: "integer"
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ example: 2
+ readOnly: true
+ disk:
+ readOnly: true
+ example: 81920
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ type: "integer"
+ transfer:
+ example: 4000
+ readOnly: true
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ type: "integer"
+ id:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ type: "integer"
+ readOnly: true
+ x-linode-filterable: true
+ example: 123
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ hypervisor:
+ description: "__Read-only__ The virtualization software powering this Linode."
+ type: "string"
+ readOnly: true
+ enum:
+ - "kvm"
+ example: "kvm"
+ created:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ When this Linode was created."
+ type: "string"
+ format: "date-time"
+ ipv4:
+ type: "array"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ items:
+ type: "string"
+ format: "ipv4"
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ x-linode-filterable: true
+ readOnly: true
+ region:
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ type: "string"
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ backups:
+ properties:
+ enabled:
+ example: true
+ readOnly: true
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ type: "boolean"
+ available:
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ type: "boolean"
+ example: true
+ readOnly: true
+ last_successful:
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ type: "string"
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ schedule:
+ properties:
+ day:
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ example: "Saturday"
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ nullable: true
+ window:
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ example: "W22"
+ nullable: true
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ type: "string"
+ type: "object"
+ additionalProperties: false
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ type: "object"
+ additionalProperties: false
+ host_uuid:
+ readOnly: true
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ format: "uuid"
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ type: "string"
+ alerts:
+ additionalProperties: false
+ type: "object"
+ properties:
+ network_in:
+ example: 10
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ network_out:
+ example: 10
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ io:
+ example: 10000
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ cpu:
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ example: 180
+ transfer_quota:
+ example: 80
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ group:
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ type: "string"
+ example: "Linode-Group"
+ x-linode-filterable: true
+ deprecated: true
+ status:
+ x-linode-cli-color:
+ running: "green"
+ default_: "yellow"
+ offline: "red"
+ billing_suspension: "red"
+ readOnly: true
+ example: "running"
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ x-linode-cli-display: 6
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ type: "object"
+ additionalProperties: false
+ title: "Linode"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "array"
+ type: "object"
+ requestBody:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/put-linode-instance.json"
+ schema:
+ additionalProperties: false
+ title: "Linode"
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ properties:
+ host_uuid:
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ format: "uuid"
+ backups:
+ type: "object"
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ properties:
+ enabled:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ available:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ last_successful:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ schedule:
+ properties:
+ day:
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ example: "Saturday"
+ nullable: true
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ window:
+ example: "W22"
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ type: "string"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ nullable: true
+ type: "object"
+ additionalProperties: false
+ additionalProperties: false
+ alerts:
+ additionalProperties: false
+ type: "object"
+ properties:
+ network_in:
+ example: 10
+ type: "integer"
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ network_out:
+ example: 10
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ io:
+ type: "integer"
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ example: 10000
+ cpu:
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ example: 180
+ transfer_quota:
+ example: 80
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ group:
+ deprecated: true
+ x-linode-filterable: true
+ example: "Linode-Group"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ status:
+ readOnly: true
+ example: "running"
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ x-linode-cli-display: 6
+ type: "string"
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ x-linode-cli-color:
+ running: "green"
+ billing_suspension: "red"
+ offline: "red"
+ default_: "yellow"
+ id:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ type: "integer"
+ readOnly: true
+ x-linode-filterable: true
+ example: 123
+ ipv6:
+ format: "ipv6/128"
+ type: "string"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ nullable: true
+ readOnly: true
+ example: "c001:d00d::1337/128"
+ specs:
+ type: "object"
+ description: "__Read-only__ Information about the resources available to this Linode."
+ properties:
+ transfer:
+ type: "integer"
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ example: 4000
+ readOnly: true
+ disk:
+ example: 81920
+ readOnly: true
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ type: "integer"
+ vcpus:
+ example: 2
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ gpus:
+ type: "integer"
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ readOnly: true
+ example: 0
+ memory:
+ type: "integer"
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ readOnly: true
+ example: 4096
+ readOnly: true
+ additionalProperties: false
+ hypervisor:
+ readOnly: true
+ example: "kvm"
+ enum:
+ - "kvm"
+ type: "string"
+ description: "__Read-only__ The virtualization software powering this Linode."
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ ipv4:
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 7
+ items:
+ type: "string"
+ format: "ipv4"
+ x-linode-filterable: true
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ readOnly: true
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Linode was created."
+ region:
+ readOnly: true
+ x-linode-filterable: true
+ example: "us-east"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ type: "string"
+ label:
+ x-linode-filterable: true
+ maxLength: 64
+ example: "linode123"
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ minLength: 3
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type:
+ example: "g6-standard-1"
+ readOnly: true
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ type: "string"
+ x-linode-cli-display: 4
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Linode was last updated."
+ type: "string"
+ placement_group:
+ readOnly: true
+ additionalProperties: false
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ type: "object"
+ nullable: true
+ properties:
+ placement_group_policy:
+ type: "string"
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ x-linode-cli-display: null
+ enum:
+ - "strict"
+ - "flexible"
+ example: "strict"
+ placement_group_type:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: null
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ readOnly: true
+ x-linode-filterable: true
+ example: "anti-affinity:local"
+ enum:
+ - "anti_affinity:local"
+ label:
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ x-linode-cli-display: 10
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ id:
+ x-linode-cli-display: null
+ nullable: false
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ type: "integer"
+ example: 528
+ image:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ nullable: true
+ readOnly: true
+ allOf:
+ -
+ type: "string"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ example: "linode/debian9"
+ x-linode-filterable: true
+ example: "linode/debian10"
+ has_user_data:
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ type: "boolean"
+ example: true
+ readOnly: true
+ watchdog_enabled:
+ type: "boolean"
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ example: true
+ type: "object"
+ description: "Any field that is not marked as `readOnly` may be updated. Fields that are marked `readOnly` will be ignored. If any updated field fails to pass validation, the Linode will not be updated."
+ required: true
+ x-linode-cli-command: "linodes"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ -
+ name: "linodeId"
+ description: "ID of the Linode to look up."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/linode-id-path-32b5e821.yaml"
+ schema:
+ type: "integer"
+ get:
+ x-original-op-id: "getLinodeInstance"
+ summary: "Get a Linode"
+ x-original-op-title: "Linode View"
+ x-linode-cli-action: "view"
+ x-linode-grant: "read_only"
+ description: "Get a specific Linode by ID.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/linode/instances/123"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes view 123"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli linodes view 123"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ operationId: "get-linode-instance"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-instance"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Linode instances"
+ responses:
+ 200:
+ links:
+ clone:
+ parameters:
+ linodeId: "$request.body#/id"
+ operationId: "post-clone-linode-instance"
+ update:
+ operationId: "put-linode-instance"
+ parameters:
+ linodeId: "$request.body#/id"
+ resize:
+ parameters:
+ linodeId: "$request.body#/id"
+ operationId: "post-resize-linode-instance"
+ delete:
+ operationId: "delete-linode-instance"
+ parameters:
+ linodeId: "$request.body#/id"
+ boot:
+ operationId: "post-boot-linode-instance"
+ parameters:
+ linodeId: "$request.body#/id"
+ rescue:
+ operationId: "post-rescue-linode-instance"
+ parameters:
+ linodeId: "$request.body#/id"
+ mutate:
+ parameters:
+ linodeId: "$request.body#/id"
+ operationId: "post-mutate-linode-instance"
+ reboot:
+ parameters:
+ linodeId: "$request.body#/id"
+ operationId: "post-reboot-linode-instance"
+ shutdown:
+ parameters:
+ linodeId: "$request.body#/id"
+ operationId: "post-shutdown-linode-instance"
+ rebuild:
+ operationId: "post-rebuild-linode-instance"
+ parameters:
+ linodeId: "$request.body#/id"
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-instance-200.json"
+ schema:
+ additionalProperties: false
+ title: "Linode"
+ properties:
+ alerts:
+ properties:
+ network_in:
+ example: 10
+ type: "integer"
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ network_out:
+ example: 10
+ type: "integer"
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ cpu:
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ example: 180
+ transfer_quota:
+ example: 80
+ type: "integer"
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ io:
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ example: 10000
+ type: "object"
+ additionalProperties: false
+ host_uuid:
+ format: "uuid"
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ type: "string"
+ readOnly: true
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ backups:
+ properties:
+ last_successful:
+ type: "string"
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ schedule:
+ additionalProperties: false
+ type: "object"
+ properties:
+ day:
+ example: "Saturday"
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ nullable: true
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ window:
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ example: "W22"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ type: "string"
+ nullable: true
+ enabled:
+ readOnly: true
+ example: true
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ type: "boolean"
+ available:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ type: "object"
+ additionalProperties: false
+ status:
+ x-linode-cli-display: 6
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ type: "string"
+ readOnly: true
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ example: "running"
+ x-linode-cli-color:
+ running: "green"
+ offline: "red"
+ billing_suspension: "red"
+ default_: "yellow"
+ group:
+ example: "Linode-Group"
+ deprecated: true
+ x-linode-filterable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ type: "string"
+ hypervisor:
+ type: "string"
+ description: "__Read-only__ The virtualization software powering this Linode."
+ example: "kvm"
+ enum:
+ - "kvm"
+ readOnly: true
+ tags:
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ specs:
+ description: "__Read-only__ Information about the resources available to this Linode."
+ type: "object"
+ properties:
+ transfer:
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ type: "integer"
+ readOnly: true
+ example: 4000
+ memory:
+ readOnly: true
+ example: 4096
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ type: "integer"
+ vcpus:
+ readOnly: true
+ example: 2
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ type: "integer"
+ gpus:
+ example: 0
+ readOnly: true
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ type: "integer"
+ disk:
+ readOnly: true
+ example: 81920
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ type: "integer"
+ additionalProperties: false
+ readOnly: true
+ ipv6:
+ format: "ipv6/128"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ readOnly: true
+ example: "c001:d00d::1337/128"
+ region:
+ readOnly: true
+ x-linode-filterable: true
+ example: "us-east"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ type: "string"
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ created:
+ type: "string"
+ description: "__Read-only__ When this Linode was created."
+ format: "date-time"
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ ipv4:
+ readOnly: true
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ x-linode-filterable: true
+ x-linode-cli-display: 7
+ items:
+ type: "string"
+ format: "ipv4"
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "array"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ type:
+ readOnly: true
+ example: "g6-standard-1"
+ x-linode-cli-display: 4
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ type: "string"
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ type: "string"
+ minLength: 3
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ x-linode-filterable: true
+ maxLength: 64
+ example: "linode123"
+ updated:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ description: "__Read-only__ When this Linode was last updated."
+ type: "string"
+ has_user_data:
+ readOnly: true
+ example: true
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ type: "boolean"
+ placement_group:
+ nullable: true
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ type: "object"
+ properties:
+ placement_group_policy:
+ enum:
+ - "strict"
+ - "flexible"
+ example: "strict"
+ x-linode-cli-display: null
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ label:
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ minLength: 1
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ type: "string"
+ x-linode-cli-display: 10
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ type: "integer"
+ nullable: false
+ x-linode-cli-display: null
+ example: 528
+ placement_group_type:
+ x-linode-cli-display: null
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ readOnly: true
+ enum:
+ - "anti_affinity:local"
+ example: "anti-affinity:local"
+ x-linode-filterable: true
+ additionalProperties: false
+ readOnly: true
+ image:
+ allOf:
+ -
+ type: "string"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ example: "linode/debian9"
+ readOnly: true
+ example: "linode/debian10"
+ x-linode-filterable: true
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ watchdog_enabled:
+ example: true
+ type: "boolean"
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ type: "object"
+ description: "Returns a single Linode object."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ type: "array"
+ additionalProperties: false
+ /{apiVersion}/databases/types/{typeId}:
+ x-linode-cli-command: "databases"
+ parameters:
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ -
+ schema:
+ type: "string"
+ x-akamai:
+ file-path: "parameters/type-id-path-024e328f.yaml"
+ required: true
+ in: "path"
+ description: "The ID of the Managed Database type."
+ name: "typeId"
+ get:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "Managed Database plan type object."
+ type: "object"
+ properties:
+ id:
+ example: "g6-nanode-1"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The ID representing the Managed Database node plan type."
+ x-linode-cli-display: 1
+ deprecated:
+ x-linode-filterable: true
+ example: false
+ type: "boolean"
+ description: "__Filterable__ Whether this Database plan type has been deprecated and is no longer available."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6
+ vcpus:
+ example: 1
+ x-linode-cli-display: 5
+ type: "integer"
+ description: "The integer of number CPUs allocated to databases of this plan type."
+ engines:
+ additionalProperties: false
+ type: "object"
+ properties:
+ mysql:
+ type: "array"
+ description: "Pricing details for MySQL Managed Databases."
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ quantity:
+ description: "The number of nodes for the Managed Database cluster for this subscription tier."
+ type: "integer"
+ enum:
+ - 1
+ - 2
+ - 3
+ example: 1
+ price:
+ additionalProperties: false
+ type: "object"
+ description: "Cost in US dollars, broken down into hourly and monthly charges."
+ properties:
+ monthly:
+ example: 20
+ type: "number"
+ description: "Maximum cost (in US dollars) per month for this subscription tier."
+ hourly:
+ example: 0.03
+ description: "Cost (in US dollars) per hour for this subscription tier."
+ type: "number"
+ x-akamai:
+ file-path: "schemas/database-type-engine.yaml"
+ postgresql:
+ type: "array"
+ description: "Pricing details for PostgreSQL Managed Databases."
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ quantity:
+ example: 1
+ enum:
+ - 1
+ - 2
+ - 3
+ type: "integer"
+ description: "The number of nodes for the Managed Database cluster for this subscription tier."
+ price:
+ additionalProperties: false
+ properties:
+ hourly:
+ example: 0.03
+ type: "number"
+ description: "Cost (in US dollars) per hour for this subscription tier."
+ monthly:
+ description: "Maximum cost (in US dollars) per month for this subscription tier."
+ type: "number"
+ example: 20
+ type: "object"
+ description: "Cost in US dollars, broken down into hourly and monthly charges."
+ x-akamai:
+ file-path: "schemas/database-type-engine.yaml"
+ label:
+ readOnly: true
+ example: "DBaaS - Nanode 1GB"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Read-only__ A human-readable string that describes each plan type. For display purposes only."
+ class:
+ example: "nanode"
+ description: "The compute class category."
+ type: "string"
+ memory:
+ x-linode-cli-display: 3
+ description: "The amount of RAM allocated to Database created of this plan type. The value is represented in megabytes."
+ type: "integer"
+ example: 1024
+ disk:
+ x-linode-cli-display: 4
+ type: "integer"
+ description: "The amount of disk space set aside for Databases of this plan type. The value is represented in megabytes."
+ example: 25600
+ x-akamai:
+ file-path: "schemas/database-type.yaml"
+ x-example:
+ x-ref: "../examples/get-databases-type-200.json"
+ x-linode-cli-use-schema:
+ additionalProperties: false
+ properties:
+ _split:
+ x-linode-cli-display: 2.5
+ id:
+ x-linode-cli-display: 1
+ engines:
+ properties:
+ price:
+ type: "object"
+ properties:
+ hourly:
+ x-linode-cli-display: 4
+ monthly:
+ x-linode-cli-display: 5
+ additionalProperties: false
+ quantity:
+ x-linode-cli-display: 3
+ type: "object"
+ additionalProperties: false
+ label:
+ x-linode-cli-display: 2
+ x-akamai:
+ file-path: "schemas/database-type-cli.yaml"
+ type: "object"
+ x-linode-cli-nested-list: "engines.mysql, engines.postgresql"
+ description: "Returns a single Managed Database type."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Databases"
+ operationId: "get-databases-type"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-type"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/databases/types/g6-nanode-1"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases type-view g6-nanode-1"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli databases type-view"
+ title: "CLI"
+ x-linode-cli-action: "type-view"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay the details of a single Managed Database type. The type and number of nodes determine the resources and price of a Managed Database instance.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases type-view\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ summary: "Get a managed database type"
+ x-original-op-title: "Managed Database Type View"
+ x-original-op-id: "getDatabasesType"
+ parameters:
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ name: "page"
+ description: "The page of a collection to return."
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ -
+ schema:
+ default: 100
+ minimum: 25
+ type: "integer"
+ maximum: 500
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ x-akamai:
+ file-path: "paths/database-type.yaml"
+ path-info: "/{apiVersion}/databases/types/{typeId}"
+ /{apiVersion}/linode/instances/{linodeId}/disks/{diskId}/clone:
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/disks/{diskId}/clone"
+ file-path: "paths/disk-clone.yaml"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ x-akamai:
+ file-path: "parameters/linode-id-path.yaml"
+ required: true
+ in: "path"
+ description: "ID of the Linode to look up."
+ name: "linodeId"
+ schema:
+ type: "integer"
+ -
+ name: "diskId"
+ description: "ID of the Disk to clone."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/disk-id-path-dee05ba9.yaml"
+ schema:
+ type: "integer"
+ x-linode-cli-command: "linodes"
+ post:
+ x-original-op-id: "cloneLinodeDisk"
+ x-original-op-title: "Disk Clone"
+ summary: "Clone a disk"
+ x-linode-grant: "read_write"
+ description: "Copies a disk, byte-for-byte, into a new Disk belonging to the same Linode. The Linode must have enough storage space available to accept a new Disk of the same size as this one or this operation will fail.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes disk-clone\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "disk-clone"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes disk-clone"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "linodes:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-clone-linode-disk"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-clone-linode-disk"
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/disk.yaml"
+ properties:
+ label:
+ example: "Debian 9 Disk"
+ maxLength: 48
+ x-linode-filterable: true
+ minLength: 1
+ description: "__Filterable__ The Disk's label is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ filesystem:
+ enum:
+ - "raw"
+ - "swap"
+ - "ext3"
+ - "ext4"
+ - "initrd"
+ example: "ext4"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "The Disk filesystem can be one of:\n\n - raw - No filesystem, just a raw binary stream.\n - swap - Linux swap area.\n - ext3 - The ext3 journaling filesystem for Linux.\n - ext4 - The ext4 journaling filesystem for Linux.\n - initrd - initrd (uncompressed initrd, ext2, max 32 MB)."
+ status:
+ x-linode-cli-color:
+ default_: "yellow"
+ ready: "green"
+ not ready: "red"
+ readOnly: true
+ enum:
+ - "ready"
+ - "not ready"
+ - "deleting"
+ example: "ready"
+ x-linode-cli-display: 3
+ description: "__Read-only__ A brief description of this Disk's current state. This field may change without direct action from you, as a result of operations performed to the Disk or the Linode containing the Disk."
+ type: "string"
+ updated:
+ format: "date-time"
+ description: "__Read-only__ When this Disk was last updated."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ id:
+ readOnly: true
+ example: 25674
+ x-linode-cli-display: 1
+ description: "__Read-only__ This Disk's ID which must be provided for all operations impacting this Disk."
+ type: "integer"
+ size:
+ x-linode-filterable: true
+ example: 48640
+ type: "integer"
+ description: "__Filterable__ The size of the Disk in MB."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ created:
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Disk was created."
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ x-example:
+ x-ref: "../examples/post-clone-linode-disk-200.json"
+ description: "Disk clone initiated."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ /{apiVersion}/lke/clusters/{clusterId}/kubeconfig:
+ delete:
+ x-linode-cli-action: "kubeconfig-delete"
+ description: "Delete and regenerate the Kubeconfig file for a Cluster.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke kubeconfig-delete 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/lke/clusters/12345/kubeconfig"
+ -
+ lang: "CLI"
+ source: "linode-cli lke kubeconfig-delete 12345"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli lke kubeconfig-delete 12345"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ responses:
+ 200:
+ description: "Kubeconfig file deleted and regenerated successfully."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "The API responds with an empty object."
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ x-example:
+ x-ref: "../examples/delete-lke-cluster-kubeconfig-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ operationId: "delete-lke-cluster-kubeconfig"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-lke-cluster-kubeconfig"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ x-original-op-id: "deleteLKEClusterKubeconfig"
+ summary: "Delete a Kubeconfig"
+ x-original-op-title: "Kubeconfig Delete"
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ responses:
+ 200:
+ description: "Returns the Base64-encoded Kubeconfig file for this Kubernetes cluster."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-get-lke-cluster-kubeconfig-200.yaml"
+ properties:
+ kubeconfig:
+ readOnly: true
+ description: "__Read-only__ The Base64-encoded Kubeconfig file for this Cluster."
+ type: "string"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-lke-cluster-kubeconfig-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ summary: "Get a Kubeconfig"
+ x-original-op-title: "Kubeconfig View"
+ x-original-op-id: "getLKEClusterKubeconfig"
+ operationId: "get-lke-cluster-kubeconfig"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-kubeconfig"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/lke/clusters/12345/kubeconfig"
+ lang: "Shell"
+ -
+ source: "linode-cli lke kubeconfig-view 12345"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli lke kubeconfig-view 12345"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "lke:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-linode-cli-action: "kubeconfig-view"
+ description: "Get the Kubeconfig file for a Cluster. Please note that it often takes 2-5 minutes before the Kubeconfig file is ready after first [creating a new cluster](https://techdocs.akamai.com/linode-api/reference/post-lke-cluster).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke kubeconfig-view 12345\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-akamai:
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/kubeconfig"
+ file-path: "paths/kubeconfig.yaml"
+ parameters:
+ -
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/cluster-id-path-28150853.yaml"
+ name: "clusterId"
+ description: "ID of the Kubernetes cluster to look up."
+ x-linode-cli-command: "lke"
+ /{apiVersion}/vpcs/{vpcId}/ips:
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ -
+ schema:
+ type: "integer"
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/vpc-id.yaml"
+ name: "vpcId"
+ description: "The `id` of the VPC."
+ get:
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "ips:read_only"
+ tags:
+ - "VPCs"
+ responses:
+ 200:
+ description: "The IP addresses for the requested VPC."
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/ip-addresses-vpc.yaml"
+ description: "The response data for the VPC IP Addresses List and View operations."
+ allOf:
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ readOnly: true
+ example: 1
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ type: "object"
+ -
+ properties:
+ subnet_id:
+ nullable: false
+ type: "integer"
+ description: "The `id` of the VPC Subnet for this interface."
+ example: 101
+ prefix:
+ nullable: true
+ description: "__Read-only__ The number of bits set in the `subnet_mask`."
+ type: "integer"
+ example: 24
+ readOnly: true
+ subnet_mask:
+ readOnly: true
+ example: "255.255.255.0"
+ format: "ip"
+ description: "__Read-only__ The mask that separates host bits from network bits for the `address` or `address_range`."
+ type: "string"
+ nat_1_1:
+ format: "ip"
+ description: "__Read-only__ The public IP address used for NAT 1:1 with the VPC. This is empty if NAT 1:1 isn't used."
+ type: "string"
+ readOnly: true
+ example: "192.168.0.42"
+ interface_id:
+ example: 2435
+ readOnly: true
+ description: "__Read-only__ The globally general API entity identifier for the Linode interface."
+ type: "integer"
+ gateway:
+ format: "ip"
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The default gateway for the VPC subnet that the IP or IP range belongs to."
+ readOnly: true
+ example: "192.0.2.1"
+ linode_id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The identifier for the Linode the VPC interface currently belongs to."
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ vpc_id:
+ readOnly: true
+ x-linode-filterable: true
+ example: 7654
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The unique globally general API entity identifier for the VPC."
+ type: "integer"
+ active:
+ x-linode-filterable: true
+ example: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ Returns `true` if the VPC interface is in use, meaning that the Linode was powered on using the `config_id` to which the interface belongs. Otherwise returns `false`."
+ type: "boolean"
+ x-akamai:
+ labels:
+ - "Filterable"
+ address_range:
+ description: "__Read-only__ A range of IPv4 addresses configured for this VPC interface. Displayed as `null` if a single `address`."
+ type: "string"
+ nullable: true
+ readOnly: true
+ region:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The region of the VPC."
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "us-east"
+ x-linode-filterable: true
+ readOnly: true
+ address:
+ x-linode-cli-display: 1
+ format: "ip"
+ nullable: true
+ description: "__Read-only__ An IPv4 address configured for this VPC interface. These follow the [RFC 1918](https://datatracker.ietf.org/doc/html/rfc1918) private address format. Displayed as `null` if an `address_range`."
+ type: "string"
+ readOnly: true
+ example: "192.0.2.141"
+ config_id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The globally general entity identifier for the Linode configuration profile where the VPC is included."
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 4567
+ x-linode-filterable: true
+ readOnly: true
+ description: "A VPC IP address that exists in Linode's system, specific to the response for the [List VPC IP addresses](https://techdocs.akamai.com/linode-api/reference/get-vpcs-ips) operation. Returned as an empty set for Linodes that are not part of a VPC."
+ type: "object"
+ example:
+ vpc_id: 7654
+ active: true
+ region: "us-east"
+ pages: 1
+ gateway: "192.0.2.1"
+ linode_id: 123
+ address_range: null
+ address: "192.0.2.141"
+ config_id: 4567
+ results: 1
+ subnet_id: 101
+ prefix: 24
+ subnet_mask: "192.0.2.1"
+ nat_1_1: "192.0.2.110"
+ page: 1
+ interface_id: 2435
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-original-op-id: "getVPCIPs"
+ parameters:
+ -
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ -
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ summary: "List a VPC's IP addresses"
+ x-original-op-title: "VPC IP Addresses View"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/vpcs/123/ips"
+ -
+ source: "linode-cli vpcs ip-list 123"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli vpcs ip-list 123"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "ips:read_only"
+ x-linode-cli-action:
+ - "ip-list"
+ - "ip-ls"
+ description: "Returns a paginated list of IP addresses for a single VPC.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli vpcs ip-list 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n ips:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ operationId: "get-vpc-ips"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-vpc-ips"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-akamai:
+ path-info: "/{apiVersion}/vpcs/{vpcId}/ips"
+ file-path: "paths/vpc-ips.yaml"
+ /{apiVersion}/databases/engines/{engineId}:
+ x-linode-cli-command: "databases"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ name: "engineId"
+ description: "The ID of the Managed Database engine."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/engine-id-path.yaml"
+ schema:
+ type: "string"
+ required: true
+ x-akamai:
+ path-info: "/{apiVersion}/databases/engines/{engineId}"
+ file-path: "paths/engine.yaml"
+ get:
+ summary: "Get a managed database engine"
+ x-original-op-title: "Managed Database Engine View"
+ x-original-op-id: "getDatabasesEngine"
+ parameters:
+ -
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ schema:
+ default: 1
+ minimum: 1
+ type: "integer"
+ -
+ schema:
+ maximum: 500
+ type: "integer"
+ minimum: 25
+ default: 100
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ description: "The number of items to return per page."
+ name: "page_size"
+ operationId: "get-databases-engine"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ -
+ url: "https://api.linode.com/v4beta"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-databases-engine"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/databases/engines/mysql/5.7.30"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli databases engine-view mysql/5.7.30"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli databases engine-view"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ x-linode-cli-action: "engine-view"
+ description: "__This operation is currently only available for customers who already have an active Managed Database.__\n\nDisplay information for a single Managed Database engine type and version.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases engine-view\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ tags:
+ - "Databases"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-databases-engine-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ version:
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The Managed Database engine version."
+ type: "string"
+ example: "8.0.26"
+ x-linode-filterable: true
+ engine:
+ type: "string"
+ description: "__Filterable__ The Managed Database engine type."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "mysql"
+ x-linode-filterable: true
+ total_disk_size_gb:
+ example: 15
+ x-linode-cli-display: 4
+ type: "integer"
+ description: "The total disk size of the database in GB."
+ used_disk_size_gb:
+ example: 2
+ type: "integer"
+ description: "The used space of the database in GB."
+ x-linode-cli-display: 5
+ id:
+ x-linode-cli-display: 1
+ type: "string"
+ description: "The Managed Database engine ID in engine/version format."
+ example: "mysql/8.0.26"
+ x-akamai:
+ file-path: "schemas/database-engine.yaml"
+ description: "Managed Database engine object."
+ type: "object"
+ description: "Returns information for a single Managed Database engine type and version."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ /{apiVersion}/linode/instances/{linodeId}/rebuild:
+ x-linode-cli-command: "linodes"
+ post:
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-rebuild-linode-instance"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli linodes rebuild 123 \\\n --image \"linode/debian9\" \\\n --root_pass aComplex@Password \\\n --disk_encryption disabled \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUsername\" \\\n --authorized_users \"secondaryUsername\" \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --type \"g6-standard-2\" \\\n --metadata.userdata \"I2Nsb3VkLWNvbmZpZw==\""
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "linodes:read_write"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST -d '{\n \"image\": \"linode/debian9\",\n \"root_pass\": \"aComplexP@ssword\",\n \"disk_encryption\": disabled,\n \"authorized_keys\": [\n \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\"\n ],\n \"authorized_users\": [\n \"myUsername\",\n \"secondaryUsername\"\n ],\n \"booted\": true,\n \"stackscript_id\": 10079,\n \"stackscript_data\": {\n \"gh_username\": \"linode\"\n },\n \"type\": \"g6-standard-2\",\n \"metadata\": {\n \"user_data\": \"I2Nsb3VkLWNvbmZpZw==\"\n }\n }' \\\n https://api.linode.com/v4/linode/instances/123/rebuild"
+ -
+ source: "linode-cli linodes rebuild 123 \\\n --image \"linode/debian9\" \\\n --root_pass aComplex@Password \\\n --disk_encryption disabled \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUsername\" \\\n --authorized_users \"secondaryUsername\" \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --type \"g6-standard-2\" \\\n --metadata.userdata \"I2Nsb3VkLWNvbmZpZw==\""
+ lang: "CLI"
+ description: "Rebuilds a Linode you have the `read_write` permission to modify.\n\nA rebuild will first shut down the Linode, delete all disks and configs on the Linode, and then deploy a new `image` to the Linode with the given attributes. Additionally:\n\n - Requires an `image` be supplied.\n - Requires a `root_pass` be supplied to use for the root User's Account.\n - It is recommended to supply SSH keys for the root User using the `authorized_keys` field.\n - Linodes utilizing Metadata (`\"has_user_data\": true`) should include `metadata.user_data` in the rebuild request to continue using the service.\n\nDuring a rebuild, you can `enable` or `disable` local disk encryption. If disk encryption is not included in the request, the previous `disk_encryption` value is used. Disk encryption cannot be disabled if the compute instance is attached to a LKE nodepool.\n\nYou also have the option to resize the Linode to a different plan by including the `type` parameter with your request. Note that resizing involves migrating the Linode to a new hardware host, while rebuilding without resizing maintains the same hardware host. Resizing also requires significantly more time for completion of this operation. The following additional conditions apply:\n\n - The Linode must not have a pending migration.\n - Your Account cannot have an outstanding balance.\n - The Linode must not have more disk allocation than the new Type allows.\n - In that situation, you must first delete or resize the disk to be smaller.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes rebuild 123 \\\n --image \"linode/debian9\" \\\n --root_pass aComplex@Password \\\n --disk_encryption disabled \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUsername\" \\\n --authorized_users \"secondaryUsername\" \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --type \"g6-standard-2\" \\\n --metadata.userdata \"I2Nsb3VkLWNvbmZpZw==\"\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action: "rebuild"
+ x-original-op-title: "Linode Rebuild"
+ summary: "Rebuild a Linode"
+ x-original-op-id: "rebuildLinodeInstance"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-rebuild-linode-instance-200.json"
+ schema:
+ type: "object"
+ x-akamai:
+ file-path: "schemas/linode.yaml"
+ properties:
+ group:
+ x-linode-filterable: true
+ deprecated: true
+ example: "Linode-Group"
+ description: "__Filterable__ A deprecated property denoting a group label for this Linode."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ status:
+ type: "string"
+ description: "__Read-only__ A brief description of this Linode's current state. This field may change without direct action from you. For example, when a Linode goes into maintenance mode its status will display `stopped`."
+ x-linode-cli-display: 6
+ enum:
+ - "running"
+ - "offline"
+ - "booting"
+ - "rebooting"
+ - "shutting_down"
+ - "provisioning"
+ - "deleting"
+ - "migrating"
+ - "rebuilding"
+ - "cloning"
+ - "restoring"
+ - "stopped"
+ - "billing_suspension"
+ example: "running"
+ readOnly: true
+ x-linode-cli-color:
+ default_: "yellow"
+ offline: "red"
+ billing_suspension: "red"
+ running: "green"
+ host_uuid:
+ format: "uuid"
+ description: "__Read-only__ The Linode's host machine, as a UUID."
+ type: "string"
+ readOnly: true
+ example: "3a3ddd59d9a78bb8de041391075df44de62bfec8"
+ backups:
+ properties:
+ last_successful:
+ example: "2018-01-01T00:01:01"
+ readOnly: true
+ description: "__Read-only__ The last successful backup date. 'null' if there was no previous backup."
+ type: "string"
+ format: "date-time"
+ schedule:
+ additionalProperties: false
+ type: "object"
+ properties:
+ window:
+ enum:
+ - "Scheduling"
+ - "W0"
+ - "W2"
+ - "W4"
+ - "W6"
+ - "W8"
+ - "W10"
+ - "W12"
+ - "W14"
+ - "W16"
+ - "W18"
+ - "W20"
+ - "W22"
+ example: "W22"
+ nullable: true
+ type: "string"
+ description: "The window in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur.\n\nFor example, `W10` indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically.\n\nIf not set manually, when backups are initially enabled this may come back as `Scheduling` until the `window` is automatically selected."
+ day:
+ nullable: true
+ description: "The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period.\n\nIf not set manually, then when backups are initially enabled, this may come back as `Scheduling` until the `day` is automatically selected."
+ type: "string"
+ example: "Saturday"
+ enum:
+ - "Scheduling"
+ - "Sunday"
+ - "Monday"
+ - "Tuesday"
+ - "Wednesday"
+ - "Thursday"
+ - "Friday"
+ - "Saturday"
+ enabled:
+ example: true
+ readOnly: true
+ description: "__Read-only__ If this Linode has the Backup service enabled. To enable backups, run [Enable backups](https://techdocs.akamai.com/linode-api/reference/post-enable-backups)."
+ type: "boolean"
+ available:
+ example: true
+ readOnly: true
+ type: "boolean"
+ description: "__Read-only__ Whether Backups for this Linode are available for restoration.\n\nBackups undergoing maintenance are not available for restoration."
+ type: "object"
+ description: "Information about this Linode's backups status. For information about available backups, run [List backups](https://techdocs.akamai.com/linode-api/reference/get-backups)."
+ additionalProperties: false
+ alerts:
+ additionalProperties: false
+ type: "object"
+ properties:
+ io:
+ example: 10000
+ description: "The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to `0` (zero), this alert is disabled."
+ type: "integer"
+ transfer_quota:
+ description: "The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to `0` (zero), the alert is disabled."
+ type: "integer"
+ example: 80
+ cpu:
+ example: 180
+ type: "integer"
+ description: "The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. Your Linode's total CPU capacity is represented as 100%, multiplied by its number of cores.\n\nFor example, a two core Linode's CPU capacity is represented as 200%. If you want to be alerted at 90% of a two core Linode's CPU capacity, set the alert value to `180`.\n\nThe default value is 90% multiplied by the number of cores.\n\nIf the value is set to `0` (zero), the alert is disabled."
+ network_out:
+ type: "integer"
+ description: "The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ example: 10
+ network_in:
+ type: "integer"
+ description: "The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to `0` (zero), the alert is disabled."
+ example: 10
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ When this Linode was created."
+ ipv4:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 7
+ items:
+ type: "string"
+ format: "ipv4"
+ type: "array"
+ description: "__Filterable__, __Read-only__ This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) to get additional IPv4 addresses.\n\nIPv4 addresses may be reassigned between your Linodes, or shared with other Linodes. See the [networking](https://techdocs.akamai.com/linode-api/reference/post-firewalls) operations for details."
+ readOnly: true
+ x-linode-filterable: true
+ example:
+ - "203.0.113.1"
+ - "192.0.2.1"
+ region:
+ readOnly: true
+ example: "us-east"
+ x-linode-filterable: true
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ This is the [region](https://techdocs.akamai.com/linode-api/reference/get-regions) where the Linode was deployed. A Linode's region can only be changed by initiating a [cross data center migration](https://techdocs.akamai.com/linode-api/reference/post-migrate-linode-instance)."
+ type: "string"
+ id:
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ This Linode's ID which must be provided for all operations impacting this Linode."
+ type: "integer"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ specs:
+ additionalProperties: false
+ readOnly: true
+ type: "object"
+ description: "__Read-only__ Information about the resources available to this Linode."
+ properties:
+ transfer:
+ example: 4000
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The amount of network transfer this Linode is allotted each month."
+ memory:
+ readOnly: true
+ example: 4096
+ type: "integer"
+ description: "__Read-only__ The amount of RAM, in MB, this Linode has access to.\n\nTypically, a Linode boots with all of its available RAM, but this can be configured in a Config profile. See the [List config profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operations and the LinodeConfig object for more information."
+ vcpus:
+ readOnly: true
+ example: 2
+ type: "integer"
+ description: "__Read-only__ The number of vcpus this Linode has access to."
+ gpus:
+ type: "integer"
+ description: "__Read-only__ The number of gpus this Linode has access to."
+ readOnly: true
+ example: 0
+ disk:
+ example: 81920
+ readOnly: true
+ description: "__Read-only__ The amount of storage space, in MB, this Linode has access to. A typical Linode will divide this space between a primary disk with an `image` deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an `image` through [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance). While this configuration is suitable for 99% of use cases, if you need finer control over your Linode's disks, see the [List disks](https://techdocs.akamai.com/linode-api/reference/get-linode-disks) operations."
+ type: "integer"
+ ipv6:
+ nullable: true
+ description: "__Read-only__ This Linode's IPv6 SLAAC address. This address is specific to a Linode, and may not be shared. If the Linode has not been assigned an IPv6 address, the return value will be `null`."
+ type: "string"
+ format: "ipv6/128"
+ example: "c001:d00d::1337/128"
+ readOnly: true
+ hypervisor:
+ type: "string"
+ description: "__Read-only__ The virtualization software powering this Linode."
+ readOnly: true
+ example: "kvm"
+ enum:
+ - "kvm"
+ tags:
+ x-linode-filterable: true
+ example:
+ - "example tag"
+ - "another example"
+ x-akamai:
+ labels:
+ - "Filterable"
+ items:
+ type: "string"
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ updated:
+ format: "date-time"
+ description: "__Read-only__ When this Linode was last updated."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ type:
+ readOnly: true
+ example: "g6-standard-1"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "__Read-only__ This is the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) that this Linode was deployed with. To change a Linode's Type, use [Resize a Linode](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance)."
+ label:
+ pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$"
+ x-linode-filterable: true
+ maxLength: 64
+ example: "linode123"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.\n\nLinode labels have the following constraints:\n\n- Must begin and end with an alphanumeric character.\n- May only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`).\n- Cannot have two hyphens (`--`), underscores (`__`) or periods (`..`) in a row."
+ minLength: 3
+ watchdog_enabled:
+ example: true
+ description: "The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes."
+ type: "boolean"
+ placement_group:
+ readOnly: true
+ additionalProperties: false
+ description: "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group."
+ type: "object"
+ nullable: true
+ properties:
+ placement_group_type:
+ example: "anti-affinity:local"
+ enum:
+ - "anti_affinity:local"
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ How compute instances are distributed in your placement group. A `placement_group_type` using anti-affinity (`anti-affinity:local`) places compute instances in separate hosts, but still in the same region. This best supports the spread-apart model for high availability. A `placement_group_type` using affinity places compute instances physically close together, possibly on the same host. This supports the grouped-together model for low-latency.\n\n> 📘\n>\n> Currently, only `anti_affinity:local` is available for `placement_group_type`."
+ type: "string"
+ x-linode-cli-display: null
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ example: 528
+ nullable: false
+ type: "integer"
+ description: "The placement group's ID. You need to provide it for all operations impacting it."
+ x-linode-cli-display: null
+ label:
+ example: "PG_Miami_failover"
+ x-linode-filterable: true
+ x-linode-cli-display: 10
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The unique name set for the placement group. A label has these constraints:\n\n- It needs to begin and end with an alphanumeric character.\n- It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`)."
+ minLength: 1
+ placement_group_policy:
+ example: "strict"
+ enum:
+ - "strict"
+ - "flexible"
+ x-linode-cli-display: null
+ description: "How requests to add future compute instances to your placement group are handled, and whether it remains compliant:\n\n- `strict`. Don't assign a new compute instance if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. Use this to ensure the placement group stays compliant (`is_compliant: true`).\n- `flexible`. Assign a new compute instance, even if it breaks the grouped-together or spread-apart model set by the `placement_group_type`. This makes the group non-compliant (`is_compliant: false`). You need to wait for Akamai to move the offending compute instance to make it compliant again, once the necessary capacity is available in the region. Offers flexibility to add future compute instances if compliance isn't an immediate concern.\n\n<>\n\n> 📘\n>\n> In rare cases, non-compliance can occur with a `strict` placement group if Akamai needs to failover or migrate your compute instances for maintenance. Fixing non-compliance for a `strict` placement group is prioritized over a `flexible` group."
+ type: "string"
+ image:
+ readOnly: true
+ allOf:
+ -
+ example: "linode/debian9"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ type: "string"
+ x-linode-filterable: true
+ example: "linode/debian10"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ nullable: true
+ has_user_data:
+ type: "boolean"
+ description: "__Read-only__ Whether this compute instance was provisioned utilizing `user_data` provided via the Metadata service. See the [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) description for more information on Metadata."
+ readOnly: true
+ example: true
+ title: "Linode"
+ additionalProperties: false
+ description: "Rebuild started."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ additionalProperties: false
+ requestBody:
+ required: true
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-rebuild-linode-instance.json"
+ schema:
+ allOf:
+ -
+ type: "object"
+ description: "Common properties for creating and rebuilding Linodes."
+ properties:
+ authorized_users:
+ example:
+ - "myUser"
+ - "secondaryUser"
+ items:
+ type: "string"
+ description: "__Write-only__ A list of usernames. If the usernames have associated SSH keys, the keys will be appended to the root users `~/.ssh/authorized_keys` file automatically when deploying from an Image."
+ writeOnly: true
+ type: "array"
+ root_pass:
+ description: "__Write-only__ This sets the root user's password on a newly-created Linode Disk when deploying from an Image.\n\n- __Required__ when creating a Linode Disk from an Image, including when using a StackScript.\n\n- Must meet a password strength score requirement that is calculated internally by the API. If the strength requirement is not met, you will receive a `Password does not meet strength requirement` error."
+ type: "string"
+ format: "password"
+ minLength: 7
+ writeOnly: true
+ maxLength: 128
+ example: "aComplexP@ssword"
+ booted:
+ writeOnly: true
+ description: "__Write-only__ This field defaults to `true` if the Linode is created with an Image or from a Backup. If it is deployed from an Image or a Backup and you wish it to remain `offline` after deployment, set this to `false`."
+ type: "boolean"
+ default: true
+ stackscript_data:
+ type: "object"
+ description: "This field is required only if the StackScript being deployed requires input data from the User for successful completion. See [User Defined Fields (UDFs)](https://www.linode.com/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) for more details.\n\nThis field is required to be valid JSON.\n\nTotal length cannot exceed 65,535 characters."
+ example:
+ gh_username: "linode"
+ maxLength: 65535
+ metadata:
+ additionalProperties: false
+ properties:
+ user_data:
+ format: "byte"
+ description: "Base64-encoded [cloud-config](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata-cloud-config/) data.\n\nCannot be modified after provisioning. To update, use either the [Clone a Linode](https://techdocs.akamai.com/linode-api/reference/post-clone-linode-instance) or [Rebuild a Linode](https://techdocs.akamai.com/linode-api/reference/post-rebuild-linode-instance) operations.\n\nMust not be included when cloning to an existing Linode.\n\nUnencoded data must not exceed 65535 bytes, or about 16kb encoded."
+ type: "string"
+ example: "I2Nsb3VkLWNvbmZpZwpwYWNrYWdlX3VwZGF0ZTogdHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IHRydWU="
+ writeOnly: true
+ type: "object"
+ description: "__Write-only__ An object containing user-defined data relevant to the creation of Linodes."
+ stackscript_id:
+ description: "A StackScript ID that will cause the referenced StackScript to be run during deployment of this Linode. A compatible `image` is required to use a StackScript. To get a list of available StackScript and their permitted Images, run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts). This field cannot be used when deploying from a Backup or a Private Image."
+ type: "integer"
+ example: 10079
+ image:
+ type: "string"
+ description: "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image."
+ example: "linode/debian9"
+ authorized_keys:
+ example:
+ - "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
+ type: "array"
+ description: "__Write-only__ A list of public SSH keys that will be automatically appended to the root user's `~/.ssh/authorized_keys` file when deploying from an Image."
+ writeOnly: true
+ items:
+ type: "string"
+ x-akamai:
+ file-path: "schemas/linode-request.yaml"
+ additionalProperties: false
+ -
+ additionalProperties: false
+ type: "object"
+ properties:
+ type:
+ description: "The ID of the [Linode type](https://techdocs.akamai.com/linode-api/reference/get-linode-types) to resize to with this request."
+ type: "string"
+ example: "g6-standard-2"
+ required:
+ - "image"
+ - "root_pass"
+ x-akamai:
+ file-path: "schemas/added-post-rebuild-linode-instance.yaml"
+ type: "object"
+ description: "The requested state your Linode will be rebuilt into."
+ tags:
+ - "Linode instances"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_write"
+ x-akamai:
+ path-info: "/{apiVersion}/linode/instances/{linodeId}/rebuild"
+ file-path: "paths/linode-rebuild.yaml"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ schema:
+ type: "integer"
+ description: "ID of the Linode to rebuild."
+ name: "linodeId"
+ x-akamai:
+ file-path: "parameters/linode-id-path-2816c8d8.yaml"
+ required: true
+ in: "path"
+ /{apiVersion}/linode/types:
+ x-linode-cli-command: "linodes"
+ get:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-types"
+ operationId: "get-linode-types"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli linodes types"
+ x-code-samples:
+ -
+ source: "curl https://api.linode.com/v4/linode/types"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli linodes types"
+ description: "Returns collection of Linode Types, including pricing and specifications for each Type. These are used when [creating](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) or [resizing](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance) Linodes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes types\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action: "types"
+ x-original-op-title: "Types List"
+ summary: "List types"
+ x-original-op-id: "getLinodeTypes"
+ x-linode-redoc-load-ids: true
+ responses:
+ 200:
+ description: "A collection of Linode Types."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-types-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-linode-types-200.yaml"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ data:
+ type: "array"
+ items:
+ description: "Returns collection of Linode types, including pricing and specifications for each type. These are used when [creating](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) or [resizing](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance) Linodes."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/linode-type.yaml"
+ properties:
+ addons:
+ properties:
+ backups:
+ description: "__Read-only__ Information about the optional Backup service offered for Linodes."
+ type: "object"
+ properties:
+ region_prices:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ monthly:
+ example: 6
+ type: "number"
+ description: "Cost (in US dollars) per month to add Backups service in this Region."
+ hourly:
+ example: 0.0096
+ type: "number"
+ description: "Cost (in US dollars) per hour to add Backups service in this Region."
+ id:
+ type: "string"
+ description: "The Region ID for these prices."
+ example: "us-east"
+ type: "object"
+ price:
+ additionalProperties: false
+ properties:
+ monthly:
+ description: "The cost (in US dollars) per month to add Backups service."
+ type: "number"
+ example: 5
+ hourly:
+ example: 0.008
+ type: "number"
+ description: "The cost (in US dollars) per hour to add Backups service."
+ description: "The default cost of enabling Backups for this Linode Type. Prices are in US dollars, broken down into hourly and monthly charges.\n\nCertain Regions have different prices from the default. For Region-specific prices, see `region_prices`."
+ type: "object"
+ additionalProperties: false
+ readOnly: true
+ description: "__Read-only__ A list of optional add-on services for Linodes and their associated costs."
+ type: "object"
+ readOnly: true
+ additionalProperties: false
+ network_out:
+ example: 1000
+ x-linode-filterable: true
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The Mbits outbound bandwidth allocation."
+ x-linode-cli-display: 7
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ type: "string"
+ description: "__Read-only__ The ID representing the Linode Type."
+ x-linode-cli-display: 1
+ example: "g6-standard-2"
+ readOnly: true
+ memory:
+ description: "__Filterable__, __Read-only__ Amount of RAM included in this Linode Type."
+ type: "integer"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 5
+ x-linode-filterable: true
+ example: 4096
+ readOnly: true
+ disk:
+ description: "__Filterable__, __Read-only__ The Disk size, in MB, of the Linode Type."
+ type: "integer"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ x-linode-filterable: true
+ example: 81920
+ readOnly: true
+ class:
+ type: "string"
+ description: "__Filterable__, __Read-only__ The class of the Linode Type.\n\nWe currently offer six classes of compute instances:\n\n - `nanode` - Nanode instances are good for low-duty workloads, where performance isn't critical. __Note__. As of June 16th, 2020, Nanodes became 1 GB Linodes in the Cloud Manager, however, the API, the CLI, and billing will continue to refer to these instances as Nanodes.\n - `standard` - Standard Shared instances are good for medium-duty workloads and are a good mix of performance, resources, and price. __Note__. As of June 16th, 2020, Standard Linodes in the Cloud Manager became Shared Linodes, however, the API, the CLI, and billing will continue to refer to these instances as Standard Linodes.\n - `dedicated` - Dedicated CPU instances are good for full-duty workloads where consistent performance is important.\n - `premium` (limited Regions) - In addition to the features of Dedicated instances, Premium instances come equipped with the latest AMD EPYC™ CPUs, ensuring your applications are running on the latest hardware with consistently high performance. Only available in [regions](https://techdocs.akamai.com/linode-api/reference/get-regions) with \"Premium Plans\" in their `capabilities`\n - `gpu` (limited Regions) - Linodes with dedicated NVIDIA Quadro® RTX 6000 GPUs accelerate highly specialized applications such as machine learning, AI, and video transcoding. Only available in [regions](https://techdocs.akamai.com/linode-api/reference/get-regions) with \"GPU Linodes\" in their `capabilities`\n - `highmem` - High Memory instances favor RAM over other resources, and can be good for memory hungry use cases like caching and in-memory databases. All High Memory plans contain dedicated CPU cores."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 3
+ x-linode-filterable: true
+ enum:
+ - "nanode"
+ - "standard"
+ - "dedicated"
+ - "premium"
+ - "gpu"
+ - "highmem"
+ example: "standard"
+ readOnly: true
+ successor:
+ example: null
+ readOnly: true
+ description: "__Read-only__ The Linode Type that a [mutate](https://techdocs.akamai.com/linode-api/reference/post-mutate-linode-instance) will upgrade to for a Linode of this type. If `null`, a Linode of this type may not mutate."
+ type: "string"
+ nullable: true
+ gpus:
+ x-linode-filterable: true
+ example: 0
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The number of GPUs this Linode Type offers."
+ type: "integer"
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6.5
+ vcpus:
+ example: 2
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The number of VCPU cores this Linode Type offers."
+ type: "integer"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ transfer:
+ example: 4000
+ x-linode-filterable: true
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The monthly outbound transfer amount, in MB."
+ type: "integer"
+ x-linode-cli-display: 8
+ x-akamai:
+ labels:
+ - "Filterable"
+ price:
+ properties:
+ hourly:
+ example: 0.03
+ x-linode-cli-display: 9
+ description: "Cost (in US dollars) per hour."
+ type: "number"
+ monthly:
+ x-linode-cli-display: 10
+ description: "Cost (in US dollars) per month."
+ type: "number"
+ example: 20
+ type: "object"
+ description: "__Read-only__ The default cost of provisioning this Linode Type. Prices are in US dollars, broken down into hourly and monthly charges.\n\nCertain Regions have different prices from the default. For Region-specific prices, see `region_prices`."
+ readOnly: true
+ additionalProperties: false
+ label:
+ description: "__Filterable__, __Read-only__ The Linode Type's label is for display purposes only."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: "Linode 4GB"
+ x-linode-filterable: true
+ readOnly: true
+ region_prices:
+ items:
+ additionalProperties: false
+ properties:
+ monthly:
+ example: 24
+ description: "Cost (in US dollars) per month for this Region."
+ type: "number"
+ hourly:
+ example: 0.036
+ description: "Cost (in US dollars) per hour for this Region."
+ type: "number"
+ id:
+ type: "string"
+ description: "The Region ID for these prices."
+ example: "us-east"
+ type: "object"
+ type: "array"
+ additionalProperties: false
+ page:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ pages:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "object"
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Linode instances"
+ x-akamai:
+ file-path: "paths/linode-types.yaml"
+ path-info: "/{apiVersion}/linode/types"
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-list:
+ get:
+ x-original-op-id: "getObjectStorageBucketContent"
+ parameters:
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/marker-query.yaml"
+ name: "marker"
+ description: "The \"marker\" for this request, which can be used to paginate through large buckets. Its value should be the value of the `next_marker` property returned with the last page. Listing bucket contents _does not_ support arbitrary page access. See the `next_marker` property in the responses section for more details."
+ required: false
+ schema:
+ type: "string"
+ -
+ description: "The delimiter for object names; if given, object names will be returned up to the first occurrence of this character. This is most commonly used with the `/` character to allow bucket transversal in a manner similar to a filesystem, however any delimiter may be used. Use in conjunction with `prefix` to see object names past the first occurrence of the delimiter."
+ name: "delimiter"
+ x-akamai:
+ file-path: "parameters/delimiter-query.yaml"
+ in: "query"
+ schema:
+ type: "string"
+ required: false
+ -
+ schema:
+ type: "string"
+ x-akamai:
+ file-path: "parameters/prefix-query.yaml"
+ required: false
+ in: "query"
+ description: "Filters objects returned to only those whose name start with the given prefix. Commonly used in conjunction with `delimiter` to allow transversal of bucket contents in a manner similar to a filesystem."
+ name: "prefix"
+ -
+ schema:
+ maximum: 500
+ type: "integer"
+ minimum: 25
+ default: 100
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ summary: "List Object Storage bucket contents"
+ x-original-op-title: "Object Storage Bucket Contents List"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-list"
+ x-akamai:
+ tabs:
+ -
+ title: "OAuth scopes"
+ syntax: "object_storage:read_only"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ description: "Returns the contents of a bucket. The contents are paginated using a `marker`, that's the name of the last object on the previous page. Objects can also be filtered by `prefix` and `delimiter`. See [Filtering and sorting](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) for more information.\n\n> 📘\n>\n> The [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/objectops/#get-object) equivalent operation offers more detail.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-skip: true
+ operationId: "get-object-storage-bucket-content"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-content"
+ description: "See documentation for this operation in Akamai's Linode API"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_only"
+ tags:
+ - "Object Storage"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-object-storage-bucket-content-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-object-storage-bucket-content-200.yaml"
+ properties:
+ data:
+ items:
+ additionalProperties: false
+ properties:
+ last_modified:
+ format: "date-time"
+ type: "string"
+ description: "The date and time this object was last modified. `null` if this object represents a prefix."
+ example: "2019-01-01T01:23:45"
+ size:
+ example: 123
+ type: "integer"
+ description: "The size of this object, in bytes. `null` if this object represents a prefix."
+ name:
+ example: "example"
+ description: "The name of this object or prefix."
+ type: "string"
+ etag:
+ example: "9f254c71e28e033bf9e0e5262e3e72ab"
+ type: "string"
+ description: "An MD-5 hash of the object. `null` if this object represents a prefix."
+ owner:
+ example: "bfc70ab2-e3d4-42a4-ad55-83921822270c"
+ description: "The owner of this object, as a UUID. `null` if this object represents a prefix."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/object-storage-object.yaml"
+ description: "An Object in Object Storage, or a \"prefix\" that contains one or more objects when a `delimiter` is used."
+ type: "object"
+ type: "array"
+ is_truncated:
+ type: "boolean"
+ description: "Designates if there is another page of bucket objects."
+ example: true
+ next_marker:
+ example: "bd021c21-e734-4823-97a4-58b41c2cd4c8.892602.184"
+ nullable: true
+ description: "Returns the value you should pass to the `marker` query parameter to get the next page of objects. If there is no next page, `null` will be returned."
+ type: "string"
+ type: "object"
+ description: "One page of the requested bucket's contents."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ type: "array"
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ path-info: "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-list"
+ file-path: "paths/object-list.yaml"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ -
+ schema:
+ type: "string"
+ x-akamai:
+ file-path: "parameters/region-id-obj.yaml"
+ required: true
+ in: "path"
+ description: "Identifies a region where this bucket lives.\n\n> 📘\n>\n> You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`."
+ name: "regionId"
+ -
+ name: "bucket"
+ description: "The bucket name."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/bucket.yaml"
+ required: true
+ schema:
+ type: "string"
+ /{apiVersion}/domains/{domainId}:
+ put:
+ x-original-op-title: "Domain Update"
+ summary: "Update a domain"
+ x-original-op-id: "updateDomain"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-domain"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "put-domain"
+ x-linode-grant: "read_write"
+ description: "Update information about a Domain in Linode's DNS Manager.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains update 1234 \\\n --retry_sec 7200 \\\n --ttl_sec 300\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "update"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli domains update 1234 \\\n --retry_sec 7200 \\\n --ttl_sec 300"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "domains:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"domain\": \"example.com\",\n \"type\": \"master\",\n \"soa_email\": \"admin@example.com\",\n \"description\": \"Example Description\",\n \"refresh_sec\": 14400,\n \"retry_sec\": 3600,\n \"expire_sec\": 604800,\n \"ttl_sec\": 3600,\n \"status\": \"active\",\n \"master_ips\": [\"127.0.0.1\",\"255.255.255.1\",\"123.123.123.7\"],\n \"axfr_ips\": [\"44.55.66.77\"],\n \"group\": \"Example Display Group\",\n \"tags\": [\"tag1\",\"tag2\"]\n }' \\\n https://api.linode.com/v4/domains/123"
+ lang: "Shell"
+ -
+ source: "linode-cli domains update 1234 \\\n --retry_sec 7200 \\\n --ttl_sec 300"
+ lang: "CLI"
+ tags:
+ - "Domains"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-domain-200.json"
+ schema:
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ properties:
+ refresh_sec:
+ example: 300
+ type: "integer"
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ default: 0
+ id:
+ example: 1234
+ readOnly: true
+ description: "__Read-only__ This Domain's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ tags:
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ group:
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ deprecated: true
+ x-linode-filterable: true
+ example: null
+ maxLength: 50
+ expire_sec:
+ type: "integer"
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ default: 0
+ example: 300
+ status:
+ x-linode-cli-color:
+ active: "green"
+ default_: "red"
+ edit_mode: "yellow"
+ disabled: "yellow"
+ default: "active"
+ example: "active"
+ enum:
+ - "disabled"
+ - "active"
+ description: "Used to control whether this Domain is currently being rendered."
+ type: "string"
+ x-linode-cli-display: 4
+ domain:
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ example: "example.org"
+ maxLength: 253
+ x-linode-filterable: true
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ minLength: 1
+ master_ips:
+ type: "array"
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ items:
+ format: "ip"
+ type: "string"
+ example: []
+ ttl_sec:
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ default: 0
+ example: 300
+ retry_sec:
+ example: 300
+ type: "integer"
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ default: 0
+ axfr_ips:
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ type: "array"
+ items:
+ format: "ip"
+ type: "string"
+ example: []
+ description:
+ description: "A description for this Domain. This is for display purposes only."
+ type: "string"
+ minLength: 1
+ example: null
+ maxLength: 253
+ type:
+ enum:
+ - "master"
+ - "slave"
+ example: "master"
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ type: "string"
+ x-linode-cli-display: 3
+ soa_email:
+ type: "string"
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ x-linode-cli-display: 5
+ format: "email"
+ example: "admin@example.org"
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ type: "object"
+ additionalProperties: false
+ title: "Domain"
+ description: "Domain update successful."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "array"
+ requestBody:
+ required: true
+ description: "The Domain information to update."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ properties:
+ ttl_sec:
+ default: 0
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ type: "integer"
+ example: 300
+ retry_sec:
+ example: 300
+ default: 0
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ master_ips:
+ type: "array"
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ items:
+ type: "string"
+ format: "ip"
+ example: []
+ description:
+ maxLength: 253
+ example: null
+ minLength: 1
+ type: "string"
+ description: "A description for this Domain. This is for display purposes only."
+ type:
+ enum:
+ - "master"
+ - "slave"
+ example: "master"
+ type: "string"
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ x-linode-cli-display: 3
+ soa_email:
+ example: "admin@example.org"
+ format: "email"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ axfr_ips:
+ example: []
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ type: "array"
+ items:
+ type: "string"
+ format: "ip"
+ id:
+ example: 1234
+ readOnly: true
+ description: "__Read-only__ This Domain's unique ID."
+ type: "integer"
+ x-linode-cli-display: 1
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ type: "array"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ refresh_sec:
+ example: 300
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ type: "integer"
+ default: 0
+ expire_sec:
+ type: "integer"
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ default: 0
+ example: 300
+ group:
+ minLength: 1
+ type: "string"
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ x-akamai:
+ labels:
+ - "Filterable"
+ deprecated: true
+ x-linode-filterable: true
+ maxLength: 50
+ example: null
+ domain:
+ type: "string"
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ minLength: 1
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ x-linode-filterable: true
+ example: "example.org"
+ maxLength: 253
+ status:
+ default: "active"
+ x-linode-cli-display: 4
+ type: "string"
+ description: "Used to control whether this Domain is currently being rendered."
+ x-linode-cli-color:
+ active: "green"
+ default_: "red"
+ edit_mode: "yellow"
+ disabled: "yellow"
+ enum:
+ - "disabled"
+ - "active"
+ example: "active"
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ title: "Domain"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/put-domain.json"
+ get:
+ x-original-op-title: "Domain View"
+ summary: "Get a domain"
+ x-original-op-id: "getDomain"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-domain"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "get-domain"
+ x-linode-grant: "read_only"
+ description: "This is a single Domain that you have registered in Linode's DNS Manager. Linode is not a registrar, and in order for this Domain record to work you must own the domain and point your registrar at Linode's nameservers.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains view 123\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "view"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli domains view 123"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "domains:read_only"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/domains/123"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli domains view 123"
+ tags:
+ - "Domains"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-domain-200.json"
+ schema:
+ description: "A domain zonefile in our DNS system. You must own the domain name and tell your registrar to use Linode's nameservers in order for a domain in our system to be treated as authoritative."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/domain.yaml"
+ properties:
+ retry_sec:
+ type: "integer"
+ description: "The interval, in seconds, at which a failed refresh should be retried.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ default: 0
+ example: 300
+ ttl_sec:
+ example: 300
+ default: 0
+ type: "integer"
+ description: "\"Time to Live\" - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n- Any other value is rounded up to the nearest valid value.\n- A value of 0 is equivalent to the default value of 86400."
+ master_ips:
+ example: []
+ items:
+ type: "string"
+ format: "ip"
+ type: "array"
+ description: "The IP addresses representing the master DNS for this Domain. At least one value is required for `type` slave Domains. The total combined length of all data within this array cannot exceed 1000 characters."
+ type:
+ type: "string"
+ description: "Whether this Domain represents the authoritative source of information for the domain it describes (`master`), or whether it is a read-only copy of a master (`slave`)."
+ x-linode-cli-display: 3
+ example: "master"
+ enum:
+ - "master"
+ - "slave"
+ description:
+ maxLength: 253
+ example: null
+ minLength: 1
+ description: "A description for this Domain. This is for display purposes only."
+ type: "string"
+ soa_email:
+ format: "email"
+ x-linode-cli-display: 5
+ type: "string"
+ description: "Start of Authority email address. This is required for `type` master Domains."
+ example: "admin@example.org"
+ axfr_ips:
+ type: "array"
+ description: "The list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters.\n\n__Note__. This is potentially dangerous, and should be set to an empty list unless you intend to use it."
+ items:
+ format: "ip"
+ type: "string"
+ example: []
+ id:
+ readOnly: true
+ example: 1234
+ x-linode-cli-display: 1
+ description: "__Read-only__ This Domain's unique ID."
+ type: "integer"
+ tags:
+ example:
+ - "example tag"
+ - "another example"
+ x-linode-filterable: true
+ items:
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only."
+ type: "array"
+ refresh_sec:
+ type: "integer"
+ description: "The amount of time in seconds before this Domain should be refreshed.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 14400."
+ default: 0
+ example: 300
+ group:
+ deprecated: true
+ x-linode-filterable: true
+ maxLength: 50
+ example: null
+ description: "__Filterable__ The group this Domain belongs to. This is for display purposes only."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ expire_sec:
+ example: 300
+ default: 0
+ type: "integer"
+ description: "The amount of time in seconds that may pass before this Domain is no longer authoritative.\n\n- Valid values are 0, 30, 120, 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200.\n\n- Any other value is rounded up to the nearest valid value.\n\n- A value of 0 is equivalent to the default value of 1209600."
+ domain:
+ maxLength: 253
+ example: "example.org"
+ x-linode-filterable: true
+ pattern: "^(\\*\\.)?([a-zA-Z0-9-_]{1,63}\\.)+([a-zA-Z]{2,3}\\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)$"
+ minLength: 1
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to [RFC1035](https://tools.ietf.org/html/rfc1035). Domains must be unique on Linode's platform, including across different Linode accounts; there cannot be two Domains representing the same domain."
+ status:
+ enum:
+ - "disabled"
+ - "active"
+ example: "active"
+ x-linode-cli-color:
+ edit_mode: "yellow"
+ disabled: "yellow"
+ active: "green"
+ default_: "red"
+ default: "active"
+ type: "string"
+ description: "Used to control whether this Domain is currently being rendered."
+ x-linode-cli-display: 4
+ title: "Domain"
+ additionalProperties: false
+ description: "A single Domain in Linode's DNS Manager."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ additionalProperties: false
+ delete:
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ maxProperties: 0
+ description: "The API responds with an empty object."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/delete-domain-200.json"
+ description: "Domain deleted successfully."
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ tags:
+ - "Domains"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "domains:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-domain"
+ operationId: "delete-domain"
+ description: "Deletes a Domain from Linode's DNS Manager. The Domain will be removed from Linode's nameservers shortly after this operation completes. This also deletes all associated Domain Records.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli domains delete 1234\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n domains:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_write"
+ x-linode-cli-action:
+ - "delete"
+ - "rm"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli domains delete 1234"
+ title: "CLI"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "domains:read_write"
+ title: "OAuth scopes"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/domains/1234"
+ -
+ source: "linode-cli domains delete 1234"
+ lang: "CLI"
+ x-original-op-title: "Domain Delete"
+ summary: "Delete a domain"
+ x-original-op-id: "deleteDomain"
+ x-akamai:
+ path-info: "/{apiVersion}/domains/{domainId}"
+ file-path: "paths/domain.yaml"
+ parameters:
+ -
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ required: true
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ -
+ description: "The ID of the Domain to access."
+ name: "domainId"
+ x-akamai:
+ file-path: "parameters/domain-id-path-6aab9d6d.yaml"
+ required: true
+ in: "path"
+ schema:
+ type: "integer"
+ x-linode-cli-command: "domains"
+ /{apiVersion}/vpcs:
+ x-linode-cli-command: "vpcs"
+ post:
+ x-linode-grant: "add_vpcs"
+ description: "Create a new VPC and optionally associated VPC Subnets.\n\n- Users must have the `add_vpc` grant to access this operation.\n- A successful request triggers a `vpc_create` event and `subnet_create` events for any created VPC Subnets.\n\nOnce a VPC is created, it can be attached to a Linode by assigning a VPC Subnet to one of the Linode's Configuration Profile Interfaces. This step can be accomplished with the following operations:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Create a config profile](https://techdocs.akamai.com/linode-api/reference/post-add-linode-config)\n- [Update a config profile](https://techdocs.akamai.com/linode-api/reference/put-linode-config)\n- [Add a configuration profile interface](https://techdocs.akamai.com/linode-api/reference/post-linode-config-interface)\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli vpcs create \\\n --description \"A description of my VPC.\" \\\n --label cool-vpc \\\n --region us-east \\\n --subnets.label cool-vpc-subnet \\\n --subnets.ipv4 10.0.1.0/24\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n vpc:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "create"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli vpcs create \\\n --description \"A description of my VPC.\" \\\n --label cool-vpc \\\n --region us-east \\\n --subnets.label cool-vpc-subnet \\\n --subnets.ipv4 10.0.1.0/24"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ title: "OAuth scopes"
+ syntax: "vpc:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/vpcs \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -H \"Content-Type: application/json\" \\\n -X POST -d '{\n \"description\": \"A description of my VPC.\",\n \"label\": \"cool-vpc\",\n \"region\": \"us-east\",\n \"subnets\": [\n {\n \"label\": \"cool-vpc-subnet\",\n \"ipv4\": \"10.0.1.0/24\"\n }\n ]\n }'"
+ -
+ source: "linode-cli vpcs create \\\n --description \"A description of my VPC.\" \\\n --label cool-vpc \\\n --region us-east \\\n --subnets.label cool-vpc-subnet \\\n --subnets.ipv4 10.0.1.0/24"
+ lang: "CLI"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/post-vpc"
+ operationId: "post-vpc"
+ x-original-op-id: "createVPC"
+ x-original-op-title: "VPC Create"
+ summary: "Create a VPC"
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ -
+ required:
+ - "label"
+ - "region"
+ -
+ properties:
+ subnets:
+ required:
+ - "ipv4"
+ - "label"
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/vpc.yaml"
+ properties:
+ region:
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The Region for the VPC."
+ type: "string"
+ example: "us-east"
+ x-linode-filterable: true
+ created:
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of VPC creation."
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ id:
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC."
+ type: "integer"
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ updated:
+ readOnly: true
+ example: "2023-09-11T00:00:00"
+ x-linode-filterable: true
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC update."
+ subnets:
+ items:
+ properties:
+ created:
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The date-time of VPC Subnet creation."
+ type: "string"
+ readOnly: true
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ ipv4:
+ format: "ip"
+ x-linode-cli-display: 3
+ description: "IPv4 range in CIDR canonical form.\n\n- The range must belong to a private address space as defined in [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918).\n- Allowed prefix lengths: 1-29.\n- The range must not overlap with 192.168.128.0/17.\n- The range must not overlap with other Subnets on the same VPC."
+ type: "string"
+ example: "10.0.1.0/24"
+ id:
+ readOnly: true
+ example: 456
+ x-linode-filterable: true
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC Subnet."
+ updated:
+ example: "2023-09-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC Subnet update."
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ linodes:
+ type: "array"
+ description: "__Read-only__ An array of Linode IDs assigned to the VPC Subnet.\n\nA Linode is assigned to a VPC Subnet if it has a Configuration Profile with a `vpc` purpose interface with the subnet's `subnet_id`. Even if the Configuration Profile is not active, meaning the Linode does not have access to the Subnet, the Linode still appears in this array."
+ items:
+ additionalProperties: false
+ properties:
+ interfaces:
+ items:
+ type: "object"
+ properties:
+ active:
+ example: true
+ description: "Returns `true` if the Interface is in use, meaning that the Linode was powered on using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ type: "boolean"
+ id:
+ type: "integer"
+ description: "ID of the interface."
+ example: 421
+ additionalProperties: false
+ type: "array"
+ description: "VPC purpose interfaces with the subnet's `subnet_id` assigned to the Linode."
+ id:
+ example: 111
+ type: "integer"
+ description: "ID of a Linode assigned to the VPC Subnet."
+ type: "object"
+ x-linode-cli-display: 5
+ readOnly: true
+ label:
+ x-linode-filterable: true
+ example: "cool-vpc-subnet"
+ maxLength: 64
+ minLength: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__ The VPC Subnet's label, for display purposes only.\n\n- Must be unique among the VPC's Subnets.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/vpc-subnet.yaml"
+ description: "An object describing a VPC Subnet."
+ type: "object"
+ additionalProperties: false
+ description: "A list of subnets associated with the VPC."
+ type: "array"
+ description:
+ x-linode-cli-display: 3
+ default: ""
+ description: "A written description to help distinguish the VPC."
+ type: "string"
+ maxLength: 255
+ example: "A description of my VPC."
+ label:
+ example: "cool-vpc"
+ maxLength: 64
+ x-linode-filterable: true
+ type: "string"
+ description: "__Filterable__ The VPC's label, for display purposes only.\n\n- Needs to be unique among the Account's VPCs.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ description: "An object describing a VPC belonging to the Account."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-post-vpc.yaml"
+ x-example:
+ x-ref: "../examples/post-vpc.json"
+ description: "VPC Create request object."
+ required: true
+ responses:
+ 200:
+ description: "The new VPC."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/post-vpc-200.json"
+ schema:
+ additionalProperties: false
+ properties:
+ created:
+ readOnly: true
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The date-time of VPC creation."
+ type: "string"
+ updated:
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC update."
+ type: "string"
+ nullable: true
+ readOnly: true
+ x-linode-filterable: true
+ example: "2023-09-11T00:00:00"
+ region:
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "string"
+ description: "__Filterable__ The Region for the VPC."
+ example: "us-east"
+ x-linode-filterable: true
+ description:
+ x-linode-cli-display: 3
+ type: "string"
+ description: "A written description to help distinguish the VPC."
+ default: ""
+ example: "A description of my VPC."
+ maxLength: 255
+ label:
+ x-linode-filterable: true
+ example: "cool-vpc"
+ maxLength: 64
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__ The VPC's label, for display purposes only.\n\n- Needs to be unique among the Account's VPCs.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ minLength: 1
+ id:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ x-linode-filterable: true
+ example: 123
+ readOnly: true
+ subnets:
+ items:
+ additionalProperties: false
+ description: "An object describing a VPC Subnet."
+ type: "object"
+ properties:
+ created:
+ description: "__Filterable__, __Read-only__ The date-time of VPC Subnet creation."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ x-linode-filterable: true
+ example: "2023-07-11T00:00:00"
+ readOnly: true
+ ipv4:
+ example: "10.0.1.0/24"
+ description: "IPv4 range in CIDR canonical form.\n\n- The range must belong to a private address space as defined in [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918).\n- Allowed prefix lengths: 1-29.\n- The range must not overlap with 192.168.128.0/17.\n- The range must not overlap with other Subnets on the same VPC."
+ type: "string"
+ format: "ip"
+ x-linode-cli-display: 3
+ linodes:
+ readOnly: true
+ description: "__Read-only__ An array of Linode IDs assigned to the VPC Subnet.\n\nA Linode is assigned to a VPC Subnet if it has a Configuration Profile with a `vpc` purpose interface with the subnet's `subnet_id`. Even if the Configuration Profile is not active, meaning the Linode does not have access to the Subnet, the Linode still appears in this array."
+ type: "array"
+ x-linode-cli-display: 5
+ items:
+ additionalProperties: false
+ properties:
+ id:
+ example: 111
+ type: "integer"
+ description: "ID of a Linode assigned to the VPC Subnet."
+ interfaces:
+ items:
+ additionalProperties: false
+ properties:
+ active:
+ description: "Returns `true` if the Interface is in use, meaning that the Linode was powered on using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ type: "boolean"
+ example: true
+ id:
+ example: 421
+ description: "ID of the interface."
+ type: "integer"
+ type: "object"
+ description: "VPC purpose interfaces with the subnet's `subnet_id` assigned to the Linode."
+ type: "array"
+ type: "object"
+ updated:
+ x-linode-filterable: true
+ example: "2023-09-11T00:00:00"
+ readOnly: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC Subnet update."
+ nullable: true
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ label:
+ description: "__Filterable__ The VPC Subnet's label, for display purposes only.\n\n- Must be unique among the VPC's Subnets.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ maxLength: 64
+ example: "cool-vpc-subnet"
+ x-linode-filterable: true
+ id:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC Subnet."
+ type: "integer"
+ readOnly: true
+ x-linode-filterable: true
+ example: 456
+ x-akamai:
+ file-path: "schemas/vpc-subnet.yaml"
+ type: "array"
+ description: "A list of subnets associated with the VPC."
+ x-akamai:
+ file-path: "schemas/vpc.yaml"
+ description: "An object describing a VPC belonging to the Account."
+ type: "object"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ tags:
+ - "VPCs"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "vpc:read_write"
+ x-akamai:
+ file-path: "paths/vpcs.yaml"
+ path-info: "/{apiVersion}/vpcs"
+ get:
+ x-original-op-title: "VPCs List"
+ summary: "List VPCs"
+ parameters:
+ -
+ name: "page"
+ description: "The page of a collection to return."
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ required: false
+ schema:
+ default: 1
+ type: "integer"
+ minimum: 1
+ -
+ in: "query"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ name: "page_size"
+ description: "The number of items to return per page."
+ schema:
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ default: 100
+ x-original-op-id: "getVPCs"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-vpcs"
+ operationId: "get-vpcs"
+ description: "Display all VPCs on your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli vpcs list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli vpcs list"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/vpcs \\\n -H \"Authorization: Bearer $TOKEN\""
+ -
+ lang: "CLI"
+ source: "linode-cli vpcs list"
+ tags:
+ - "VPCs"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth: []
+ responses:
+ 200:
+ description: "A paginated list of VPC objects."
+ content:
+ application/json:
+ example:
+ page: 1
+ data:
+ -
+ updated: "2023-09-11T00:00:00"
+ description: "A description of my VPC."
+ label: "cool-vpc"
+ subnets:
+ -
+ updated: "2023-09-11T00:00:00"
+ linodes:
+ -
+ id: 111
+ interfaces:
+ -
+ id: 421
+ active: true
+ ipv4: "192.0.2.210/24"
+ created: "2023-07-11T00:00:00"
+ id: 456
+ label: "cool-vpc-subnet"
+ created: "2023-07-11T00:00:00"
+ region: "us-east"
+ id: 123
+ pages: 1
+ results: 1
+ schema:
+ x-akamai:
+ file-path: "schemas/added-get-vpcs-200.yaml"
+ allOf:
+ -
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/pagination-envelope.yaml"
+ properties:
+ results:
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ example: 1
+ readOnly: true
+ pages:
+ readOnly: true
+ example: 1
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ page:
+ type: "integer"
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ readOnly: true
+ example: 1
+ type: "object"
+ description: "An envelope for paginated response. When accessing a collection through a GET endpoint, the results are wrapped in this envelope which includes metadata about those results. Results are presented within a `data` array. See [Pagination](https://techdocs.akamai.com/linode-api/reference/pagination) for more information."
+ -
+ properties:
+ data:
+ type: "array"
+ items:
+ additionalProperties: false
+ properties:
+ updated:
+ example: "2023-09-11T00:00:00"
+ x-linode-filterable: true
+ readOnly: true
+ nullable: true
+ type: "string"
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC update."
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ subnets:
+ items:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/vpc-subnet.yaml"
+ properties:
+ updated:
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ nullable: true
+ description: "__Filterable__, __Read-only__ The date-time of the most recent VPC Subnet update."
+ type: "string"
+ readOnly: true
+ example: "2023-09-11T00:00:00"
+ x-linode-filterable: true
+ linodes:
+ type: "array"
+ description: "__Read-only__ An array of Linode IDs assigned to the VPC Subnet.\n\nA Linode is assigned to a VPC Subnet if it has a Configuration Profile with a `vpc` purpose interface with the subnet's `subnet_id`. Even if the Configuration Profile is not active, meaning the Linode does not have access to the Subnet, the Linode still appears in this array."
+ items:
+ additionalProperties: false
+ properties:
+ id:
+ example: 111
+ description: "ID of a Linode assigned to the VPC Subnet."
+ type: "integer"
+ interfaces:
+ items:
+ properties:
+ id:
+ type: "integer"
+ description: "ID of the interface."
+ example: 421
+ active:
+ type: "boolean"
+ description: "Returns `true` if the Interface is in use, meaning that the Linode was powered on using the Configuration Profile to which the Interface belongs. Otherwise returns `false`."
+ example: true
+ type: "object"
+ additionalProperties: false
+ type: "array"
+ description: "VPC purpose interfaces with the subnet's `subnet_id` assigned to the Linode."
+ type: "object"
+ x-linode-cli-display: 5
+ readOnly: true
+ ipv4:
+ example: "10.0.1.0/24"
+ format: "ip"
+ x-linode-cli-display: 3
+ description: "IPv4 range in CIDR canonical form.\n\n- The range must belong to a private address space as defined in [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918).\n- Allowed prefix lengths: 1-29.\n- The range must not overlap with 192.168.128.0/17.\n- The range must not overlap with other Subnets on the same VPC."
+ type: "string"
+ created:
+ format: "date-time"
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The date-time of VPC Subnet creation."
+ type: "string"
+ readOnly: true
+ example: "2023-07-11T00:00:00"
+ x-linode-filterable: true
+ id:
+ readOnly: true
+ example: 456
+ x-linode-filterable: true
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC Subnet."
+ label:
+ maxLength: 64
+ example: "cool-vpc-subnet"
+ x-linode-filterable: true
+ minLength: 1
+ description: "__Filterable__ The VPC Subnet's label, for display purposes only.\n\n- Must be unique among the VPC's Subnets.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ type: "string"
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "An object describing a VPC Subnet."
+ type: "object"
+ type: "array"
+ description: "A list of subnets associated with the VPC."
+ label:
+ type: "string"
+ description: "__Filterable__ The VPC's label, for display purposes only.\n\n- Needs to be unique among the Account's VPCs.\n- Can only contain ASCII letters, numbers, and hyphens (`-`). You can't use two consecutive hyphens (`--`)."
+ x-linode-cli-display: 2
+ x-akamai:
+ labels:
+ - "Filterable"
+ minLength: 1
+ example: "cool-vpc"
+ maxLength: 64
+ x-linode-filterable: true
+ description:
+ default: ""
+ example: "A description of my VPC."
+ maxLength: 255
+ description: "A written description to help distinguish the VPC."
+ type: "string"
+ x-linode-cli-display: 3
+ region:
+ x-linode-cli-display: 4
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__ The Region for the VPC."
+ type: "string"
+ example: "us-east"
+ x-linode-filterable: true
+ created:
+ x-linode-filterable: true
+ example: "2023-07-11T00:00:00"
+ readOnly: true
+ description: "__Filterable__, __Read-only__ The date-time of VPC creation."
+ type: "string"
+ x-akamai:
+ labels:
+ - "Filterable"
+ format: "date-time"
+ id:
+ example: 123
+ x-linode-filterable: true
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The unique ID of the VPC."
+ x-linode-cli-display: 1
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-akamai:
+ file-path: "schemas/vpc.yaml"
+ type: "object"
+ description: "An object describing a VPC belonging to the Account."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ /{apiVersion}/profile/logins:
+ x-akamai:
+ file-path: "paths/profile-logins.yaml"
+ path-info: "/{apiVersion}/profile/logins"
+ get:
+ x-original-op-id: "getProfileLogins"
+ x-original-op-title: "Logins List"
+ summary: "List logins"
+ description: "Returns a collection of successful account logins from this user during the last 90 days.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile logins-list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "logins-list"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli profile logins-list"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/profile/logins"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli profile logins-list"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-profile-logins"
+ operationId: "get-profile-logins"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-profile-logins-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-profile-logins-200.yaml"
+ properties:
+ results:
+ example: 1
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The total number of results."
+ pages:
+ type: "integer"
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ example: 1
+ readOnly: true
+ page:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ data:
+ type: "array"
+ items:
+ x-akamai:
+ file-path: "schemas/login.yaml"
+ properties:
+ restricted:
+ x-linode-cli-display: 6
+ type: "boolean"
+ description: "__Read-only__ True if the User that attempted the login was a restricted User, false otherwise."
+ readOnly: true
+ example: true
+ id:
+ readOnly: true
+ example: 1234
+ x-linode-cli-display: 1
+ type: "integer"
+ description: "__Read-only__ The unique ID of this login object."
+ datetime:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ x-linode-cli-display: 2
+ description: "__Read-only__ When the login was initiated."
+ type: "string"
+ username:
+ type: "string"
+ description: "__Read-only__ The username of the User that attempted the login."
+ x-linode-cli-display: 4
+ example: "example_user"
+ readOnly: true
+ status:
+ example: "successful"
+ enum:
+ - "successful"
+ - "failed"
+ readOnly: true
+ description: "__Read-only__ Whether the login attempt succeeded or failed."
+ type: "string"
+ x-linode-cli-display: 5
+ ip:
+ readOnly: true
+ example: "192.0.2.0"
+ x-linode-cli-display: 3
+ format: "ip"
+ description: "__Read-only__ The remote IP address that requested the login."
+ type: "string"
+ type: "object"
+ description: "An object representing a previous successful login for a User."
+ additionalProperties: false
+ type: "object"
+ description: "An array of successful account logins from this user during the last 90 days."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ additionalProperties: false
+ type: "array"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ parameters:
+ -
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ default: "v4"
+ type: "string"
+ enum:
+ - "v4"
+ - "v4beta"
+ x-linode-cli-command: "profile"
+ /{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-acl:
+ get:
+ x-linode-cli-skip: true
+ operationId: "get-object-storage-bucket-acl"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-acl"
+ description: "View an Object's configured Access Control List (ACL) in this Object Storage bucket. ACLs define who can access your buckets and objects and specify the level of access granted to those users.\n\n> 📘\n>\n> The [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/objectops/#get-object-acl) equivalent operation offers more detail.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-acl?name=example.txt"
+ x-akamai:
+ tabs:
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "object_storage:read_only"
+ summary: "Get an Object Storage object ACL config"
+ x-original-op-title: "Object Storage Object ACL Config View"
+ parameters:
+ -
+ schema:
+ type: "string"
+ required: true
+ x-akamai:
+ file-path: "parameters/name-query.yaml"
+ in: "query"
+ description: "The `name` of the object for which to retrieve its Access Control List (ACL). Run the [List Object Storage bucket contents](https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-content) operation to access all object names in a bucket."
+ name: "name"
+ x-original-op-id: "viewObjectStorageBucketACL"
+ responses:
+ 200:
+ description: "The Object's canned ACL and policy."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-object-storage-bucket-acl-200.yaml"
+ properties:
+ acl:
+ type: "string"
+ description: "The Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly."
+ enum:
+ - "private"
+ - "public-read"
+ - "authenticated-read"
+ - "public-read-write"
+ - "custom"
+ example: "public-read"
+ acl_xml:
+ type: "string"
+ description: "The full XML of the object's ACL policy."
+ example: "... "
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-object-storage-bucket-acl-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ properties:
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_only"
+ tags:
+ - "Object Storage"
+ put:
+ requestBody:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ x-akamai:
+ file-path: "schemas/added-put-object-storage-bucket-acl.yaml"
+ required:
+ - "acl"
+ - "name"
+ properties:
+ name:
+ description: "The `name` of the object for which to update its Access Control List (ACL). Run the [List Object Storage bucket contents](https://techdocs.akamai.com/linode-api/reference/get-object-storage-bucket-content) operation to access all object names in a bucket."
+ type: "string"
+ acl:
+ description: "The Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly."
+ type: "string"
+ example: "public-read"
+ enum:
+ - "private"
+ - "public-read"
+ - "authenticated-read"
+ - "public-read-write"
+ - "custom"
+ x-example:
+ x-ref: "../examples/put-object-storage-bucket-acl.json"
+ description: "The changes to make to this Object's access controls."
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ acl:
+ description: "The Access Control Level of the bucket, as a canned ACL string. For more fine-grained control of ACLs, use the S3 API directly."
+ type: "string"
+ enum:
+ - "private"
+ - "public-read"
+ - "authenticated-read"
+ - "public-read-write"
+ - "custom"
+ example: "public-read"
+ acl_xml:
+ description: "The full XML of the object's ACL policy."
+ type: "string"
+ example: "... "
+ x-akamai:
+ file-path: "schemas/added-put-object-storage-bucket-acl-200.yaml"
+ type: "object"
+ x-example:
+ x-ref: "../examples/get-object-storage-bucket-acl-200.json"
+ description: "The Object's canned ACL and policy."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ type: "array"
+ additionalProperties: false
+ tags:
+ - "Object Storage"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "object_storage:read_write"
+ x-akamai:
+ tabs:
+ -
+ title: "OAuth scopes"
+ syntax: "object_storage:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Content-Type: application/json\" \\ -H \"Authorization: Bearer $TOKEN\" \\\n -X PUT -d '{\n \"acl\": \"public-read\",\n \"name\": \"example.txt\"\n }' \\\n https://api.linode.com/v4/object-storage/buckets/us-east-1/example-bucket/object-acl"
+ description: "Update an object's configured access control level (ACL) in this Object Storage bucket. ACLs define who can access your buckets and objects and specify the level of access granted to those users.\n\n> 📘\n>\n> The [S3 API](https://docs.ceph.com/en/latest/radosgw/s3/objectops/#set-object-acl) equivalent operation offers more detail.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/put-object-storage-bucket-acl"
+ description: "See documentation for this operation in Akamai's Linode API"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ x-linode-cli-skip: true
+ operationId: "put-object-storage-bucket-acl"
+ x-original-op-id: "updateObjectStorageBucketACL"
+ x-original-op-title: "Object Storage Object ACL Config Update"
+ summary: "Update an object's ACL config"
+ x-akamai:
+ file-path: "paths/object-acl.yaml"
+ path-info: "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-acl"
+ parameters:
+ -
+ name: "apiVersion"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ name: "regionId"
+ description: "Identifies a region where this bucket lives.\n\n> 📘\n>\n> You can use a `clusterId` in place of `regionId` in requests for buckets that you created using the legacy version of the API. Run [List clusters](https://techdocs.akamai.com/linode-api/reference/get-object-storage-clusters) to see each cluster `id`."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/region-id-obj.yaml"
+ schema:
+ type: "string"
+ -
+ schema:
+ type: "string"
+ name: "bucket"
+ description: "The bucket name."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/bucket.yaml"
+ /{apiVersion}/lke/clusters/{clusterId}/nodes/{nodeId}:
+ parameters:
+ -
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ -
+ name: "clusterId"
+ description: "ID of the Kubernetes cluster containing the Node."
+ in: "path"
+ required: true
+ x-akamai:
+ file-path: "parameters/cluster-id-path-b0a6717a.yaml"
+ schema:
+ type: "integer"
+ -
+ description: "The ID of the Node to access."
+ name: "nodeId"
+ x-akamai:
+ file-path: "parameters/node-id.yaml"
+ in: "path"
+ required: true
+ schema:
+ type: "integer"
+ get:
+ x-original-op-title: "Node View"
+ summary: "Get a node"
+ x-original-op-id: "getLKEClusterNode"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-lke-cluster-node"
+ operationId: "get-lke-cluster-node"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli lke node-view 123456 12345-6aa78910bc"
+ -
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli lke node-view 123456 12345-6aa78910bc"
+ description: "Returns the values for a specified node object.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke node-view 123456 12345-6aa78910bc\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "node-view"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-lke-cluster-node-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ status:
+ description: "The creation status of this Node. This status is distinct from this Node's readiness as a Kubernetes Node Object as determined by the command `kubectl get nodes`.\n\n`not_ready` indicates that the Linode is still being created.\n\n`ready` indicates that the Linode has successfully been created and is running Kubernetes software."
+ type: "string"
+ enum:
+ - "ready"
+ - "not_ready"
+ example: "ready"
+ instance_id:
+ description: "The Linode's ID. If no Linode is currently provisioned for this Node, this is `null`."
+ type: "integer"
+ example: 123456
+ id:
+ example: "12345-6aa78910bc"
+ readOnly: true
+ type: "string"
+ description: "__Read-only__ The Node's ID."
+ x-akamai:
+ file-path: "schemas/added-get-lke-cluster-node-200.yaml"
+ description: "Returns the values of a node object in the form that it appears currently in the node pool array."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ type: "array"
+ items:
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ additionalProperties: false
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ delete:
+ x-original-op-title: "Node Delete"
+ summary: "Delete a node"
+ x-original-op-id: "deleteLKEClusterNode"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/delete-lke-cluster-node"
+ operationId: "delete-lke-cluster-node"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ x-akamai:
+ file-path: "schemas/added-delete-lke-cluster-node-200.yaml"
+ type: "object"
+ x-example:
+ x-ref: "../examples/delete-lke-cluster-node-200.json"
+ description: "Delete successful."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ title: "CLI"
+ syntax: "linode-cli lke node-delete 12345 12345-6aa78910bc"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n -X DELETE \\\n https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli lke node-delete 12345 12345-6aa78910bc"
+ description: "Deletes a specific Node from a Node Pool.\n\n__Deleting a Node is a destructive action and cannot be undone.__\n\nDeleting a Node will reduce the size of the Node Pool it belongs to.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke node-delete 12345 12345-6aa78910bc\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "node-delete"
+ x-akamai:
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/nodes/{nodeId}"
+ file-path: "paths/cluster-node.yaml"
+ x-linode-cli-command: "lke"
+ /{apiVersion}/networking/vlans:
+ get:
+ summary: "List VLANs"
+ x-original-op-title: "VLANs List"
+ x-original-op-id: "getVLANs"
+ parameters:
+ -
+ in: "query"
+ required: false
+ x-akamai:
+ file-path: "parameters/page-offset.yaml"
+ name: "page"
+ description: "The page of a collection to return."
+ schema:
+ minimum: 1
+ type: "integer"
+ default: 1
+ -
+ schema:
+ default: 100
+ type: "integer"
+ minimum: 25
+ maximum: 500
+ description: "The number of items to return per page."
+ name: "page_size"
+ x-akamai:
+ file-path: "parameters/page-size.yaml"
+ in: "query"
+ operationId: "get-vlans"
+ servers:
+ -
+ url: "https://api.linode.com/v4"
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/get-vlans"
+ description: "See documentation for this operation in Akamai's Linode API"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/networking/vlans/"
+ -
+ source: "linode-cli vlans list"
+ lang: "CLI"
+ x-akamai:
+ tabs:
+ -
+ syntax: "linode-cli vlans list"
+ title: "CLI"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ syntax: "linodes:read_only"
+ title: "OAuth scopes"
+ x-linode-cli-action:
+ - "list"
+ - "ls"
+ description: "Returns a list of all Virtual Local Area Networks (VLANs) on your Account. VLANs provide a mechanism for secure communication between two or more Linodes that are assigned to the same VLAN and are both within the same Layer 2 broadcast domain.\n\nVLANs are created and attached to Linodes by using the `interfaces` property for the following operations:\n\n- [Create a Linode](https://techdocs.akamai.com/linode-api/reference/post-linode-instance)\n- [Create a config profile](https://techdocs.akamai.com/linode-api/reference/post-add-linode-config)\n- [Update a config profile](https://techdocs.akamai.com/linode-api/reference/put-linode-config)\n\nThere are several ways to detach a VLAN from a Linode:\n\n- [Update](https://techdocs.akamai.com/linode-api/reference/put-linode-config) the active Configuration Profile to remove the VLAN Interface, then [reboot](https://techdocs.akamai.com/linode-api/reference/post-reboot-linode-instance) the Linode.\n- [Create a config profile](https://techdocs.akamai.com/linode-api/reference/post-add-linode-config) without the VLAN Interface, then [reboot](https://techdocs.akamai.com/linode-api/reference/post-reboot-linode-instance) the Linode into the new Configuration Profile.\n- [Delete](https://techdocs.akamai.com/linode-api/reference/delete-linode-instance) the Linode.\n\n__Note__. Only Next Generation Network (NGN) data centers support VLANs. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.\n\n__Note__. See the [VLANs Overview](https://www.linode.com/docs/products/networking/vlans/#technical-specifications) to view additional specifications and limitations.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli vlans list\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-grant: "read_only"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "linodes:read_only"
+ tags:
+ - "Networking"
+ responses:
+ 200:
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-vlans-200.json"
+ schema:
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/added-get-vlans-200.yaml"
+ properties:
+ data:
+ type: "array"
+ items:
+ properties:
+ created:
+ format: "date-time"
+ description: "__Read-only__ The date this VLAN was created."
+ type: "string"
+ readOnly: true
+ example: "2020-01-01T00:01:01"
+ region:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 1
+ description: "__Filterable__, __Read-only__ This VLAN's data center region.\n\n__Note__. Currently, a VLAN can only be assigned to a Linode within the same data center region."
+ type: "string"
+ readOnly: true
+ x-linode-filterable: true
+ example: "ap-west"
+ linodes:
+ items:
+ type: "integer"
+ x-linode-cli-display: 3
+ type: "array"
+ description: "__Read-only__ An array of Linode IDs attached to this VLAN."
+ readOnly: true
+ example:
+ - 111
+ - 222
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ type: "string"
+ description: "__Filterable__, __Read-only__ The name of this VLAN."
+ readOnly: true
+ x-linode-filterable: true
+ example: "vlan-example"
+ x-akamai:
+ file-path: "schemas/vlans.yaml"
+ description: "A virtual local area network (VLAN) associated with your Account."
+ type: "object"
+ additionalProperties: false
+ page:
+ description: "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ example: 1
+ readOnly: true
+ pages:
+ description: "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination)."
+ type: "integer"
+ readOnly: true
+ example: 1
+ results:
+ example: 1
+ readOnly: true
+ description: "__Read-only__ The total number of results."
+ type: "integer"
+ type: "object"
+ description: "The VLANs available on this Account."
+ default:
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ example: "fieldname must be a valid value"
+ field:
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ example: "fieldname"
+ type: "array"
+ type: "object"
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ path-info: "/{apiVersion}/networking/vlans"
+ file-path: "paths/vlans.yaml"
+ parameters:
+ -
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ type: "string"
+ default: "v4"
+ required: true
+ x-linode-cli-command: "vlans"
+ /{apiVersion}/linode/types/{typeId}:
+ parameters:
+ -
+ required: true
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ in: "path"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ schema:
+ enum:
+ - "v4"
+ - "v4beta"
+ default: "v4"
+ type: "string"
+ -
+ schema:
+ type: "string"
+ required: true
+ name: "typeId"
+ description: "The ID of the Linode Type to look up."
+ in: "path"
+ x-akamai:
+ file-path: "parameters/type-id-path-ef9c5d29.yaml"
+ x-akamai:
+ file-path: "paths/linode-type.yaml"
+ path-info: "/{apiVersion}/linode/types/{typeId}"
+ get:
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-linode-type"
+ operationId: "get-linode-type"
+ responses:
+ 200:
+ description: "A single Linode Type."
+ content:
+ application/json:
+ x-example:
+ x-ref: "../examples/get-linode-type-200.json"
+ schema:
+ additionalProperties: false
+ type: "object"
+ description: "Returns collection of Linode types, including pricing and specifications for each type. These are used when [creating](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) or [resizing](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance) Linodes."
+ properties:
+ addons:
+ description: "__Read-only__ A list of optional add-on services for Linodes and their associated costs."
+ type: "object"
+ properties:
+ backups:
+ properties:
+ region_prices:
+ type: "array"
+ items:
+ additionalProperties: false
+ type: "object"
+ properties:
+ hourly:
+ description: "Cost (in US dollars) per hour to add Backups service in this Region."
+ type: "number"
+ example: 0.0096
+ monthly:
+ type: "number"
+ description: "Cost (in US dollars) per month to add Backups service in this Region."
+ example: 6
+ id:
+ example: "us-east"
+ type: "string"
+ description: "The Region ID for these prices."
+ price:
+ additionalProperties: false
+ type: "object"
+ description: "The default cost of enabling Backups for this Linode Type. Prices are in US dollars, broken down into hourly and monthly charges.\n\nCertain Regions have different prices from the default. For Region-specific prices, see `region_prices`."
+ properties:
+ monthly:
+ description: "The cost (in US dollars) per month to add Backups service."
+ type: "number"
+ example: 5
+ hourly:
+ example: 0.008
+ type: "number"
+ description: "The cost (in US dollars) per hour to add Backups service."
+ type: "object"
+ description: "__Read-only__ Information about the optional Backup service offered for Linodes."
+ readOnly: true
+ additionalProperties: false
+ readOnly: true
+ additionalProperties: false
+ network_out:
+ readOnly: true
+ x-linode-filterable: true
+ example: 1000
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 7
+ description: "__Filterable__, __Read-only__ The Mbits outbound bandwidth allocation."
+ type: "integer"
+ id:
+ x-linode-cli-display: 1
+ description: "__Read-only__ The ID representing the Linode Type."
+ type: "string"
+ readOnly: true
+ example: "g6-standard-2"
+ memory:
+ type: "integer"
+ description: "__Filterable__, __Read-only__ Amount of RAM included in this Linode Type."
+ x-linode-cli-display: 5
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 4096
+ x-linode-filterable: true
+ readOnly: true
+ disk:
+ x-linode-filterable: true
+ example: 81920
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The Disk size, in MB, of the Linode Type."
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 4
+ class:
+ x-linode-cli-display: 3
+ x-akamai:
+ labels:
+ - "Filterable"
+ description: "__Filterable__, __Read-only__ The class of the Linode Type.\n\nWe currently offer six classes of compute instances:\n\n - `nanode` - Nanode instances are good for low-duty workloads, where performance isn't critical. __Note__. As of June 16th, 2020, Nanodes became 1 GB Linodes in the Cloud Manager, however, the API, the CLI, and billing will continue to refer to these instances as Nanodes.\n - `standard` - Standard Shared instances are good for medium-duty workloads and are a good mix of performance, resources, and price. __Note__. As of June 16th, 2020, Standard Linodes in the Cloud Manager became Shared Linodes, however, the API, the CLI, and billing will continue to refer to these instances as Standard Linodes.\n - `dedicated` - Dedicated CPU instances are good for full-duty workloads where consistent performance is important.\n - `premium` (limited Regions) - In addition to the features of Dedicated instances, Premium instances come equipped with the latest AMD EPYC™ CPUs, ensuring your applications are running on the latest hardware with consistently high performance. Only available in [regions](https://techdocs.akamai.com/linode-api/reference/get-regions) with \"Premium Plans\" in their `capabilities`\n - `gpu` (limited Regions) - Linodes with dedicated NVIDIA Quadro® RTX 6000 GPUs accelerate highly specialized applications such as machine learning, AI, and video transcoding. Only available in [regions](https://techdocs.akamai.com/linode-api/reference/get-regions) with \"GPU Linodes\" in their `capabilities`\n - `highmem` - High Memory instances favor RAM over other resources, and can be good for memory hungry use cases like caching and in-memory databases. All High Memory plans contain dedicated CPU cores."
+ type: "string"
+ readOnly: true
+ enum:
+ - "nanode"
+ - "standard"
+ - "dedicated"
+ - "premium"
+ - "gpu"
+ - "highmem"
+ example: "standard"
+ x-linode-filterable: true
+ successor:
+ nullable: true
+ type: "string"
+ description: "__Read-only__ The Linode Type that a [mutate](https://techdocs.akamai.com/linode-api/reference/post-mutate-linode-instance) will upgrade to for a Linode of this type. If `null`, a Linode of this type may not mutate."
+ readOnly: true
+ example: null
+ gpus:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 6.5
+ description: "__Filterable__, __Read-only__ The number of GPUs this Linode Type offers."
+ type: "integer"
+ readOnly: true
+ x-linode-filterable: true
+ example: 0
+ vcpus:
+ description: "__Filterable__, __Read-only__ The number of VCPU cores this Linode Type offers."
+ type: "integer"
+ x-linode-cli-display: 6
+ x-akamai:
+ labels:
+ - "Filterable"
+ example: 2
+ x-linode-filterable: true
+ readOnly: true
+ transfer:
+ example: 4000
+ x-linode-filterable: true
+ readOnly: true
+ type: "integer"
+ description: "__Filterable__, __Read-only__ The monthly outbound transfer amount, in MB."
+ x-linode-cli-display: 8
+ x-akamai:
+ labels:
+ - "Filterable"
+ price:
+ description: "__Read-only__ The default cost of provisioning this Linode Type. Prices are in US dollars, broken down into hourly and monthly charges.\n\nCertain Regions have different prices from the default. For Region-specific prices, see `region_prices`."
+ type: "object"
+ properties:
+ hourly:
+ x-linode-cli-display: 9
+ description: "Cost (in US dollars) per hour."
+ type: "number"
+ example: 0.03
+ monthly:
+ x-linode-cli-display: 10
+ type: "number"
+ description: "Cost (in US dollars) per month."
+ example: 20
+ readOnly: true
+ additionalProperties: false
+ label:
+ x-akamai:
+ labels:
+ - "Filterable"
+ x-linode-cli-display: 2
+ description: "__Filterable__, __Read-only__ The Linode Type's label is for display purposes only."
+ type: "string"
+ readOnly: true
+ x-linode-filterable: true
+ example: "Linode 4GB"
+ region_prices:
+ type: "array"
+ items:
+ properties:
+ id:
+ description: "The Region ID for these prices."
+ type: "string"
+ example: "us-east"
+ monthly:
+ description: "Cost (in US dollars) per month for this Region."
+ type: "number"
+ example: 24
+ hourly:
+ example: 0.036
+ type: "number"
+ description: "Cost (in US dollars) per hour for this Region."
+ type: "object"
+ additionalProperties: false
+ x-akamai:
+ file-path: "schemas/linode-type.yaml"
+ x-linode-cli-subtables:
+ - "region_prices"
+ default:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ properties:
+ errors:
+ items:
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ additionalProperties: false
+ type: "array"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli linodes type-view g6-standard-2"
+ title: "CLI"
+ x-code-samples:
+ -
+ lang: "Shell"
+ source: "curl https://api.linode.com/v4/linode/types/g6-standard-2"
+ -
+ source: "linode-cli linodes type-view g6-standard-2"
+ lang: "CLI"
+ description: "Returns information about a specific Linode Type, including pricing and specifications. This is used when [creating](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) or [resizing](https://techdocs.akamai.com/linode-api/reference/post-resize-linode-instance) Linodes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes type-view g6-standard-2\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)"
+ x-linode-cli-action: "type-view"
+ x-original-op-title: "Type View"
+ summary: "Get a type"
+ tags:
+ - "Linode instances"
+ x-original-op-id: "getLinodeType"
+ x-linode-cli-command: "linodes"
+ /{apiVersion}/lke/clusters/{clusterId}/pools/{poolId}/recycle:
+ parameters:
+ -
+ schema:
+ type: "string"
+ default: "v4"
+ enum:
+ - "v4"
+ - "v4beta"
+ description: "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta."
+ name: "apiVersion"
+ x-akamai:
+ file-path: "parameters/api-version-path.yaml"
+ required: true
+ in: "path"
+ -
+ schema:
+ type: "integer"
+ description: "ID of the Kubernetes cluster this Node Pool is attached to."
+ name: "clusterId"
+ x-akamai:
+ file-path: "parameters/cluster-id-path-61c0e84e.yaml"
+ required: true
+ in: "path"
+ -
+ x-akamai:
+ file-path: "parameters/pool-id-path-bfac95e1.yaml"
+ required: true
+ in: "path"
+ description: "ID of the Node Pool to be recycled."
+ name: "poolId"
+ schema:
+ type: "integer"
+ x-akamai:
+ path-info: "/{apiVersion}/lke/clusters/{clusterId}/pools/{poolId}/recycle"
+ file-path: "paths/pool-recycle.yaml"
+ post:
+ responses:
+ 200:
+ description: "Recycle request succeeded and is in progress."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ description: "The API responds with an empty object."
+ type: "object"
+ maxProperties: 0
+ x-akamai:
+ file-path: "schemas/added-empty-obj.yaml"
+ x-example:
+ x-ref: "../examples/post-lke-cluster-pool-recycle-200.json"
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ type: "array"
+ items:
+ additionalProperties: false
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ properties:
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ field:
+ example: "fieldname"
+ type: "string"
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ externalDocs:
+ url: "https://techdocs.akamai.com/linode-api/reference/post-lke-cluster-pool-recycle"
+ description: "See documentation for this operation in Akamai's Linode API"
+ operationId: "post-lke-cluster-pool-recycle"
+ description: "Recycles a Node Pool for the designated Kubernetes Cluster. All Linodes within the Node Pool will be deleted and replaced with new Linodes on a rolling basis, which may take several minutes. Replacement Nodes are installed with the latest available patch for the Cluster's Kubernetes Version.\n\n__Any local storage on deleted Linodes (such as `hostPath` and `emptyDir` volumes, or `local` PersistentVolumes) will be erased.__\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke pool-recycle 12345 456\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "pool-recycle"
+ x-akamai:
+ tabs:
+ -
+ title: "CLI"
+ syntax: "linode-cli lke pool-recycle 12345 456"
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ -
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ title: "OAuth scopes"
+ syntax: "lke:read_write"
+ x-code-samples:
+ -
+ source: "curl -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $TOKEN\" \\\n -X POST \\\n https://api.linode.com/v4/lke/clusters/12345/pools/456/recycle"
+ lang: "Shell"
+ -
+ lang: "CLI"
+ source: "linode-cli lke pool-recycle 12345 456"
+ x-original-op-title: "Node Pool Recycle"
+ summary: "Recycle a node pool"
+ x-original-op-id: "postLKEClusterPoolRecycle"
+ tags:
+ - "Linode Kubernetes Engine (LKE)"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "lke:read_write"
+ x-linode-cli-command: "lke"
+ /{apiVersion}/profile/sshkeys/{sshKeyId}:
+ x-linode-cli-command: "sshkeys"
+ get:
+ tags:
+ - "Profile"
+ x-original-op-id: "getSSHKey"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_only"
+ x-original-op-title: "SSH Key View"
+ summary: "Get an SSH key"
+ description: "Returns a single SSH Key object identified by `id` that you have access to view.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli sshkeys view 42\n ```\n\n [Learn more...](https://www.linode.com/docs/products/tools/cli/get-started/)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)"
+ x-linode-cli-action: "view"
+ x-akamai:
+ tabs:
+ -
+ url: "https://www.linode.com/docs/products/tools/cli/get-started/"
+ syntax: "linode-cli sshkeys view 42"
+ title: "CLI"
+ -
+ syntax: "account:read_only"
+ title: "OAuth scopes"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-started#oauth"
+ x-code-samples:
+ -
+ source: "curl -H \"Authorization: Bearer $TOKEN\" \\\n https://api.linode.com/v4/profile/sshkeys/42"
+ lang: "Shell"
+ -
+ source: "linode-cli sshkeys view 42"
+ lang: "CLI"
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ properties:
+ created:
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ format: "date-time"
+ type: "string"
+ description: "__Read-only__ The date this key was added."
+ label:
+ type: "string"
+ description: "A label for the SSH Key."
+ maxLength: 64
+ example: "My SSH Key"
+ minLength: 0
+ ssh_key:
+ format: "ssh-key"
+ description: "The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.\n\nAccepted formats:\n\n- ssh-dss\n- ssh-rsa\n- ecdsa-sha2-nistp\n- ssh-ed25519\n- sk-ecdsa-sha2-nistp256 (Akamai-specific)"
+ type: "string"
+ example: "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
+ id:
+ example: 42
+ readOnly: true
+ type: "integer"
+ description: "__Read-only__ The unique identifier of an SSH Key object."
+ x-akamai:
+ file-path: "schemas/ssh-key.yaml"
+ description: "A credential object for authenticating a User's secure shell connection to a Linode."
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-ssh-key-200.json"
+ description: "An SSH Key object."
+ default:
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "object"
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ example: "fieldname must be a valid value"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ additionalProperties: false
+ type: "array"
+ type: "object"
+ additionalProperties: false
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ externalDocs:
+ description: "See documentation for this operation in Akamai's Linode API"
+ url: "https://techdocs.akamai.com/linode-api/reference/get-ssh-key"
+ operationId: "get-ssh-key"
+ x-akamai:
+ path-info: "/{apiVersion}/profile/sshkeys/{sshKeyId}"
+ file-path: "paths/profile-ssh-key.yaml"
+ put:
+ requestBody:
+ description: "The fields to update."
+ content:
+ application/json:
+ schema:
+ properties:
+ label:
+ example: "My SSH Key"
+ maxLength: 64
+ minLength: 0
+ description: "A label for the SSH Key."
+ type: "string"
+ x-akamai:
+ file-path: "schemas/added-put-ssh-key.yaml"
+ type: "object"
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/put-ssh-key.json"
+ required: true
+ responses:
+ 200:
+ content:
+ application/json:
+ schema:
+ type: "object"
+ description: "A credential object for authenticating a User's secure shell connection to a Linode."
+ x-akamai:
+ file-path: "schemas/ssh-key.yaml"
+ properties:
+ created:
+ format: "date-time"
+ description: "__Read-only__ The date this key was added."
+ type: "string"
+ readOnly: true
+ example: "2018-01-01T00:01:01"
+ label:
+ type: "string"
+ description: "A label for the SSH Key."
+ maxLength: 64
+ example: "My SSH Key"
+ minLength: 0
+ ssh_key:
+ description: "The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.\n\nAccepted formats:\n\n- ssh-dss\n- ssh-rsa\n- ecdsa-sha2-nistp\n- ssh-ed25519\n- sk-ecdsa-sha2-nistp256 (Akamai-specific)"
+ type: "string"
+ format: "ssh-key"
+ example: "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer"
+ id:
+ type: "integer"
+ description: "__Read-only__ The unique identifier of an SSH Key object."
+ readOnly: true
+ example: 42
+ additionalProperties: false
+ x-example:
+ x-ref: "../examples/get-ssh-key-200.json"
+ description: "SSH Key updated successfully."
+ default:
+ description: "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes."
+ content:
+ application/json:
+ schema:
+ additionalProperties: false
+ type: "object"
+ properties:
+ errors:
+ items:
+ additionalProperties: false
+ properties:
+ field:
+ description: "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request."
+ type: "string"
+ example: "fieldname"
+ reason:
+ type: "string"
+ description: "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully."
+ example: "fieldname must be a valid value"
+ x-akamai:
+ file-path: "schemas/error-object.yaml"
+ type: "object"
+ description: "An object for describing a single error that occurred during the processing of a request."
+ type: "array"
+ tags:
+ - "Profile"
+ security:
+ -
+ personalAccessToken: []
+ -
+ oauth:
+ - "account:read_write"
+ description: "Updates an SSH Key that you have permission to `read_write`.\n\nOnly SSH key labels can be updated.\n\n\n<