zonewatcher/linode-api

An OpenAPI generated wrapper for the Linode V4 API.

v4.107.0 2021-10-28 03:42 UTC

This package is auto-updated.

Last update: 2022-10-28 05:56:53 UTC


README

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 <a target="_top" href="https://www.openapis.org\">OpenAPI website for more information.

<a target="_top" href="/docs/api/openapi.yaml">Download the Linode OpenAPI Specification.

Changelog

<a target="_top" href="https://developers.linode.com/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 <a target="_top" href="https://cloud.linode.com/profile/tokens\">Linode Cloud Manager or the Create Personal Access Token endpoint.

All scopes for the OAuth security model (defined below) 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. 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.

Before you implement OAuth in your application, you first need to create an OAuth client. You can do this with the Linode API or via the Cloud Manager:

  • 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, 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 and implicit flow.
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 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 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 specificed 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 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.

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
grant_type The grant type you're using for renewal. Currently only the string "refresh_token" is accepted.
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:

{
  \"scope\": \"linodes:read_write\",
  \"access_token\": \"03d084436a6c91fbafd5c4b20c82e5056a2e9ce1635920c30dc8d81dc7a6665c\"
  \"token_type\": \"bearer\",
  \"expires_in\": 7200,
}

Included in the reponse 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

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.
  • 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.
  • maintenance:read_only - Allows access to GET information about Maintenance on your account.
  • 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.

Requests

Requests must be made over HTTPS to ensure transactions are encrypted. 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.

Responses

Actions will return one 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.
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.

Errors

Success is indicated via <a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes\" target="_top">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 and let us know. Though errors are logged and we work quickly to resolve issues, opening a ticket and providing us with reproducable 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:

{
    \"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:

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:

 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:

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 that offer memory equal to or higher than 61440:

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 which are either standard or highmem class, or have between 12 and 20 vcpus:

curl \"https://api.linode.com/v4/linode/types\" \\
  -H '
    X-Filter: {
      \"+or\": [
        {
          \"+or\": [
            {
              \"class\": \"standard\"
            },
            {
              \"class\": \"highmem\"
            }
          ]
        },
        {
          \"+and\": [
            {
              \"vcpus\": {
                \"+gte\": 12
              }
            },
            {
              \"vcpus\": {
                \"+lte\": 20
              }
            }
          ]
        }
      ]
    }'

Rate Limiting

With the Linode API, you can make up to 1,600 general API requests every two minutes per user as determined by IP adddress or by OAuth token. Additionally, there are endpoint specfic limits defined below.

Note: There may be rate limiting applied at other levels outside of the API, for example, at the load balancer.

/stats endpoints have their own dedicated limits of 100 requests per minute per user. These endpoints are:

Object Storage endpoints have a dedicated limit of 750 requests per second per user. The Object Storage endpoints are:

Opening Support Tickets has a dedicated limit of 2 requests per minute per user. That endpoint is:

Accepting Service Transfers has a dedicated limit of 2 requests per minute per user. That endpoint is:

CLI (Command Line Interface)

The <a href="https://github.com/linode/linode-cli\" target="_top">Linode CLI allows you to easily work with the API using intuitive and simple syntax. It requires a 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.

For more information, please visit https://linode.com.

Installation & Usage

Requirements

PHP 7.3 and later. Should also work with PHP 8.0 but has not been tested.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure OAuth2 access token for authorization: oauth
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');

// Configure Bearer authorization: personalAccessToken
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');


$apiInstance = new OpenAPI\Client\Api\AccountApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$token = 'token_example'; // string | The UUID of the Entity Transfer.

try {
    $result = $apiInstance->acceptEntityTransfer($token);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AccountApi->acceptEntityTransfer: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to https://api.linode.com/v4

Class Method HTTP request Description
AccountApi acceptEntityTransfer POST /account/entity-transfers/{token}/accept Entity Transfer Accept
AccountApi acceptServiceTransfer POST /account/service-transfers/{token}/accept Service Transfer Accept
AccountApi cancelAccount POST /account/cancel Account Cancel
AccountApi createClient POST /account/oauth-clients OAuth Client Create
AccountApi createCreditCard POST /account/credit-card Credit Card Add/Edit
AccountApi createEntityTransfer POST /account/entity-transfers Entity Transfer Create
AccountApi createPayPalPayment POST /account/payments/paypal PayPal Payment Stage
AccountApi createPayment POST /account/payments Payment Make
AccountApi createPaymentMethod POST /account/payment-methods Payment Method Add
AccountApi createPromoCredit POST /account/promo-codes Promo Credit Add
AccountApi createServiceTransfer POST /account/service-transfers Service Transfer Create
AccountApi createUser POST /account/users User Create
AccountApi deleteClient DELETE /account/oauth-clients/{clientId} OAuth Client Delete
AccountApi deleteEntityTransfer DELETE /account/entity-transfers/{token} Entity Transfer Cancel
AccountApi deletePaymentMethod DELETE /account/payment-methods/{paymentMethodId} Payment Method Delete
AccountApi deleteServiceTransfer DELETE /account/service-transfers/{token} Service Transfer Cancel
AccountApi deleteUser DELETE /account/users/{username} User Delete
AccountApi enableAccountManged POST /account/settings/managed-enable Linode Managed Enable
AccountApi eventRead POST /account/events/{eventId}/read Event Mark as Read
AccountApi eventSeen POST /account/events/{eventId}/seen Event Mark as Seen
AccountApi executePayPalPayment POST /account/payments/paypal/execute Staged/Approved PayPal Payment Execute
AccountApi getAccount GET /account Account View
AccountApi getAccountLogin GET /account/logins/{loginId} Login View
AccountApi getAccountLogins GET /account/logins User Logins List All
AccountApi getAccountSettings GET /account/settings Account Settings View
AccountApi getClient GET /account/oauth-clients/{clientId} OAuth Client View
AccountApi getClientThumbnail GET /account/oauth-clients/{clientId}/thumbnail OAuth Client Thumbnail View
AccountApi getClients GET /account/oauth-clients OAuth Clients List
AccountApi getEntityTransfer GET /account/entity-transfers/{token} Entity Transfer View
AccountApi getEntityTransfers GET /account/entity-transfers Entity Transfers List
AccountApi getEvent GET /account/events/{eventId} Event View
AccountApi getEvents GET /account/events Events List
AccountApi getInvoice GET /account/invoices/{invoiceId} Invoice View
AccountApi getInvoiceItems GET /account/invoices/{invoiceId}/items Invoice Items List
AccountApi getInvoices GET /account/invoices Invoices List
AccountApi getMaintenance GET /account/maintenance Maintenance List
AccountApi getNotifications GET /account/notifications Notifications List
AccountApi getPayment GET /account/payments/{paymentId} Payment View
AccountApi getPaymentMethod GET /account/payment-methods/{paymentMethodId} Payment Method View
AccountApi getPaymentMethods GET /account/payment-methods Payment Methods List
AccountApi getPayments GET /account/payments Payments List
AccountApi getServiceTransfer GET /account/service-transfers/{token} Service Transfer View
AccountApi getServiceTransfers GET /account/service-transfers Service Transfers List
AccountApi getTransfer GET /account/transfer Network Utilization View
AccountApi getUser GET /account/users/{username} User View
AccountApi getUserGrants GET /account/users/{username}/grants User's Grants View
AccountApi getUsers GET /account/users Users List
AccountApi makePaymentMethodDefault POST /account/payment-methods/{paymentMethodId}/make-default Payment Method Make Default
AccountApi resetClientSecret POST /account/oauth-clients/{clientId}/reset-secret OAuth Client Secret Reset
AccountApi setClientThumbnail PUT /account/oauth-clients/{clientId}/thumbnail OAuth Client Thumbnail Update
AccountApi updateAccount PUT /account Account Update
AccountApi updateAccountSettings PUT /account/settings Account Settings Update
AccountApi updateClient PUT /account/oauth-clients/{clientId} OAuth Client Update
AccountApi updateUser PUT /account/users/{username} User Update
AccountApi updateUserGrants PUT /account/users/{username}/grants User's Grants Update
DomainsApi cloneDomain POST /domains/{domainId}/clone Domain Clone
DomainsApi createDomain POST /domains Domain Create
DomainsApi createDomainRecord POST /domains/{domainId}/records Domain Record Create
DomainsApi deleteDomain DELETE /domains/{domainId} Domain Delete
DomainsApi deleteDomainRecord DELETE /domains/{domainId}/records/{recordId} Domain Record Delete
DomainsApi getDomain GET /domains/{domainId} Domain View
DomainsApi getDomainRecord GET /domains/{domainId}/records/{recordId} Domain Record View
DomainsApi getDomainRecords GET /domains/{domainId}/records Domain Records List
DomainsApi getDomainZone GET /domains/{domainId}/zone-file Domain Zone File View
DomainsApi getDomains GET /domains Domains List
DomainsApi importDomain POST /domains/import Domain Import
DomainsApi updateDomain PUT /domains/{domainId} Domain Update
DomainsApi updateDomainRecord PUT /domains/{domainId}/records/{recordId} Domain Record Update
ImagesApi createImage POST /images Image Create
ImagesApi deleteImage DELETE /images/{imageId} Image Delete
ImagesApi getImage GET /images/{imageId} Image View
ImagesApi getImages GET /images Images List
ImagesApi imagesUploadPost POST /images/upload Image Upload
ImagesApi updateImage PUT /images/{imageId} Image Update
LinodeInstancesApi addLinodeConfig POST /linode/instances/{linodeId}/configs Configuration Profile Create
LinodeInstancesApi addLinodeDisk POST /linode/instances/{linodeId}/disks Disk Create
LinodeInstancesApi addLinodeIP POST /linode/instances/{linodeId}/ips IPv4 Address Allocate
LinodeInstancesApi bootLinodeInstance POST /linode/instances/{linodeId}/boot Linode Boot
LinodeInstancesApi cancelBackups POST /linode/instances/{linodeId}/backups/cancel Backups Cancel
LinodeInstancesApi cloneLinodeDisk POST /linode/instances/{linodeId}/disks/{diskId}/clone Disk Clone
LinodeInstancesApi cloneLinodeInstance POST /linode/instances/{linodeId}/clone Linode Clone
LinodeInstancesApi createLinodeInstance POST /linode/instances Linode Create
LinodeInstancesApi createSnapshot POST /linode/instances/{linodeId}/backups Snapshot Create
LinodeInstancesApi deleteDisk DELETE /linode/instances/{linodeId}/disks/{diskId} Disk Delete
LinodeInstancesApi deleteLinodeConfig DELETE /linode/instances/{linodeId}/configs/{configId} Configuration Profile Delete
LinodeInstancesApi deleteLinodeInstance DELETE /linode/instances/{linodeId} Linode Delete
LinodeInstancesApi enableBackups POST /linode/instances/{linodeId}/backups/enable Backups Enable
LinodeInstancesApi getBackup GET /linode/instances/{linodeId}/backups/{backupId} Backup View
LinodeInstancesApi getBackups GET /linode/instances/{linodeId}/backups Backups List
LinodeInstancesApi getKernel GET /linode/kernels/{kernelId} Kernel View
LinodeInstancesApi getKernels GET /linode/kernels Kernels List
LinodeInstancesApi getLinodeConfig GET /linode/instances/{linodeId}/configs/{configId} Configuration Profile View
LinodeInstancesApi getLinodeConfigs GET /linode/instances/{linodeId}/configs Configuration Profiles List
LinodeInstancesApi getLinodeDisk GET /linode/instances/{linodeId}/disks/{diskId} Disk View
LinodeInstancesApi getLinodeDisks GET /linode/instances/{linodeId}/disks Disks List
LinodeInstancesApi getLinodeFirewalls GET /linode/instances/{linodeId}/firewalls Firewalls List
LinodeInstancesApi getLinodeIP GET /linode/instances/{linodeId}/ips/{address} IP Address View
LinodeInstancesApi getLinodeIPs GET /linode/instances/{linodeId}/ips Networking Information List
LinodeInstancesApi getLinodeInstance GET /linode/instances/{linodeId} Linode View
LinodeInstancesApi getLinodeInstances GET /linode/instances Linodes List
LinodeInstancesApi getLinodeNodeBalancers GET /linode/instances/{linodeId}/nodebalancers Linode NodeBalancers View
LinodeInstancesApi getLinodeStats GET /linode/instances/{linodeId}/stats Linode Statistics View
LinodeInstancesApi getLinodeStatsByYearMonth GET /linode/instances/{linodeId}/stats/{year}/{month} Statistics View (year/month)
LinodeInstancesApi getLinodeTransfer GET /linode/instances/{linodeId}/transfer Network Transfer View
LinodeInstancesApi getLinodeTransferByYearMonth GET /linode/instances/{linodeId}/transfer/{year}/{month} Network Transfer View (year/month)
LinodeInstancesApi getLinodeVolumes GET /linode/instances/{linodeId}/volumes Linode's Volumes List
LinodeInstancesApi migrateLinodeInstance POST /linode/instances/{linodeId}/migrate DC Migration/Pending Host Migration Initiate
LinodeInstancesApi mutateLinodeInstance POST /linode/instances/{linodeId}/mutate Linode Upgrade
LinodeInstancesApi rebootLinodeInstance POST /linode/instances/{linodeId}/reboot Linode Reboot
LinodeInstancesApi rebuildLinodeInstance POST /linode/instances/{linodeId}/rebuild Linode Rebuild
LinodeInstancesApi removeLinodeIP DELETE /linode/instances/{linodeId}/ips/{address} IPv4 Address Delete
LinodeInstancesApi rescueLinodeInstance POST /linode/instances/{linodeId}/rescue Linode Boot into Rescue Mode
LinodeInstancesApi resetDiskPassword POST /linode/instances/{linodeId}/disks/{diskId}/password Disk Root Password Reset
LinodeInstancesApi resetLinodePassword POST /linode/instances/{linodeId}/password Linode Root Password Reset
LinodeInstancesApi resizeDisk POST /linode/instances/{linodeId}/disks/{diskId}/resize Disk Resize
LinodeInstancesApi resizeLinodeInstance POST /linode/instances/{linodeId}/resize Linode Resize
LinodeInstancesApi restoreBackup POST /linode/instances/{linodeId}/backups/{backupId}/restore Backup Restore
LinodeInstancesApi shutdownLinodeInstance POST /linode/instances/{linodeId}/shutdown Linode Shut Down
LinodeInstancesApi updateDisk PUT /linode/instances/{linodeId}/disks/{diskId} Disk Update
LinodeInstancesApi updateLinodeConfig PUT /linode/instances/{linodeId}/configs/{configId} Configuration Profile Update
LinodeInstancesApi updateLinodeIP PUT /linode/instances/{linodeId}/ips/{address} IP Address Update
LinodeInstancesApi updateLinodeInstance PUT /linode/instances/{linodeId} Linode Update
LinodeKubernetesEngineLKEApi createLKECluster POST /lke/clusters Kubernetes Cluster Create
LinodeKubernetesEngineLKEApi deleteLKECluster DELETE /lke/clusters/{clusterId} Kubernetes Cluster Delete
LinodeKubernetesEngineLKEApi deleteLKEClusterKubeconfig DELETE /lke/clusters/{clusterId}/kubeconfig Kubeconfig Delete
LinodeKubernetesEngineLKEApi deleteLKEClusterNode DELETE /lke/clusters/{clusterId}/nodes/{nodeId} Node Delete
LinodeKubernetesEngineLKEApi deleteLKENodePool DELETE /lke/clusters/{clusterId}/pools/{poolId} Node Pool Delete
LinodeKubernetesEngineLKEApi getLKECluster GET /lke/clusters/{clusterId} Kubernetes Cluster View
LinodeKubernetesEngineLKEApi getLKEClusterAPIEndpoints GET /lke/clusters/{clusterId}/api-endpoints Kubernetes API Endpoints List
LinodeKubernetesEngineLKEApi getLKEClusterKubeconfig GET /lke/clusters/{clusterId}/kubeconfig Kubeconfig View
LinodeKubernetesEngineLKEApi getLKEClusterNode GET /lke/clusters/{clusterId}/nodes/{nodeId} Node View
LinodeKubernetesEngineLKEApi getLKEClusterPools GET /lke/clusters/{clusterId}/pools Node Pools List
LinodeKubernetesEngineLKEApi getLKEClusters GET /lke/clusters Kubernetes Clusters List
LinodeKubernetesEngineLKEApi getLKENodePool GET /lke/clusters/{clusterId}/pools/{poolId} Node Pool View
LinodeKubernetesEngineLKEApi getLKEVersion GET /lke/versions/{version} Kubernetes Version View
LinodeKubernetesEngineLKEApi getLKEVersions GET /lke/versions Kubernetes Versions List
LinodeKubernetesEngineLKEApi postLKEClusterNodeRecycle POST /lke/clusters/{clusterId}/nodes/{nodeId}/recycle Node Recycle
LinodeKubernetesEngineLKEApi postLKEClusterPoolRecycle POST /lke/clusters/{clusterId}/pools/{poolId}/recycle Node Pool Recycle
LinodeKubernetesEngineLKEApi postLKEClusterPools POST /lke/clusters/{clusterId}/pools Node Pool Create
LinodeKubernetesEngineLKEApi postLKEClusterRecycle POST /lke/clusters/{clusterId}/recycle Cluster Nodes Recycle
LinodeKubernetesEngineLKEApi putLKECluster PUT /lke/clusters/{clusterId} Kubernetes Cluster Update
LinodeKubernetesEngineLKEApi putLKENodePool PUT /lke/clusters/{clusterId}/pools/{poolId} Node Pool Update
LinodeTypesApi getLinodeType GET /linode/types/{typeId} Type View
LinodeTypesApi getLinodeTypes GET /linode/types Types List
LongviewApi createLongviewClient POST /longview/clients Longview Client Create
LongviewApi deleteLongviewClient DELETE /longview/clients/{clientId} Longview Client Delete
LongviewApi getLongviewClient GET /longview/clients/{clientId} Longview Client View
LongviewApi getLongviewClients GET /longview/clients Longview Clients List
LongviewApi getLongviewPlan GET /longview/plan Longview Plan View
LongviewApi getLongviewSubscription GET /longview/subscriptions/{subscriptionId} Longview Subscription View
LongviewApi getLongviewSubscriptions GET /longview/subscriptions Longview Subscriptions List
LongviewApi updateLongviewClient PUT /longview/clients/{clientId} Longview Client Update
LongviewApi updateLongviewPlan PUT /longview/plan Longview Plan Update
ManagedApi createManagedContact POST /managed/contacts Managed Contact Create
ManagedApi createManagedCredential POST /managed/credentials Managed Credential Create
ManagedApi createManagedService POST /managed/services Managed Service Create
ManagedApi deleteManagedContact DELETE /managed/contacts/{contactId} Managed Contact Delete
ManagedApi deleteManagedCredential POST /managed/credentials/{credentialId}/revoke Managed Credential Delete
ManagedApi deleteManagedService DELETE /managed/services/{serviceId} Managed Service Delete
ManagedApi disableManagedService POST /managed/services/{serviceId}/disable Managed Service Disable
ManagedApi enableManagedService POST /managed/services/{serviceId}/enable Managed Service Enable
ManagedApi getManagedContact GET /managed/contacts/{contactId} Managed Contact View
ManagedApi getManagedContacts GET /managed/contacts Managed Contacts List
ManagedApi getManagedCredential GET /managed/credentials/{credentialId} Managed Credential View
ManagedApi getManagedCredentials GET /managed/credentials Managed Credentials List
ManagedApi getManagedIssue GET /managed/issues/{issueId} Managed Issue View
ManagedApi getManagedIssues GET /managed/issues Managed Issues List
ManagedApi getManagedLinodeSetting GET /managed/linode-settings/{linodeId} Linode's Managed Settings View
ManagedApi getManagedLinodeSettings GET /managed/linode-settings Managed Linode Settings List
ManagedApi getManagedService GET /managed/services/{serviceId} Managed Service View
ManagedApi getManagedServices GET /managed/services Managed Services List
ManagedApi getManagedStats GET /managed/stats Managed Stats List
ManagedApi updateManagedContact PUT /managed/contacts/{contactId} Managed Contact Update
ManagedApi updateManagedCredential PUT /managed/credentials/{credentialId} Managed Credential Update
ManagedApi updateManagedCredentialUsernamePassword POST /managed/credentials/{credentialId}/update Managed Credential Username and Password Update
ManagedApi updateManagedLinodeSetting PUT /managed/linode-settings/{linodeId} Linode's Managed Settings Update
ManagedApi updateManagedService PUT /managed/services/{serviceId} Managed Service Update
ManagedApi viewManagedSSHKey GET /managed/credentials/sshkey Managed SSH Key View
NetworkingApi allocateIP POST /networking/ips IP Address Allocate
NetworkingApi assignIPs POST /networking/ipv4/assign Linodes Assign IPs
NetworkingApi createFirewallDevice POST /networking/firewalls/{firewallId}/devices Firewall Device Create
NetworkingApi createFirewalls POST /networking/firewalls Firewall Create
NetworkingApi deleteFirewall DELETE /networking/firewalls/{firewallId} Firewall Delete
NetworkingApi deleteFirewallDevice DELETE /networking/firewalls/{firewallId}/devices/{deviceId} Firewall Device Delete
NetworkingApi getFirewall GET /networking/firewalls/{firewallId} Firewall View
NetworkingApi getFirewallDevice GET /networking/firewalls/{firewallId}/devices/{deviceId} Firewall Device View
NetworkingApi getFirewallDevices GET /networking/firewalls/{firewallId}/devices Firewall Devices List
NetworkingApi getFirewallRules GET /networking/firewalls/{firewallId}/rules Firewall Rules List
NetworkingApi getFirewalls GET /networking/firewalls Firewalls List
NetworkingApi getIP GET /networking/ips/{address} IP Address View
NetworkingApi getIPs GET /networking/ips IP Addresses List
NetworkingApi getIPv6Pools GET /networking/ipv6/pools IPv6 Pools List
NetworkingApi getIPv6Ranges GET /networking/ipv6/ranges IPv6 Ranges List
NetworkingApi getVLANs GET /networking/vlans VLANs List
NetworkingApi shareIPs POST /networking/ipv4/share IP Sharing Configure
NetworkingApi updateFirewall PUT /networking/firewalls/{firewallId} Firewall Update
NetworkingApi updateFirewallRules PUT /networking/firewalls/{firewallId}/rules Firewall Rules Update
NetworkingApi updateIP PUT /networking/ips/{address} IP Address RDNS Update
NodeBalancersApi createNodeBalancer POST /nodebalancers NodeBalancer Create
NodeBalancersApi createNodeBalancerConfig POST /nodebalancers/{nodeBalancerId}/configs Config Create
NodeBalancersApi createNodeBalancerNode POST /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes Node Create
NodeBalancersApi deleteNodeBalancer DELETE /nodebalancers/{nodeBalancerId} NodeBalancer Delete
NodeBalancersApi deleteNodeBalancerConfig DELETE /nodebalancers/{nodeBalancerId}/configs/{configId} Config Delete
NodeBalancersApi deleteNodeBalancerConfigNode DELETE /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId} Node Delete
NodeBalancersApi getNodeBalancer GET /nodebalancers/{nodeBalancerId} NodeBalancer View
NodeBalancersApi getNodeBalancerConfig GET /nodebalancers/{nodeBalancerId}/configs/{configId} Config View
NodeBalancersApi getNodeBalancerConfigNodes GET /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes Nodes List
NodeBalancersApi getNodeBalancerConfigs GET /nodebalancers/{nodeBalancerId}/configs Configs List
NodeBalancersApi getNodeBalancerNode GET /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId} Node View
NodeBalancersApi getNodeBalancers GET /nodebalancers NodeBalancers List
NodeBalancersApi nodebalancersNodeBalancerIdStatsGet GET /nodebalancers/{nodeBalancerId}/stats NodeBalancer Statistics View
NodeBalancersApi rebuildNodeBalancerConfig POST /nodebalancers/{nodeBalancerId}/configs/{configId}/rebuild Config Rebuild
NodeBalancersApi updateNodeBalancer PUT /nodebalancers/{nodeBalancerId} NodeBalancer Update
NodeBalancersApi updateNodeBalancerConfig PUT /nodebalancers/{nodeBalancerId}/configs/{configId} Config Update
NodeBalancersApi updateNodeBalancerNode PUT /nodebalancers/{nodeBalancerId}/configs/{configId}/nodes/{nodeId} Node Update
ObjectStorageApi cancelObjectStorage POST /object-storage/cancel Object Storage Cancel
ObjectStorageApi createObjectStorageBucket POST /object-storage/buckets Object Storage Bucket Create
ObjectStorageApi createObjectStorageKeys POST /object-storage/keys Object Storage Key Create
ObjectStorageApi createObjectStorageObjectURL POST /object-storage/buckets/{clusterId}/{bucket}/object-url Object Storage Object URL Create
ObjectStorageApi createObjectStorageSSL POST /object-storage/buckets/{clusterId}/{bucket}/ssl Object Storage TLS/SSL Cert Upload
ObjectStorageApi deleteObjectStorageBucket DELETE /object-storage/buckets/{clusterId}/{bucket} Object Storage Bucket Remove
ObjectStorageApi deleteObjectStorageKey DELETE /object-storage/keys/{keyId} Object Storage Key Revoke
ObjectStorageApi deleteObjectStorageSSL DELETE /object-storage/buckets/{clusterId}/{bucket}/ssl Object Storage TLS/SSL Cert Delete
ObjectStorageApi getObjectStorageBucket GET /object-storage/buckets/{clusterId}/{bucket} Object Storage Bucket View
ObjectStorageApi getObjectStorageBucketContent GET /object-storage/buckets/{clusterId}/{bucket}/object-list Object Storage Bucket Contents List
ObjectStorageApi getObjectStorageBucketinCluster GET /object-storage/buckets/{clusterId} Object Storage Buckets in Cluster List
ObjectStorageApi getObjectStorageBuckets GET /object-storage/buckets Object Storage Buckets List
ObjectStorageApi getObjectStorageCluster GET /object-storage/clusters/{clusterId} Cluster View
ObjectStorageApi getObjectStorageClusters GET /object-storage/clusters Clusters List
ObjectStorageApi getObjectStorageKey GET /object-storage/keys/{keyId} Object Storage Key View
ObjectStorageApi getObjectStorageKeys GET /object-storage/keys Object Storage Keys List
ObjectStorageApi getObjectStorageSSL GET /object-storage/buckets/{clusterId}/{bucket}/ssl Object Storage TLS/SSL Cert View
ObjectStorageApi getObjectStorageTransfer GET /object-storage/transfer Object Storage Transfer View
ObjectStorageApi modifyObjectStorageBucketAccess POST /object-storage/buckets/{clusterId}/{bucket}/access Object Storage Bucket Access Modify
ObjectStorageApi updateObjectStorageBucketACL PUT /object-storage/buckets/{clusterId}/{bucket}/object-acl Object Storage Object ACL Config Update
ObjectStorageApi updateObjectStorageBucketAccess PUT /object-storage/buckets/{clusterId}/{bucket}/access Object Storage Bucket Access Update
ObjectStorageApi updateObjectStorageKey PUT /object-storage/keys/{keyId} Object Storage Key Update
ObjectStorageApi viewObjectStorageBucketACL GET /object-storage/buckets/{clusterId}/{bucket}/object-acl Object Storage Object ACL Config View
ProfileApi addSSHKey POST /profile/sshkeys SSH Key Add
ProfileApi createPersonalAccessToken POST /profile/tokens Personal Access Token Create
ProfileApi deletePersonalAccessToken DELETE /profile/tokens/{tokenId} Personal Access Token Revoke
ProfileApi deleteProfileApp DELETE /profile/apps/{appId} App Access Revoke
ProfileApi deleteSSHKey DELETE /profile/sshkeys/{sshKeyId} SSH Key Delete
ProfileApi getDevices GET /profile/devices Trusted Devices List
ProfileApi getPersonalAccessToken GET /profile/tokens/{tokenId} Personal Access Token View
ProfileApi getPersonalAccessTokens GET /profile/tokens Personal Access Tokens List
ProfileApi getProfile GET /profile Profile View
ProfileApi getProfileApp GET /profile/apps/{appId} Authorized App View
ProfileApi getProfileApps GET /profile/apps Authorized Apps List
ProfileApi getProfileGrants GET /profile/grants Grants List
ProfileApi getProfileLogin GET /profile/logins/{loginId} Login View
ProfileApi getProfileLogins GET /profile/logins Logins List
ProfileApi getSSHKey GET /profile/sshkeys/{sshKeyId} SSH Key View
ProfileApi getSSHKeys GET /profile/sshkeys SSH Keys List
ProfileApi getTrustedDevice GET /profile/devices/{deviceId} Trusted Device View
ProfileApi getUserPreferences GET /profile/preferences User Preferences View
ProfileApi revokeTrustedDevice DELETE /profile/devices/{deviceId} Trusted Device Revoke
ProfileApi tfaConfirm POST /profile/tfa-enable-confirm Two Factor Authentication Confirm/Enable
ProfileApi tfaDisable POST /profile/tfa-disable Two Factor Authentication Disable
ProfileApi tfaEnable POST /profile/tfa-enable Two Factor Secret Create
ProfileApi updatePersonalAccessToken PUT /profile/tokens/{tokenId} Personal Access Token Update
ProfileApi updateProfile PUT /profile Profile Update
ProfileApi updateSSHKey PUT /profile/sshkeys/{sshKeyId} SSH Key Update
ProfileApi updateUserPreferences PUT /profile/preferences User Preferences Update
RegionsApi getRegion GET /regions/{regionId} Region View
RegionsApi getRegions GET /regions Regions List
StackScriptsApi addStackScript POST /linode/stackscripts StackScript Create
StackScriptsApi deleteStackScript DELETE /linode/stackscripts/{stackscriptId} StackScript Delete
StackScriptsApi getStackScript GET /linode/stackscripts/{stackscriptId} StackScript View
StackScriptsApi getStackScripts GET /linode/stackscripts StackScripts List
StackScriptsApi updateStackScript PUT /linode/stackscripts/{stackscriptId} StackScript Update
SupportApi closeTicket POST /support/tickets/{ticketId}/close Support Ticket Close
SupportApi createTicket POST /support/tickets Support Ticket Open
SupportApi createTicketAttachment POST /support/tickets/{ticketId}/attachments Ticket Attachment Create
SupportApi createTicketReply POST /support/tickets/{ticketId}/replies Reply Create
SupportApi getTicket GET /support/tickets/{ticketId} Support Ticket View
SupportApi getTicketReplies GET /support/tickets/{ticketId}/replies Replies List
SupportApi getTickets GET /support/tickets Support Tickets List
TagsApi createTag POST /tags New Tag Create
TagsApi deleteTag DELETE /tags/{label} Tag Delete
TagsApi getTaggedObjects GET /tags/{label} Tagged Objects List
TagsApi getTags GET /tags Tags List
VolumesApi attachVolume POST /volumes/{volumeId}/attach Volume Attach
VolumesApi cloneVolume POST /volumes/{volumeId}/clone Volume Clone
VolumesApi createVolume POST /volumes Volume Create
VolumesApi deleteVolume DELETE /volumes/{volumeId} Volume Delete
VolumesApi detachVolume POST /volumes/{volumeId}/detach Volume Detach
VolumesApi getVolume GET /volumes/{volumeId} Volume View
VolumesApi getVolumes GET /volumes Volumes List
VolumesApi resizeVolume POST /volumes/{volumeId}/resize Volume Resize
VolumesApi updateVolume PUT /volumes/{volumeId} Volume Update

Models

Authorization

oauth

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://login.linode.com/oauth/authorize
  • 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.
    • maintenance:read_only: Allows access to GET information about Maintenance on your account.
    • 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.

personalAccessToken

  • Type: Bearer authentication

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

support@linode.com

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: 4.107.0
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen