From e182ff01638c1496e114c4f81e9ca54d563063c9 Mon Sep 17 00:00:00 2001 From: cverner Date: Thu, 18 Apr 2024 11:09:23 -0700 Subject: [PATCH 01/10] Placement groups API documentation --- openapi.yaml | 614 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 585 insertions(+), 29 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index d417366fe..940ce79df 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.1 info: - version: 4.173.1 + version: 4.174.0 title: Linode API license: name: Apache 2.0 @@ -6559,6 +6559,20 @@ paths: $ref: '#/components/schemas/Linode/properties/tags' group: $ref: '#/components/schemas/Linode/properties/group' + placement_group: + type: object + description: | + Include this to assign this Linode to an existing [placement group](/docs/products/compute/compute-instances/guides/placement-groups/). These constraints apply: + + * The target placement group needs to be in the same `region` set for this Linode. + * The placement group needs to have capacity. Run the [Region View](/docs/api/regions/#region-view) operation and store the `maximum_linodes_per_pg` value to know the Linode limit per placement group. You can then run the [Placement Group View](/docs/api/placement-groups/#placement-group-view) operation to review the Linodes in that group. + required: + - id + properties: + id: + $ref: '#/components/schemas/PlacementGroup/properties/id' + compliant_only: + $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' private_ip: type: boolean description: > @@ -6629,6 +6643,10 @@ paths: "type": "g6-standard-2", "region": "us-east", "group": "Linode-Group", + "placement_group": { + "id": 528, + "compliant_only": true + }, "metadata": { "user_data": "I2Nsb3VkLWNvbmZpZw==" }, @@ -6644,6 +6662,7 @@ paths: --stackscript_id 10079 \ --stackscript_data '{"gh_username": "linode"}' \ --region us-east \ + --placement_group '{"id": 528, "compliant_only": true}' \ --type g6-standard-2 \ --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \ --authorized_users "myUser" \ @@ -6717,7 +6736,6 @@ paths: 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 @@ -7232,31 +7250,24 @@ paths: 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. + You can clone your Linode's existing Disks or Configuration profiles to another Linode on your Account. You can clone to an existing Linode or to an entirely new one. There are some requirements and limitations when cloning: + + - Your User needs to have the `add_linodes` grant. + - Cloning to a new Linode incurs a charge on your Account. + - If cloning to an existing Linode, any actions currently running or queued in that Linode need to finish before you can clone to it. + - You can run up five clone operations concurrently, from any given source. If more concurrent clones are attempted, you get an HTTP 400 error. + - The API clones any [tags](/docs/api/tags/#tags-list) on the source Linode to the target Linode. + - If the target Linode uses Metadata (`"has_user_data": true`), you need to clone 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. + - If the Linode you're cloning has a `vpc` purpose interface on its active Configuration Profile that includes a 1:1 NAT, the API configures the clone 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. + - Only Next Generation Network (NGN) data centers support VLANs. If a VLAN is attached to your Linode and you try to clone it to a non-NGN data center, the cloning will fail. If a Linode can't be cloned because of an incompatibility, the API prompts you to either select a different data center or contact support. + - See the [VLANs Overview](/docs/products/networking/vlans/#technical-specifications) guide for its specifications and limitations. tags: - Linode Instances operationId: cloneLinodeInstance @@ -7279,12 +7290,9 @@ paths: 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). + The data center where you want to clone the Linode. To view all available regions, run the [Regions List](/docs/api/regions/#regions-list) operation. - * Region can only be provided and is required when cloning to a new Linode. + * You only need to provide a `region` when cloning to a new Linode, in which case it's required. example: us-east type: type: string @@ -7314,7 +7322,6 @@ paths: 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: @@ -7324,6 +7331,21 @@ paths: A label used to group Linodes for display. Linodes are not required to have a group. example: Linode-Group + placement_group: + type: object + description: | + Include this to assign this Linode to an existing [placement group](/docs/products/compute/compute-instances/guides/placement-groups/). Consider these points when cloning: + + * 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. + * The target placement group needs to be in the same `region` set for this Linode. + * The placement group needs to have capacity. Run the [Region View](/docs/api/regions/#region-view) operation and store the `maximum_linodes_per_pg` value to know the Linode limit per placement group. You can then run the [Placement Group View](/docs/api/placement-groups/#placement-group-view) operation to review the Linodes in that group. + required: + - id + properties: + id: + $ref: '#/components/schemas/PlacementGroup/properties/id' + compliant_only: + $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' backups_enabled: type: boolean description: | @@ -7406,6 +7428,9 @@ paths: "linode_id": 124, "label": "cloned-linode", "group": "Linode-Group", + "placement_group": { + "id": 528 + } "backups_enabled": true, "disks": [25674], "configs": [23456], @@ -7423,6 +7448,7 @@ paths: --type g6-standard-2 \ --label cloned-linode \ --backups_enabled true \ + --placement_group '{"id": 528, "compliant_only": true}' \ --disks 25674 \ --configs 23456 \ --private_ip true \ @@ -9012,6 +9038,21 @@ paths: is complete, the Linode will be powered on. example: warm default: cold + placement_group: + type: object + description: | + Include this to assign this Linode to an existing [placement group](/docs/products/compute/compute-instances/guides/placement-groups/) in the data center you're migrating to. These constraints apply: + + * If the target Linode is in a placement group, it will be removed from it when migrating. + * The target placement group needs to be in the same `region` you're migrating to. + * The target placement group needs to have capacity. Run the [Region View](/docs/api/regions/#region-view) operation for the region you want to migrate to, and store the `maximum_linodes_per_pg` value. Run the [Placement Group View](/docs/api/placement-groups/#placement-group-view) operation for that same region to review how many Linodes are in that group. + required: + - id + properties: + id: + $ref: '#/components/schemas/PlacementGroup/properties/id' + compliant_only: + $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' responses: '200': description: Scheduled migration started @@ -9027,12 +9068,18 @@ paths: curl -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -X POST -d '{ - "region": "us-central" + "region": "us-central", + "placement_group": { + "id": 528, + "compliant_only": true + } }' \ https://api.linode.com/v4/linode/instances/123/migrate - lang: CLI source: > - linode-cli linodes migrate 123 --region us-central + linode-cli linodes migrate 123 \ + --region us-central \ + --placement_group '{"id": 528, "compliant_only": true}' \ /linode/instances/{linodeId}/mutate: parameters: - name: linodeId @@ -16985,6 +17032,346 @@ paths: source: > curl -H "Authorization: Bearer $TOKEN" \ https://api.linode.com/v4/object-storage/transfer/ + /placement/groups: + x-linode-cli-command: placement + get: + parameters: + - $ref: '#/components/parameters/pageOffset' + - $ref: '#/components/parameters/pageSize' + summary: Placement Groups List + description: > + Returns a paginated list of placement groups you have permission to view. + tags: + - Placement Groups + operationId: getPlacementGroups + x-linode-cli-action: + - list + - ls + security: + - personalAccessToken: [] + - oauth: + - placement:read_only + responses: + '200': + description: | + Returns an array of all placement groups on your Account. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/PlacementGroup' + 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/placement/groups + - lang: CLI + source: > + linode-cli placement-list + post: + x-linode charge: true + x-linode grant: add_placement + summary: Placement Group Create + description: | + Creates a placement group on your account. Placement groups let you set the physical location of your compute instances in a data center (region) to best suit your need. + + * For this request to complete successfully, your user must have the `add_placement` grant. + * We offer an [example API workflow](/docs/products/compute/compute-instances/guides/placement-groups/#create-a-placement-group) you can follow to create a placement group. + + **Note**: With the beta release, this service is only available in [select regions](/docs/products/compute/compute-instances/guides/placement-groups/#availability). + tags: + - Placement Groups + operationId: createPlacementGroup + x-linode-cli-action: create + security: + - personalAccessToken: [] + - oauth: + - linodes:read_write + requestBody: + description: The requested initial state of the new placement group. + required: true + x-linode-cli-allowed-defaults: + - affinity_type + - is_strict + - label + - region + content: + application/json: + schema: + required: + - affinity_type + - is_strict + - label + - region + type: object + allOf: + - $ref: '#/components/schemas/PlacementGroupRequest' + responses: + '200': + description: > + A new placement group is being created. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroup' + 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": "PG_Miami_failover", + "region": "us-mia", + "affinity_type": "anti-affinity:local", + "is_strict": true + }' \ + https://api.linode.com/v4/placement/groups + - lang: CLI + source: > + linode-cli placement create \ + --label PG_Miami_failover \ + --region us-mia \ + --affinity_type "anti-affinity:local" \ + --is_strict true + /placement/groups/{groupId}: + x-linode-cli-command: placement + parameters: + - name: groupId + in: path + description: ID of the placement group to look up. Run the [Placement Groups List](#placement-groups-list) operation and store the `id` for the applicable placement group. + required: true + schema: + type: integer + get: + x-linode-grant: read-only + tags: + - Placement Groups + summary: Placement Group View + description: | + View a specific placement group by ID. + operationId: getPlacementGroup + x-linode-cli-action: view + security: + - personalAccessToken: [] + - oauth: + - linodes:read_only + responses: + '200': + description: Returns a single placement group object. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroup' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + -X GET \ + https://api.linode.com/v4/placement/groups/528 + - lang: CLI + source: > + linode-cli placement view 528 + put: + x-linode-grant: read-write + tags: + - Placement Groups + summary: Placement Group Update + description: | + Change the `label` for a specific placement group. This is the only value you can update. However, you can [add](#placement-group-add-linode) more compute instances or [remove](#placement-group-remove-linode) existing ones. + operationId: updatePlacementGroup + x-linode-cli-action: update + security: + - personalAccessToken: [] + - oauth: + - linodes:read_write + requestBody: + description: > + Include the `label` parameter to update the name of your placement group. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroupRequest/properties/label' + responses: + '200': + description: The updated placement group. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroup' + 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": "PG_Miami_failover_update" + }' \ + https://api.linode.com/v4/placement/groups/528 + - lang: CLI + source: > + linode-cli placement update 528 \ + --label PG_Miami_failover_update + delete: + x-linode-grant: read_write + tags: + - Placement Groups + summary: Placement Group Delete + description: | + Deletes a placement group you have permission to `read_write`. + + * Deleting a placement group can't be undone. + * All compute instances need to be [removed](#placement-group-unassign) before you can delete a placement group. + * If your placement group is non-compliant, you can't delete it. You need to wait for our help to bring it [compliant](/docs/products/compute/compute-instances/guides/placement-groups/#non-compliance-precedence). + operationId: deletePlacementGroup + 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/placement/groups/528 + - lang: CLI + source: > + linode-cli placement delete 528 + /placement/groups/{groupId}/assign: + x-linode-cli-command: placement + parameters: + - name: groupId + in: path + description: ID of the placement group to look up. Run the [Placement Groups List](#placement-groups-list) operation and store the `id` for the applicable placement group. + required: true + schema: + type: integer + post: + x-linode-grant: read-write + tags: + - Placement Groups + summary: Placement Group Assign + description: | + Add one or more compute instances to your placement group. Check out our [example API workflow](/docs/products/compute/compute-instances/guides/placement-groups/#create-a-placement-group) to create a placement group and add compute instances. + operationId: placementGroupAddLinode + x-linode-cli-action: assignLinode + security: + - personalAccessToken: [] + - oauth: + - linodes:read_write + requestBody: + required: true + description: > + The compute instances you want to add to your placement group. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroupComputeInstances' + responses: + '200': + description: > + The compute instance was added successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroup' + 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": [123, 456], + "non-compliant": false + }' \ + https://api.linode.com/v4/placement/groups/528/assign + - lang: CLI + source: > + linode-cli placement assignLinode 528 \ + --linode 123 456 \ + --non-compliant true + /placement/groups/{groupId}/unassign: + x-linode-cli-command: placement + parameters: + - name: groupId + in: path + description: ID of the placement group to look up. Run the [Placement Groups List](#placement-groups-list) operation and store the `id` for the applicable placement group. + required: true + schema: + type: integer + post: + x-linode-grant: read-write + tags: + - Placement Groups + summary: Placement Group Unassign + description: | + Remove one or more compute instances from your placement group. + x-linode-cli-action: unassignLinode + security: + - personalAccessToken: [] + - oauth: + - linodes:read_write + requestBody: + required: true + description: > + The compute instances you want to remove from your placement group. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/linodes' + responses: + '200': + description: > + The compute instance was removed successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PlacementGroup' + 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": [123, 456] + }' \ + https://api.linode.com/v4/placement/groups/528/unassign + - lang: CLI + source: > + linode-cli placement unassignLinode 528 \ + --linode 123 456 /profile: x-linode-cli-command: profile get: @@ -16996,7 +17383,6 @@ paths: 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 @@ -20481,6 +20867,7 @@ components: - NodeBalancers - Block Storage - Object Storage + - Placement Groups readOnly: true city: type: string @@ -22360,6 +22747,13 @@ components: - 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 @@ -22472,6 +22866,7 @@ components: - nodebalancer - oauth_client - profile + - placement_group - stackscript - tag - ticket @@ -24144,6 +24539,21 @@ components: offline: red billing_suspension: red default_: yellow + placement_group: + type: object + nullable: true + description: > + Details on the [placement group](/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group. + properties: + id: + $ref: '#/components/schemas/PlacementGroup/properties/id' + label: + $ref: '#/components/schemas/PlacementGroup/properties/label' + affinity_type: + $ref: '#/components/schemas/PlacementGroup/properties/affinity_type' + is_strict: + $ref: '#/components/schemas/PlacementGroup/properties/is_strict' + readOnly: true hypervisor: type: string description: > @@ -27258,6 +27668,130 @@ components: x-linode-cli-display: 6 example: '2018-01-01T13:46:32' readOnly: true + PlacementGroup: + type: object + properties: + id: + type: integer + nullable: false + description: > + The placement group's ID. You need to provide it for all operations impacting it. + example: 528 + label: + type: string + x-linode-cli-display: 1 + x-linode-filterable: true + description: | + The unique name set for the placement group. A label has these constraints: + + * It needs to begin and end with an alphanumeric character. + * It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`) or periods (`.`). + example: PG_Miami_failover + minLength: 1 + region: + type: string + x-linode-cli-display: 1 + x-linode-filterable: true + readOnly: true + description: > + The [region](/docs/api/regions/#regions-list) where the placement group was deployed. + example: us-mia + affinity_type: + type: string + x-linode-filterable: true + readOnly: true + description: | + How compute instances are distributed in your placement group. `anti-affinity:local` places compute instances in separate fault domains, but still in the same region. + + **Note**: With the beta release, only `anti_affinity:local` is available for `affinity_type`. + example: anti-affinity:local + is_compliant: + type: boolean + nullable: false + description: > + The availability of the placement group. `true` indicates the group is available and all the compute instances in your group meet your `affinity_type` and `is_strict` enforcement setting. If `false`, the group is unavailable. One or more compute instances violate your `affinity_type` and `is_strict` settings. You need to wait for our assistance to physically move compute instances to make the group compliant. + example: true + members: + type: array + description: > + An array of compute instances included in the placement group. + items: + type: object + properties: + linode_id: + type: integer + description: > + The unique identifier for a compute instance included in the placement group. + readOnly: true + example: 123 + is_compliant: + type: boolean + description: > + Whether or not the compute instance meets your group's `affinity_type` and `is_strict` settings. If `false`, the compute instance makes the group non-compliant. You need to wait for our assistance to physically move it to meet your model, once applicable space is available. + example: true + is_strict: + type: boolean + nullable: false + description: | + How the API enforces your `affinity_type`: + + * Set to `true`, your group is strict. You can't add more compute instances to your placement group if your preferred container lacks capacity or is unavailable. + * Set to `false`, your group is flexible. You can add more compute instances to it even if they violate the `affinity_type`. If you violate the `affinity_type` your placement group becomes non-compliant and you need to wait for our assistance. + example: true + PlacementGroupRequest: + type: object + description: Common properties for creating and rebuilding placement groups. + properties: + affinity_type: + type: string + description: | + Determine how compute instances are to be distributed in your placement group. Set to `anti-affinity:local` to place compute instances in separate fault domains, but still in the same region. This better supports a high-availability model. + + **Note**: With the beta release, only `anti_affinity:local` is available for `affinity_type`. + enum: + - anti_affinity:local + example: + - anti_affinity:local + is_strict: + type: boolean + description: | + How the API enforces your `affinity_type`: + + * Set to `true`, your group is strict, You can't add more compute instances to your placement group if your preferred container lacks capacity or is unavailable. + * Set to `false`, your group is flexible. You can add more compute instances to it even if they violate the `affinity_type`. If you violate the `affinity_type` your placement group becomes non-compliant and you need to wait for our assistance. + + **Note**: Once you create a placement group, you can't change its `is_strict` setting. + example: true + label: + type: string + description: | + A unique name for the placement group. A placement group `label` has the following constraints: + + * It needs to begin and end with an alphanumeric character. + * It can only consist of alphanumeric characters, hyphens (`-`), underscores (`_`), or periods (`.`). + example: PG_Miami_failover + minLength: 1 + region: + type: string + description: > + The data center that houses the compute instances you want to add to your placement group. Run the [Linodes List](/docs/api/linode-instances/#linodes-list) operation to view your compute instances and store the `region` identifier. + example: us-iad + PlacementGroupComputeInstances: + type: object + description: > + The compute instances included in a placement group. + properties: + linodes: + type: array + items: + type: integer + description: > + The `linodeId` values for individual compute instances included in the placement group. + example: 528 + compliant_only: + type: boolean + description: > + You can optionally include this and set it to `true` if your placement group's affinity type enforcement setting is flexible. (The group's `is_strict` setting is `false`.) This lets you add a compute instance to your placement group if the group is currently non-compliant. Profile: type: object description: > @@ -27499,6 +28033,7 @@ components: - longview - managed - nodebalancer + - placement_group - objectstorage - transfer_tx description: > @@ -27537,6 +28072,7 @@ components: - NodeBalancers - Block Storage - Object Storage + - Placement Group readOnly: true x-linode-cli-display: 4 status: @@ -27549,6 +28085,26 @@ components: - outage readOnly: true x-linode-cli-display: 5 + placement_group_limits: + type: object + description: > + The limits for [placement groups](/docs/products/compute/compute-instances/guides/placement-groups/) in this region. + readOnly: true + x-linode-cli-display: 7 + properties: + maximum_pgs_per_customer: + type: integer + nullable: true + description: > + The maximum number of placement groups you can have in this region. Displayed as `null` if you don't have a limit. + example: 10 + readOnly: true + maximum_linodes_per_pg: + type: integer + description: > + The maximum number of compute instances you can include in a single placement group in this region. + example: 5 + readOnly: true resolvers: type: object readOnly: true From 7b656ced9808eb3aa6878d93e75b46d8786e1785 Mon Sep 17 00:00:00 2001 From: cverner Date: Thu, 18 Apr 2024 11:24:41 -0700 Subject: [PATCH 02/10] UXTW 7020 hid compliant_only parameter --- openapi.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 940ce79df..1c34902db 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -6571,8 +6571,8 @@ paths: properties: id: $ref: '#/components/schemas/PlacementGroup/properties/id' - compliant_only: - $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' + # compliant_only: + # $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' private_ip: type: boolean description: > @@ -7344,8 +7344,8 @@ paths: properties: id: $ref: '#/components/schemas/PlacementGroup/properties/id' - compliant_only: - $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' + # compliant_only: + # $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' backups_enabled: type: boolean description: | @@ -9042,7 +9042,7 @@ paths: type: object description: | Include this to assign this Linode to an existing [placement group](/docs/products/compute/compute-instances/guides/placement-groups/) in the data center you're migrating to. These constraints apply: - + * If the target Linode is in a placement group, it will be removed from it when migrating. * The target placement group needs to be in the same `region` you're migrating to. * The target placement group needs to have capacity. Run the [Region View](/docs/api/regions/#region-view) operation for the region you want to migrate to, and store the `maximum_linodes_per_pg` value. Run the [Placement Group View](/docs/api/placement-groups/#placement-group-view) operation for that same region to review how many Linodes are in that group. @@ -9051,8 +9051,8 @@ paths: properties: id: $ref: '#/components/schemas/PlacementGroup/properties/id' - compliant_only: - $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' + # compliant_only: + # $ref: '#/components/schemas/PlacementGroupComputeInstances/properties/compliant_only' responses: '200': description: Scheduled migration started @@ -27788,10 +27788,10 @@ components: description: > The `linodeId` values for individual compute instances included in the placement group. example: 528 - compliant_only: - type: boolean - description: > - You can optionally include this and set it to `true` if your placement group's affinity type enforcement setting is flexible. (The group's `is_strict` setting is `false`.) This lets you add a compute instance to your placement group if the group is currently non-compliant. + # compliant_only: + # type: boolean + # description: > + # You can optionally include this and set it to `true` if your placement group's affinity type enforcement setting is flexible. (The group's `is_strict` setting is `false`.) This lets you add a compute instance to your placement group if the group is currently non-compliant. Profile: type: object description: > From 38082ddd5fb1705198868ca9697914e26ed2fd77 Mon Sep 17 00:00:00 2001 From: Chris Verner Date: Tue, 7 May 2024 11:21:59 -0700 Subject: [PATCH 03/10] Fixes after CLI review --- openapi.yaml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 1c34902db..b09110947 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -6566,8 +6566,6 @@ paths: * The target placement group needs to be in the same `region` set for this Linode. * The placement group needs to have capacity. Run the [Region View](/docs/api/regions/#region-view) operation and store the `maximum_linodes_per_pg` value to know the Linode limit per placement group. You can then run the [Placement Group View](/docs/api/placement-groups/#placement-group-view) operation to review the Linodes in that group. - required: - - id properties: id: $ref: '#/components/schemas/PlacementGroup/properties/id' @@ -6662,7 +6660,7 @@ paths: --stackscript_id 10079 \ --stackscript_data '{"gh_username": "linode"}' \ --region us-east \ - --placement_group '{"id": 528, "compliant_only": true}' \ + --placement_group.id 528 \ --type g6-standard-2 \ --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \ --authorized_users "myUser" \ @@ -7448,7 +7446,7 @@ paths: --type g6-standard-2 \ --label cloned-linode \ --backups_enabled true \ - --placement_group '{"id": 528, "compliant_only": true}' \ + --placement_group.id 528 \ --disks 25674 \ --configs 23456 \ --private_ip true \ @@ -9079,7 +9077,7 @@ paths: source: > linode-cli linodes migrate 123 \ --region us-central \ - --placement_group '{"id": 528, "compliant_only": true}' \ + --placement_group.id 528 \ /linode/instances/{linodeId}/mutate: parameters: - name: linodeId @@ -17094,7 +17092,7 @@ paths: tags: - Placement Groups operationId: createPlacementGroup - x-linode-cli-action: create + x-linode-cli-action: group-create security: - personalAccessToken: [] - oauth: @@ -17205,7 +17203,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PlacementGroupRequest/properties/label' + type: object + properties: + label: + $ref: '#/components/schemas/PlacementGroupRequest/properties/label' responses: '200': description: The updated placement group. @@ -17282,7 +17283,7 @@ paths: description: | Add one or more compute instances to your placement group. Check out our [example API workflow](/docs/products/compute/compute-instances/guides/placement-groups/#create-a-placement-group) to create a placement group and add compute instances. operationId: placementGroupAddLinode - x-linode-cli-action: assignLinode + x-linode-cli-action: assign-linode security: - personalAccessToken: [] - oauth: @@ -17318,7 +17319,7 @@ paths: - lang: CLI source: > linode-cli placement assignLinode 528 \ - --linode 123 456 \ + --linodes 123 456 \ --non-compliant true /placement/groups/{groupId}/unassign: x-linode-cli-command: placement @@ -17336,7 +17337,7 @@ paths: summary: Placement Group Unassign description: | Remove one or more compute instances from your placement group. - x-linode-cli-action: unassignLinode + x-linode-cli-action: unassign-linode security: - personalAccessToken: [] - oauth: @@ -27677,6 +27678,7 @@ components: description: > The placement group's ID. You need to provide it for all operations impacting it. example: 528 + x-linode-cli-display: 1 label: type: string x-linode-cli-display: 1 @@ -27703,7 +27705,7 @@ components: description: | How compute instances are distributed in your placement group. `anti-affinity:local` places compute instances in separate fault domains, but still in the same region. - **Note**: With the beta release, only `anti_affinity:local` is available for `affinity_type`. + **Note**: With the limited availability release, only `anti_affinity:local` is available for `affinity_type`. example: anti-affinity:local is_compliant: type: boolean @@ -27747,7 +27749,8 @@ components: description: | Determine how compute instances are to be distributed in your placement group. Set to `anti-affinity:local` to place compute instances in separate fault domains, but still in the same region. This better supports a high-availability model. - **Note**: With the beta release, only `anti_affinity:local` is available for `affinity_type`. + **Note**: With the limited availability release, only `anti_affinity:local` is available for `affinity_type`. + x-linode-cli-display: 1 enum: - anti_affinity:local example: From 5dfbe9444368cf1fbe3f757d88e29c5b9782d724 Mon Sep 17 00:00:00 2001 From: Chris Verner Date: Tue, 7 May 2024 11:31:24 -0700 Subject: [PATCH 04/10] Updated version info --- openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi.yaml b/openapi.yaml index b09110947..163848c27 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.1 info: - version: 4.174.0 + version: 4.175.0 title: Linode API license: name: Apache 2.0 From 334353f5fac48b8449df390daf4e6fb3733ff9a4 Mon Sep 17 00:00:00 2001 From: Chris Verner Date: Tue, 7 May 2024 11:34:08 -0700 Subject: [PATCH 05/10] removed lingering compliant_only instance --- openapi.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 163848c27..3d84a3695 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -9068,8 +9068,7 @@ paths: -X POST -d '{ "region": "us-central", "placement_group": { - "id": 528, - "compliant_only": true + "id": 528 } }' \ https://api.linode.com/v4/linode/instances/123/migrate From 060263cbefaae104517f57991ec7e59c4daf3c01 Mon Sep 17 00:00:00 2001 From: Chris Verner Date: Tue, 7 May 2024 11:36:55 -0700 Subject: [PATCH 06/10] another lingering compliant_only instance --- openapi.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 3d84a3695..81b568e14 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -6642,8 +6642,7 @@ paths: "region": "us-east", "group": "Linode-Group", "placement_group": { - "id": 528, - "compliant_only": true + "id": 528 }, "metadata": { "user_data": "I2Nsb3VkLWNvbmZpZw==" From 4f6fdc51a2aa429dc5dba07c84cdcca11d84063f Mon Sep 17 00:00:00 2001 From: Chris Verner Date: Tue, 14 May 2024 08:25:12 -0700 Subject: [PATCH 07/10] Revert "Various requested fixes (#940)" (#942) This reverts commit c3a5b98d067a43b5f9399f58dddfb2f390f82e89. --- openapi.yaml | 327 +++++++++++++++++++++++++-------------------------- 1 file changed, 162 insertions(+), 165 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index ca632360c..73237cba8 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -893,18 +893,7 @@ paths: 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' + $ref: '#/components/schemas/ChildAccount' default: $ref: '#/components/responses/ErrorResponse' x-code-samples: @@ -2336,13 +2325,9 @@ paths: - 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. + Make the specified Payment Method the default method for automatically processing payments. - **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. + Removes the default status from any other Payment Method. operationId: makePaymentMethodDefault x-linode-cli-action: default security: @@ -2789,17 +2774,18 @@ paths: 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: + There are several conditions that must be met in order 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 account creating the transfer must not 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 must 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. The service must not be assigned to another Service Transfer that is pending or that has been accepted and is + incomplete. - 1. Linodes can't: + 1. Linodes must not: - * be assigned to a NodeBalancer, Firewall, VLAN, VPC, or Managed Service. + * be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service. * have any attached Block Storage Volumes. @@ -5947,7 +5933,7 @@ paths: 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]+)$ + pattern: \A(\*\.)?([a-zA-Z0-9-_]{1,63}\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)\Z minLength: 1 maxLength: 253 description: > @@ -8814,7 +8800,6 @@ paths: - ipv4.private - ipv4.shared - ipv4.reserved - - ipv4.vpc - ipv6.link_local - ipv6.slaac - ipv6.global @@ -8844,7 +8829,7 @@ paths: type: array readOnly: true items: - $ref: '#/components/schemas/IPAddressesVPC' + $ref: '#/components/schemas/IPAddressesVPCListResponse' description: > A list of Virtual Private Cloud (VPC)-specific addresses or ranges for the Linode. reserved: @@ -13270,23 +13255,30 @@ paths: - Networking summary: IP Addresses List description: | - Returns a paginated list of IP addresses on your account, excluding private addresses. + 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. + We recommend utilizing the "skip_ipv6_rdns" option to improve performance if your application frequently accesses this command and does not 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 - default: false + requestBody: + description: Options to request additional data. + required: true + content: + application/json: + schema: + type: object + properties: + skip_ipv6_rdns: + type: boolean + default: false + description: | + When `true`, the "rdns" property for any "ipv6" type addresses always returns `null` regardless of whether RDNS data exists for the address. + + The default value is `false`. responses: '200': description: A paginated list of IP Addresses. @@ -13300,10 +13292,14 @@ paths: - lang: Shell source: > curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/networking/ips?skip_ipv6_rdns=true + -H "Content-Type: application/json" \ + -X GET -d '{ + "skip_ipv6_rdns": false + }' \ + https://api.linode.com/v4/networking/ips - lang: CLI source: > - linode-cli networking ips-list + linode-cli networking ips-list --skip_ipv6_rdns false post: x-linode-grant: read_write tags: @@ -16585,18 +16581,9 @@ paths: properties: data: type: array + description: This page of objects in the bucket. 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: @@ -20195,17 +20182,7 @@ paths: 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' + $ref: '#/components/schemas/IPAddressesVPCListResponse' default: $ref: '#/components/responses/ErrorResponse' x-code-samples: @@ -20244,7 +20221,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/IPAddressesVPC' + $ref: '#/components/schemas/IPAddressesVPCListResponse' default: $ref: '#/components/responses/ErrorResponse' x-code-samples: @@ -22256,7 +22233,7 @@ components: 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]+)$ + pattern: \A(\*\.)?([a-zA-Z0-9-_]{1,63}\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)\Z minLength: 1 maxLength: 253 description: > @@ -23818,7 +23795,7 @@ components: format: ipv4 description: | The IPv4 address that is configured as a 1:1 NAT for this VPC interface. - example: 192.168.0.42 + example: 192.0.2.1 IPAddressesAssignRequest: type: object description: Request object for IP Addresses Assign (POST /networking/ips/assign). @@ -23958,7 +23935,7 @@ components: 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. + 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: @@ -23980,7 +23957,6 @@ components: 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) @@ -24007,107 +23983,113 @@ components: * 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: + IPAddressesVPCListResponse: 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 + data: + type: array + items: + 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. 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 `null` if the VPC interface uses an `address_range` or NAT 1:1 isn't used. + example: null + nullable: true + 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: > @@ -27238,7 +27220,8 @@ components: ObjectStorageObject: type: object description: > - An Object in Object Storage, or a "prefix" that contains one or more objects when a `delimiter` is used. + An Object in Object Storage, or a "prefix" that contains one + or more objects when a `delimiter` is used. properties: name: type: string @@ -27254,18 +27237,32 @@ components: type: string format: date-time description: > - The date and time this object was last modified. `null` if this object represents a prefix. + 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 representsa prefix. + 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 representsa prefix. + The size of this object, in bytes. `null` if this object represents + a prefix. example: 123 + 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 ObjectStorageCluster: type: object description: An Object Storage Cluster From fdd489be45523e29c96c2cccc06512b5ac015f27 Mon Sep 17 00:00:00 2001 From: sandrajsalomone <128553485+sandrajsalomone@users.noreply.github.com> Date: Wed, 15 May 2024 11:42:33 -0400 Subject: [PATCH 08/10] cloud load balancer (#946) --- openapi.yaml | 19776 +++++++++++++++++++++++++++---------------------- 1 file changed, 11043 insertions(+), 8733 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 73237cba8..67af812d6 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.1 info: - version: 4.175.0 + version: 4.176.0 title: Linode API license: name: Apache 2.0 @@ -146,7 +146,7 @@ info: |-----------------------|--------| | **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.

| + | **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.
  • `aclb:read_only` - Allows access to GET Cloud Load Balancers on your Account.
  • `aclb:read_write` - Allows access to all Cloud Load Balancer endpoints.
  • `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 @@ -432,15 +432,15 @@ info: url: https://linode.com email: support@linode.com servers: -- url: https://api.linode.com/v4 -- url: https://api.linode.com/v4beta + - 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 + - Account summary: Account View description: > Returns the contact and billing information related to @@ -448,30 +448,30 @@ paths: operationId: getAccount x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a single Account object. content: application/json: schema: - $ref: '#/components/schemas/Account' + $ref: "#/components/schemas/Account" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -488,9 +488,9 @@ paths: operationId: updateAccount x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: | Updated contact and billing information. @@ -498,51 +498,51 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Account' + $ref: "#/components/schemas/Account" responses: - '200': + "200": description: The updated Account. content: application/json: schema: - $ref: '#/components/schemas/Account' + $ref: "#/components/schemas/Account" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -560,36 +560,36 @@ paths: servers: - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only x-linode-cli-action: get-availability x-linode-grant: read_only responses: - '200': + "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' + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/AccountAvailability" + - $ref: "#/components/schemas/PaginationEnvelope" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -601,7 +601,7 @@ paths: type: string get: tags: - - account + - account summary: Region Service Availability description: | View the available services for your account in a specific region. @@ -611,9 +611,9 @@ paths: servers: - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only x-linode-cli-action: get-account-availability x-linode-grant: read_only responses: @@ -622,74 +622,74 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/AccountAvailability' + $ref: "#/components/schemas/AccountAvailability" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Beta Programs summary: Enrolled Beta Programs List operationId: getEnrolledBetaPrograms servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only x-linode-cli-action: enrolled x-linode-grant: unrestricted only parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $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': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/BetaProgramEnrolled" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Beta Programs summary: Beta Program Enroll operationId: enrollBetaProgram servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write x-linode-cli-action: enroll x-linode-grant: unrestricted only description: | @@ -709,48 +709,48 @@ paths: application/json: schema: required: - - id + - id type: object description: The Beta Program ID to enroll in for your Account. properties: id: - $ref: '#/components/schemas/BetaProgram/properties/id' + $ref: "#/components/schemas/BetaProgram/properties/id" responses: - '200': + "200": description: Enrollment request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/betaId" get: tags: - - Beta Programs + - Beta Programs summary: Enrolled Beta Program View operationId: getEnrolledBetaProgram servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only x-linode-cli-action: enrolled-view x-linode-grant: unrestricted only description: | @@ -758,28 +758,28 @@ paths: Only unrestricted Users can access this command. responses: - '200': + "200": description: Returns an enrolled Beta Program object for the Account. content: application/json: schema: - $ref: '#/components/schemas/BetaProgramEnrolled' + $ref: "#/components/schemas/BetaProgramEnrolled" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Account summary: Account Cancel description: > Cancels an active Linode account. Akamai attempts to charge the credit card on file for any remaining @@ -799,9 +799,9 @@ paths: operationId: cancelAccount x-linode-cli-action: cancel security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > Supply a comment stating the reason that you are cancelling your account. @@ -817,7 +817,7 @@ paths: you might have about your Linode service. example: "I'm consolidating multiple accounts into one." responses: - '200': + "200": description: Account canceled content: application/json: @@ -827,8 +827,8 @@ paths: survey_link: type: string description: A link to Linode's exit survey. - example: {"survey_link": "https://alinktothesurvey.com"} - '409': + example: { "survey_link": "https://alinktothesurvey.com" } + "409": description: Could not charge the credit card on file content: application/json: @@ -851,7 +851,7 @@ paths: card for services rendered. We cannot cancel this account until the balance has been paid. default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -893,7 +893,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ChildAccount' + 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: @@ -1015,7 +1026,7 @@ paths: x-linode-cli-skip: true x-linode-grant: read_write tags: - - Account + - Account summary: Credit Card Add/Edit description: | **DEPRECATED**. Please use Payment Method Add ([POST /account/payment-methods](/docs/api/account/#payment-method-add)). @@ -1024,25 +1035,25 @@ paths: operationId: createCreditCard x-linode-cli-action: update-card security: - - personalAccessToken: [] - - oauth: - - account:read_write + - 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' + $ref: "#/components/schemas/CreditCard" responses: - '200': + "200": description: Credit Card updated. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1068,20 +1079,20 @@ paths: x-linode-grant: unrestricted only x-linode-cli-skip: true parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "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. @@ -1089,68 +1100,68 @@ paths: application/json: schema: allOf: - - $ref: '#/components/schemas/PaginationEnvelope' - - properties: - data: - type: array - items: - $ref: '#/components/schemas/EntityTransfer' + - $ref: "#/components/schemas/PaginationEnvelope" + - properties: + data: + type: array + items: + $ref: "#/components/schemas/EntityTransfer" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/account/entity-transfers + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The entities to include in this transfer request. content: application/json: schema: required: - - entities + - entities type: object properties: entities: - $ref: '#/components/schemas/EntityTransfer/properties/entities' + $ref: "#/components/schemas/EntityTransfer/properties/entities" responses: - '200': + "200": description: > Returns an Entity Transfer object for the request. content: application/json: schema: - $ref: '#/components/schemas/EntityTransfer' + $ref: "#/components/schemas/EntityTransfer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -1165,46 +1176,46 @@ paths: x-linode-grant: unrestricted only x-linode-cli-skip: true tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "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' + $ref: "#/components/schemas/EntityTransfer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: > Entity Transfer canceled. content: @@ -1212,13 +1223,13 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -1233,17 +1244,17 @@ paths: x-linode-grant: unrestricted only x-linode-cli-skip: true tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: > Entity Transfer accepted. content: @@ -1251,40 +1262,40 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - 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. + 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 + - personalAccessToken: [] + - oauth: + - events:read_only responses: - '200': + "200": description: > - Returns a paginated lists of Event objects from - the last 90 days. + Returns a paginated lists of Event objects from + the last 90 days. content: application/json: schema: @@ -1293,23 +1304,23 @@ paths: data: type: array items: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -1322,33 +1333,33 @@ paths: get: x-linode-grant: read_only tags: - - Account + - Account summary: Event View description: > - Returns a single Event object. + Returns a single Event object. operationId: getEvent x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - events:read_only + - personalAccessToken: [] + - oauth: + - events:read_only responses: - '200': + "200": description: An Event object content: application/json: schema: - $ref: '#/components/schemas/Event' + $ref: "#/components/schemas/Event" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -1361,24 +1372,24 @@ paths: post: x-linode-grant: read_only tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - events:read_only responses: - '200': + "200": description: Event read. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1401,25 +1412,25 @@ paths: post: x-linode-grant: read_write tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - events:read_only responses: - '200': + "200": description: Events seen. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1435,21 +1446,21 @@ paths: get: x-linode-grant: read_only parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of Invoice objects. content: application/json: @@ -1459,15 +1470,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/Invoice' + $ref: "#/components/schemas/Invoice" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1488,24 +1499,24 @@ paths: get: x-linode-grant: read_only tags: - - Account + - Account summary: Invoice View description: Returns a single Invoice object. operationId: getInvoice x-linode-cli-action: invoice-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: An Invoice object content: application/json: schema: - $ref: '#/components/schemas/Invoice' + $ref: "#/components/schemas/Invoice" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1526,20 +1537,20 @@ paths: get: x-linode-grant: read_only parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of InvoiceItem objects content: application/json: @@ -1549,15 +1560,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/InvoiceItem' + $ref: "#/components/schemas/InvoiceItem" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1570,7 +1581,7 @@ paths: x-linode-cli-command: account get: tags: - - Account + - Account summary: User Logins List All description: > Returns a collection of successful logins for all users on the account during the last @@ -1578,11 +1589,11 @@ paths: operationId: getAccountLogins x-linode-cli-action: logins-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: > A collection of successful logins for all users on the account during the last 90 days. @@ -1594,35 +1605,35 @@ paths: data: type: array items: - $ref: '#/components/schemas/Login' + $ref: "#/components/schemas/Login" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer + - name: loginId + in: path + description: The ID of the login object to access. + required: true + schema: + type: integer x-linode-cli-command: account get: tags: - - Account + - Account summary: Login View description: > Returns a Login object that displays information about a successful login. @@ -1632,35 +1643,35 @@ paths: operationId: getAccountLogin x-linode-cli-action: login-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested login object. content: application/json: schema: - $ref: '#/components/schemas/Login' + $ref: "#/components/schemas/Login" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta tags: - - Account + - 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. @@ -1669,10 +1680,10 @@ paths: operationId: getMaintenance x-linode-cli-action: maintenance-list security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "200": description: Returns a paginated list of Maintenance objects. content: application/json: @@ -1682,15 +1693,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/Maintenance' + $ref: "#/components/schemas/Maintenance" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1704,7 +1715,7 @@ paths: get: x-linode-grant: read_only tags: - - Account + - Account summary: Notifications List description: > Returns a collection of Notification objects representing @@ -1717,11 +1728,11 @@ paths: operationId: getNotifications x-linode-cli-action: notifications-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of Notification objects. content: application/json: @@ -1731,15 +1742,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/Notification' + $ref: "#/components/schemas/Notification" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1753,10 +1764,10 @@ paths: get: x-linode-grant: read_only parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - Account summary: OAuth Clients List description: > Returns a paginated list of OAuth Clients registered to your Account. OAuth @@ -1766,11 +1777,11 @@ paths: operationId: getClients x-linode-cli-action: clients-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of OAuth Clients. content: application/json: @@ -1780,15 +1791,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/OAuthClient' + $ref: "#/components/schemas/OAuthClient" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1799,7 +1810,7 @@ paths: linode-cli account clients-list post: tags: - - Account + - Account summary: OAuth Client Create description: > Creates an OAuth Client, which can be used to allow users @@ -1808,28 +1819,28 @@ paths: operationId: createClient x-linode-cli-action: client-create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the OAuth Client to create. content: application/json: schema: allOf: - - $ref: '#/components/schemas/OAuthClient' + - $ref: "#/components/schemas/OAuthClient" required: - - label - - redirect_uri + - label + - redirect_uri responses: - '200': + "200": description: Client created successfully. content: application/json: schema: - $ref: '#/components/schemas/OAuthClient' + $ref: "#/components/schemas/OAuthClient" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1857,25 +1868,25 @@ paths: x-linode-cli-command: account get: tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Information about the requested client. content: application/json: schema: - $ref: '#/components/schemas/OAuthClient' + $ref: "#/components/schemas/OAuthClient" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1887,7 +1898,7 @@ paths: edc6790ea9db4d224c5c put: tags: - - Account + - Account summary: OAuth Client Update description: > Update information about an OAuth Client on your Account. This can be @@ -1896,24 +1907,24 @@ paths: operationId: updateClient x-linode-cli-action: client-update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The fields to update. content: application/json: schema: - $ref: '#/components/schemas/OAuthClient' + $ref: "#/components/schemas/OAuthClient" responses: - '200': + "200": description: Client updated successfully. content: application/json: schema: - $ref: '#/components/schemas/OAuthClient' + $ref: "#/components/schemas/OAuthClient" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1932,7 +1943,7 @@ paths: --label Test_Client_1 delete: tags: - - Account + - Account summary: OAuth Client Delete description: > Deletes an OAuth Client registered with Linode. The Client ID and @@ -1942,18 +1953,18 @@ paths: operationId: deleteClient x-linode-cli-action: client-delete security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Client deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -1975,7 +1986,7 @@ paths: type: string post: tags: - - Account + - Account summary: OAuth Client Secret Reset description: > Resets the OAuth Client secret for a client you own, and returns the @@ -1987,18 +1998,18 @@ paths: operationId: resetClientSecret x-linode-cli-action: client-reset-secret security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Client secret reset successfully. content: application/json: schema: - $ref: '#/components/schemas/OAuthClient' + $ref: "#/components/schemas/OAuthClient" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2021,7 +2032,7 @@ paths: type: string get: tags: - - Account + - Account summary: OAuth Client Thumbnail View description: > Returns the thumbnail for this OAuth Client. This is a @@ -2030,7 +2041,7 @@ paths: x-linode-cli-skip: true x-linode-cli-action: client-thumbnail responses: - '200': + "200": description: The client's thumbnail. content: image/png: @@ -2038,7 +2049,7 @@ paths: type: string format: binary default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2046,7 +2057,7 @@ paths: https://api.linode.com/v4/account/oauth-clients/edc6790ea9db4d224c5c/thumbnail > thumbnail.png put: tags: - - Account + - Account summary: OAuth Client Thumbnail Update description: > Upload a thumbnail for a client you own. You must upload an image file @@ -2056,9 +2067,9 @@ paths: x-linode-cli-skip: true x-linode-cli-action: update-client-thumbnail security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The image to set as the thumbnail. required: true @@ -2068,22 +2079,22 @@ paths: type: string format: binary responses: - '200': + "200": description: Thumbnail updated successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -2091,8 +2102,8 @@ paths: - url: https://api.linode.com/v4 - url: https://api.linode.com/v4beta parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" x-linode-grant: read_only tags: - Account @@ -2106,9 +2117,9 @@ paths: security: - personalAccessToken: [] - oauth: - - account:read_only + - account:read_only responses: - '200': + "200": description: Returns a paginated list of Payment Method objects. content: application/json: @@ -2118,15 +2129,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/PaymentMethod' + $ref: "#/components/schemas/PaymentMethod" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2166,7 +2177,7 @@ paths: security: - personalAccessToken: [] - oauth: - - account:read_write + - account:read_write requestBody: description: The details of the Payment Method to add. required: true @@ -2189,20 +2200,20 @@ paths: 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' + example: "credit_card" is_default: - $ref: '#/components/schemas/PaymentMethod/properties/is_default' + $ref: "#/components/schemas/PaymentMethod/properties/is_default" data: - $ref: '#/components/schemas/CreditCard' + $ref: "#/components/schemas/CreditCard" responses: - '200': + "200": description: Payment Method added. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2231,12 +2242,12 @@ paths: /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. - required: true - schema: - type: integer + - name: paymentMethodId + in: path + description: The ID of the Payment Method to look up. + required: true + schema: + type: integer get: servers: - url: https://api.linode.com/v4 @@ -2251,16 +2262,16 @@ paths: security: - personalAccessToken: [] - oauth: - - account:read_only + - account:read_only responses: - '200': + "200": description: Returns a Payment Method Object. content: application/json: schema: - $ref: '#/components/schemas/PaymentMethod' + $ref: "#/components/schemas/PaymentMethod" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2289,16 +2300,16 @@ paths: security: - personalAccessToken: [] - oauth: - - account:read_only + - account:read_only responses: - '200': + "200": description: Payment Method deactivated. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2311,12 +2322,12 @@ paths: /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. - required: true - schema: - type: integer + - name: paymentMethodId + in: path + description: The ID of the Payment Method to make default. + required: true + schema: + type: integer post: servers: - url: https://api.linode.com/v4 @@ -2325,24 +2336,28 @@ paths: - Account summary: Payment Method Make Default description: | - Make the specified Payment Method the default method for automatically processing payments. + Make the specified Payment Method the default method for automatically processing payments. Removes the default status from any other Payment Method. - 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 + - account:read_write responses: - '200': + "200": description: Payment Method successfully set as the default method. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2356,22 +2371,22 @@ paths: x-linode-cli-command: account get: parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" x-linode-grant: read_only tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of Payment objects. content: application/json: @@ -2381,15 +2396,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/Payment' + $ref: "#/components/schemas/Payment" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2401,7 +2416,7 @@ paths: post: x-linode-grant: read_write tags: - - Account + - Account summary: Payment Make description: | Makes a Payment to your Account. @@ -2418,9 +2433,9 @@ paths: operationId: createPayment x-linode-cli-action: payment-create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the Payment you are making. required: true @@ -2446,16 +2461,16 @@ paths: The ID of the Payment Method to apply to the Payment. example: 123 responses: - '200': + "200": description: Payment submitted successfully. content: application/json: schema: - $ref: '#/components/schemas/Payment' - '202': - $ref: '#/components/responses/AcceptedResponse' + $ref: "#/components/schemas/Payment" + "202": + $ref: "#/components/responses/AcceptedResponse" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2474,34 +2489,34 @@ paths: /account/payments/{paymentId}: x-linode-cli-command: account parameters: - - name: paymentId - in: path - description: The ID of the Payment to look up. - required: true - schema: - type: integer + - name: paymentId + in: path + description: The ID of the Payment to look up. + required: true + schema: + type: integer get: x-linode-grant: read_only tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A Payment object. content: application/json: schema: - $ref: '#/components/schemas/Payment' + $ref: "#/components/schemas/Payment" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2517,16 +2532,16 @@ paths: deprecated: true x-linode-cli-skip: true tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > The amount of the Payment to submit via PayPal. @@ -2534,9 +2549,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PayPal' + $ref: "#/components/schemas/PayPal" responses: - '200': + "200": description: PayPal Payment staged. content: application/json: @@ -2544,21 +2559,21 @@ paths: 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 + 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' + 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' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2583,16 +2598,16 @@ paths: deprecated: true x-linode-cli-skip: true tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > The details of the Payment to execute. @@ -2600,20 +2615,20 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PayPalExecute' + $ref: "#/components/schemas/PayPalExecute" responses: - '200': + "200": description: PayPal Payment executed. content: application/json: - schema: - type: object - '202': - $ref: '#/components/responses/AcceptedResponse' - '299': - $ref: '#/components/responses/DeprecatedResponse' + schema: + type: object + "202": + $ref: "#/components/responses/AcceptedResponse" + "299": + $ref: "#/components/responses/DeprecatedResponse" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -2655,14 +2670,14 @@ paths: security: - personalAccessToken: [] - oauth: - - account:read_only + - account:read_only requestBody: description: Enter a Promo Code to add its associated credit to your Account. content: application/json: schema: required: - - promo_code + - promo_code type: object properties: promo_code: @@ -2672,38 +2687,38 @@ paths: description: | The Promo Code. responses: - '200': + "200": description: > Promo Credit successfully added. content: application/json: schema: - $ref: '#/components/schemas/Promotion' + $ref: "#/components/schemas/Promotion" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - Account summary: Service Transfers List description: > Returns a collection of all created and accepted Service Transfers for this account, regardless of the user @@ -2716,11 +2731,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "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. @@ -2732,28 +2747,28 @@ paths: data: type: array items: - $ref: '#/components/schemas/ServiceTransfer' + $ref: "#/components/schemas/ServiceTransfer" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Account summary: Service Transfer Create description: | Creates a transfer request for the specified services. A request can contain any of the specified service types @@ -2774,18 +2789,17 @@ paths: This command can only be accessed by the unrestricted users of an account. - There are several conditions that must be met in order to successfully create a transfer request: + There are several conditions that you need to meet to successfully create a transfer request: - 1. The account creating the transfer must not have a past due balance or active Terms of Service violation. + 1. The account creating the transfer can't have a past due balance or active Terms of Service violation. - 1. The service must be owned by the account that is creating the transfer. + 1. The service needs to be owned by the account that is creating the transfer. - 1. The service must not be assigned to another Service Transfer that is pending or that has been accepted and is - incomplete. + 1. The service can't be assigned to another Service Transfer that is pending or that's been accepted and is incomplete. - 1. Linodes must not: + 1. Linodes can't: - * be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service. + * be assigned to a NodeBalancer, Firewall, VLAN, VPC, or Managed Service. * have any attached Block Storage Volumes. @@ -2795,50 +2809,50 @@ paths: operationId: createServiceTransfer x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The services to include in this transfer request. content: application/json: schema: required: - - entities + - entities type: object properties: entities: - $ref: '#/components/schemas/ServiceTransfer/properties/entities' + $ref: "#/components/schemas/ServiceTransfer/properties/entities" responses: - '200': + "200": description: > Returns a Service Transfer object for the request. content: application/json: schema: - $ref: '#/components/schemas/ServiceTransfer' + $ref: "#/components/schemas/ServiceTransfer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -2852,7 +2866,7 @@ paths: get: x-linode-grant: unrestricted only tags: - - Account + - Account summary: Service Transfer View description: | Returns the details of the Service Transfer for the provided token. @@ -2864,32 +2878,32 @@ paths: operationId: getServiceTransfer x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "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' + $ref: "#/components/schemas/ServiceTransfer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -2900,11 +2914,11 @@ paths: operationId: deleteServiceTransfer x-linode-cli-action: cancel security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: > Service Transfer canceled. content: @@ -2912,17 +2926,17 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -2936,7 +2950,7 @@ paths: post: x-linode-grant: unrestricted only tags: - - Account + - Account summary: Service Transfer Accept description: | Accept a Service Transfer for the provided token to receive the services included in the transfer to your @@ -2976,11 +2990,11 @@ paths: operationId: acceptServiceTransfer x-linode-cli-action: accept security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: > Service Transfer accepted. content: @@ -2988,23 +3002,23 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Account summary: Account Settings View description: > Returns information related to @@ -3013,18 +3027,18 @@ paths: operationId: getAccountSettings x-linode-cli-action: settings security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a single Account settings object. content: application/json: schema: - $ref: '#/components/schemas/AccountSettings' + $ref: "#/components/schemas/AccountSettings" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3036,32 +3050,32 @@ paths: put: x-linode-grant: read_write tags: - - Account + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Update Account settings information. required: true content: application/json: schema: - $ref: '#/components/schemas/AccountSettings' + $ref: "#/components/schemas/AccountSettings" responses: - '200': + "200": description: The updated Account settings. content: application/json: schema: - $ref: '#/components/schemas/AccountSettings' + $ref: "#/components/schemas/AccountSettings" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3080,7 +3094,7 @@ paths: post: x-linode-grant: read_write tags: - - Account + - Account summary: Linode Managed Enable description: > Enables Linode Managed for the entire account and sends a welcome email to the account's associated @@ -3090,18 +3104,18 @@ paths: operationId: enableAccountManaged x-linode-cli-action: enable-managed security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Managed services enabled for account. content: application/json: - schema: - type: object + schema: + type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3116,7 +3130,7 @@ paths: get: x-linode-grant: read_only tags: - - Account + - Account summary: Network Utilization View description: > Returns a Transfer object showing your network utilization, @@ -3124,20 +3138,20 @@ paths: operationId: getTransfer x-linode-cli-action: transfer security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a single Transfer object. content: application/json: x-linode-cli-subtables: - - region_transfers + - region_transfers schema: - $ref: '#/components/schemas/Transfer' + $ref: "#/components/schemas/Transfer" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3151,10 +3165,10 @@ paths: get: x-linode-grant: unrestricted only parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Account + - Account summary: Users List description: | Returns a paginated list of all users on your account. @@ -3171,9 +3185,9 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: '200': description: A paginated list of users. @@ -3189,13 +3203,13 @@ paths: - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/UserType' page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3207,7 +3221,7 @@ paths: post: x-linode-grant: unrestricted only tags: - - Account + - 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. @@ -3228,28 +3242,28 @@ paths: operationId: createUser x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the User to create. content: application/json: schema: allOf: - - $ref: '#/components/schemas/User' + - $ref: "#/components/schemas/User" required: - - username - - email + - username + - email responses: - '200': + "200": description: New User created successfully. content: application/json: schema: - $ref: '#/components/schemas/User' + $ref: "#/components/schemas/User" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3279,7 +3293,7 @@ paths: get: x-linode-grant: unrestricted only tags: - - Account + - Account summary: User View description: | Returns information about a single user on your account. @@ -3288,11 +3302,11 @@ paths: operationId: getUser x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested User object content: application/json: @@ -3302,7 +3316,7 @@ paths: - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/UserType' default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3314,7 +3328,7 @@ paths: put: x-linode-grant: unrestricted only tags: - - Account + - 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 @@ -3334,17 +3348,17 @@ paths: operationId: updateUser x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The information to update. content: application/json: schema: - $ref: '#/components/schemas/User' + $ref: "#/components/schemas/User" responses: - '200': + "200": description: User updated successfully. content: application/json: @@ -3353,7 +3367,7 @@ paths: - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/UserType' default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3374,7 +3388,7 @@ paths: delete: x-linode-grant: unrestricted only tags: - - Account + - Account summary: User Delete description: | Deletes a user. The API immediately logs the user out and removes all of its `grants`. @@ -3393,18 +3407,18 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: User deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3426,7 +3440,7 @@ paths: get: x-linode-grant: unrestricted only tags: - - Account + - 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. @@ -3438,22 +3452,22 @@ paths: x-linode-cli-action: grants x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The User's grants. content: application/json: schema: - $ref: '#/components/schemas/GrantsResponse' - '204': + $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' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3462,7 +3476,7 @@ paths: put: x-linode-grant: unrestricted only tags: - - Account + - Account summary: User's Grants Update description: | Update the grants a user has. This can be used to give a user access @@ -3485,25 +3499,25 @@ paths: x-linode-cli-action: update-grants x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - account:read_write + - 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' + $ref: "#/components/schemas/GrantsResponse" responses: - '200': + "200": description: Grants updated successfully. content: application/json: schema: - $ref: '#/components/schemas/GrantsResponse' + $ref: "#/components/schemas/GrantsResponse" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -3512,6 +3526,7 @@ paths: -X PUT -d '{ "global": { "add_linodes": true, + "add_loadbalancers": true, "add_nodebalancers": false, "add_databases": true, "add_domains": true, @@ -3595,63 +3610,63 @@ paths: x-linode-cli-command: betas get: tags: - - Beta Programs + - Beta Programs summary: Beta Programs List operationId: getBetaPrograms servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] x-linode-cli-action: - - list - - ls + - list + - ls x-linode-grant: unrestricted only parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" description: | Display all active Beta Programs. Only unrestricted Users can access this command. responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/BetaProgram" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/betaId" get: tags: - - Beta Programs + - Beta Programs summary: Beta Program View operationId: getBetaProgram servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] x-linode-cli-action: view x-linode-grant: unrestricted only description: | @@ -3659,63 +3674,63 @@ paths: Only unrestricted Users can access this command. responses: - '200': + "200": description: Returns a paginated list of all available Beta Program objects. content: application/json: schema: - $ref: '#/components/schemas/BetaProgram' + $ref: "#/components/schemas/BetaProgram" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed Database Engines List operationId: getDatabasesEngines servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $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': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/DatabaseEngine" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - lang: Shell + source: > + curl https://api.linode.com/v4/databases/engines/ + - lang: CLI + source: > + linode-cli databases engines /databases/engines/{engineId}: parameters: - name: engineId @@ -3727,53 +3742,53 @@ paths: x-linode-cli-command: databases get: tags: - - Databases + - Databases summary: Managed Database Engine View operationId: getDatabasesEngine servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $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': + "200": description: Returns information for a single Managed Database engine type and version. content: application/json: schema: - $ref: '#/components/schemas/DatabaseEngine' + $ref: "#/components/schemas/DatabaseEngine" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed Databases List All operationId: getDatabasesInstances servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" description: | **This command is currently only available for customers who already have an active Managed Database.** @@ -3781,88 +3796,88 @@ paths: For more detailed information on a particular Database instance, make a request to its `instance_uri`. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/Database" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed MySQL Databases List operationId: getDatabasesMySQLInstances servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $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 + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/DatabaseMySQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed MySQL Database Create operationId: postDatabasesMySQLInstances servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: mysql-create x-linode-grant: add_databases description: | @@ -3892,62 +3907,62 @@ paths: * 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 + - personalAccessToken: [] + - oauth: + - databases:read_write requestBody: description: Information about the Managed MySQL Database you are creating. x-linode-cli-allowed-defaults: - - engine - - region - - type + - engine + - region + - type required: true content: application/json: schema: - $ref: '#/components/schemas/DatabaseMySQLRequest' + $ref: "#/components/schemas/DatabaseMySQLRequest" responses: - '200': + "200": description: A new Managed MySQL Database is provisioning. content: application/json: schema: - $ref: '#/components/schemas/DatabaseMySQL' + $ref: "#/components/schemas/DatabaseMySQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -3959,12 +3974,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed MySQL Database View operationId: getDatabasesMySQLInstance servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: mysql-view x-linode-grant: read_only description: | @@ -3972,34 +3987,34 @@ paths: Display information for a single, accessible Managed MySQL Database. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "200": description: Returns information for a single Managed MySQL Database. content: application/json: schema: - $ref: '#/components/schemas/DatabaseMySQL' + $ref: "#/components/schemas/DatabaseMySQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed MySQL Database Delete operationId: deleteDatabasesMySQLInstance servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: mysql-delete x-linode-grant: read_write description: | @@ -4013,35 +4028,35 @@ paths: Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Managed MySQL Database successfully deleted. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: mysql-update x-linode-grant: read_write description: | @@ -4069,9 +4084,9 @@ paths: * **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 + - personalAccessToken: [] + - oauth: + - databases:read_write requestBody: description: Updated information for the Managed MySQL Database. required: true @@ -4082,11 +4097,11 @@ paths: description: Updated information for the Managed MySQL Database. properties: label: - $ref: '#/components/schemas/DatabaseMySQLRequest/properties/label' + $ref: "#/components/schemas/DatabaseMySQLRequest/properties/label" allow_list: - $ref: '#/components/schemas/DatabaseMySQLRequest/properties/allow_list' + $ref: "#/components/schemas/DatabaseMySQLRequest/properties/allow_list" updates: - $ref: '#/components/schemas/DatabaseMySQL/properties/updates' + $ref: "#/components/schemas/DatabaseMySQL/properties/updates" type: type: string description: | @@ -4101,47 +4116,47 @@ paths: * 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': + "200": description: Managed Database updated successfully. content: application/json: schema: - $ref: '#/components/schemas/DatabaseMySQL' + $ref: "#/components/schemas/DatabaseMySQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4153,17 +4168,17 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed MySQL Database Backups List operationId: getDatabasesMySQLInstanceBackups servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" description: | **This command is currently only available for customers who already have an active Managed Database.** @@ -4175,41 +4190,41 @@ paths: 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 + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/DatabaseBackup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed MySQL Database Backup Snapshot Create operationId: postDatabasesMySQLInstanceBackup servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -4225,39 +4240,39 @@ paths: 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 + - personalAccessToken: [] + - oauth: + - databases:read_write requestBody: description: Information about the snapshot backup to create. content: application/json: schema: - $ref: '#/components/schemas/DatabaseBackupSnapshot' + $ref: "#/components/schemas/DatabaseBackupSnapshot" responses: - '200': + "200": description: Database snapshot backup request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4275,12 +4290,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed MySQL Database Backup View operationId: getDatabasesMySQLInstanceBackup servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -4290,34 +4305,34 @@ paths: The Database must not be provisioning to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Returns a single backup for the Managed MySQL Database. content: application/json: schema: - $ref: '#/components/schemas/DatabaseBackup' + $ref: "#/components/schemas/DatabaseBackup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed MySQL Database Backup Delete operationId: deleteDatabaseMySQLInstanceBackup servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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.** @@ -4328,27 +4343,27 @@ paths: The Database must not be provisioning to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Request to delete Database backup successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4366,12 +4381,12 @@ paths: type: integer post: tags: - - Databases + - Databases summary: Managed MySQL Database Backup Restore operationId: postDatabasesMySQLInstanceBackupRestore servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -4387,26 +4402,26 @@ paths: **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 + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Request to restore backup successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4418,12 +4433,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed MySQL Database Credentials View operationId: getDatabasesMySQLInstanceCredentials servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -4433,26 +4448,26 @@ paths: The Database must have an `active` status to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "200": description: Managed Database root username and password. content: application/json: schema: - $ref: '#/components/schemas/DatabaseCredentials' + $ref: "#/components/schemas/DatabaseCredentials" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4464,12 +4479,12 @@ paths: type: integer post: tags: - - Databases + - Databases summary: Managed MySQL Database Credentials Reset operationId: postDatabasesMySQLInstanceCredentialsReset servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -4485,26 +4500,26 @@ paths: **Note**: Note that it may take several seconds for credentials to reset. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Managed Database instance credentials successfully reset. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4516,12 +4531,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed MySQL Database SSL Certificate View operationId: getDatabasesMySQLInstanceSSL servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -4531,26 +4546,26 @@ paths: The Database must have an `active` status to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "200": description: Returns the SSL CA certificate of a single Managed MySQL Database. content: application/json: schema: - $ref: '#/components/schemas/DatabaseSSL' + $ref: "#/components/schemas/DatabaseSSL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4562,12 +4577,12 @@ paths: type: integer post: tags: - - Databases + - Databases summary: Managed MySQL Database Patch operationId: postDatabasesMySQLInstancePatch servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: mysql-patch x-linode-grant: read_write description: | @@ -4585,82 +4600,82 @@ paths: * **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 + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Managed Database instance patch request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed PostgreSQL Databases List operationId: getDatabasesPostgreSQLInstances servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $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 + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/DatabasePostgreSQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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.** @@ -4689,64 +4704,64 @@ paths: * 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 + - personalAccessToken: [] + - oauth: + - databases:read_write requestBody: description: Information about the Managed PostgreSQL Database you are creating. x-linode-cli-allowed-defaults: - - engine - - region - - type + - engine + - region + - type required: true content: application/json: schema: - $ref: '#/components/schemas/DatabasePostgreSQLRequest' + $ref: "#/components/schemas/DatabasePostgreSQLRequest" responses: - '200': + "200": description: A new Managed PostgreSQL Database is provisioning. content: application/json: schema: - $ref: '#/components/schemas/DatabasePostgreSQL' + $ref: "#/components/schemas/DatabasePostgreSQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4758,12 +4773,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed PostgreSQL Database View operationId: getDatabasesPostgreSQLInstance servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: postgresql-view x-linode-grant: read_only description: | @@ -4771,34 +4786,34 @@ paths: Display information for a single, accessible Managed PostgreSQL Database. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "200": description: Returns information for a single Managed PostgreSQL Database. content: application/json: schema: - $ref: '#/components/schemas/DatabasePostgreSQL' + $ref: "#/components/schemas/DatabasePostgreSQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed PostgreSQL Database Delete operationId: deleteDatabasesPostgreSQLInstance servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: postgresql-delete x-linode-grant: read_write description: | @@ -4812,35 +4827,35 @@ paths: Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Managed PostgreSQL Database successfully deleted. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed PostgreSQL Database Update operationId: putDatabasesPostgreSQLInstance servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: postgresql-update x-linode-grant: read_write description: | @@ -4868,9 +4883,9 @@ paths: * **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 + - personalAccessToken: [] + - oauth: + - databases:read_write requestBody: description: Updated information for the Managed PostgreSQL Database. required: true @@ -4881,11 +4896,11 @@ paths: description: Updated information for the Managed PostgreSQL Database. properties: label: - $ref: '#/components/schemas/DatabasePostgreSQLRequest/properties/label' + $ref: "#/components/schemas/DatabasePostgreSQLRequest/properties/label" allow_list: - $ref: '#/components/schemas/DatabasePostgreSQLRequest/properties/allow_list' + $ref: "#/components/schemas/DatabasePostgreSQLRequest/properties/allow_list" updates: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/updates' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/updates" type: type: string description: | @@ -4900,47 +4915,47 @@ paths: * 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': + "200": description: Managed Database updated successfully. content: application/json: schema: - $ref: '#/components/schemas/DatabasePostgreSQL' + $ref: "#/components/schemas/DatabasePostgreSQL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -4952,17 +4967,17 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed PostgreSQL Database Backups List operationId: getDatabasesPostgreSQLInstanceBackups servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" description: | **This command is currently only available for customers who already have an active Managed Database.** @@ -4974,41 +4989,41 @@ paths: 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 + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/DatabaseBackup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed PostgreSQL Database Backup Snapshot Create operationId: postDatabasesPostgreSQLInstanceBackup servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -5024,39 +5039,39 @@ paths: 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 + - personalAccessToken: [] + - oauth: + - databases:read_write requestBody: description: Information about the snapshot backup to create. content: application/json: schema: - $ref: '#/components/schemas/DatabaseBackupSnapshot' + $ref: "#/components/schemas/DatabaseBackupSnapshot" responses: - '200': + "200": description: Database snapshot backup request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -5074,12 +5089,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed PostgreSQL Database Backup View operationId: getDatabasesPostgreSQLInstanceBackup servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -5089,34 +5104,34 @@ paths: The Database must not be provisioning to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Returns a single backup for the Managed PostgreSQL Database. content: application/json: schema: - $ref: '#/components/schemas/DatabaseBackup' + $ref: "#/components/schemas/DatabaseBackup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed PostgreSQL Database Backup Delete operationId: deleteDatabasePostgreSQLInstanceBackup servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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.** @@ -5127,27 +5142,27 @@ paths: The Database must not be provisioning to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Request to delete Database backup successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -5165,12 +5180,12 @@ paths: type: integer post: tags: - - Databases + - Databases summary: Managed PostgreSQL Database Backup Restore operationId: postDatabasesPostgreSQLInstanceBackupRestore servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -5186,26 +5201,26 @@ paths: **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 + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Request to restore backup successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -5217,12 +5232,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed PostgreSQL Database Credentials View operationId: getDatabasesPostgreSQLInstanceCredentials servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -5232,26 +5247,26 @@ paths: The Database must have an `active` status to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "200": description: Managed Database root username and password. content: application/json: schema: - $ref: '#/components/schemas/DatabaseCredentials' + $ref: "#/components/schemas/DatabaseCredentials" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -5263,12 +5278,12 @@ paths: type: integer post: tags: - - Databases + - Databases summary: Managed PostgreSQL Database Credentials Reset operationId: postDatabasesPostgreSQLInstanceCredentialsReset servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -5284,26 +5299,26 @@ paths: **Note**: Note that it may take several seconds for credentials to reset. security: - - personalAccessToken: [] - - oauth: - - databases:read_write + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Managed Database instance credentials successfully reset. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -5315,12 +5330,12 @@ paths: type: integer get: tags: - - Databases + - Databases summary: Managed PostgreSQL Database SSL Certificate View operationId: getDatabasesPostgreSQLInstanceSSL servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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: | @@ -5330,26 +5345,26 @@ paths: The Database must have an `active` status to perform this command. security: - - personalAccessToken: [] - - oauth: - - databases:read_only + - personalAccessToken: [] + - oauth: + - databases:read_only responses: - '200': + "200": description: Returns the SSL CA certificate of a single Managed PostgreSQL Database. content: application/json: schema: - $ref: '#/components/schemas/DatabaseSSL' + $ref: "#/components/schemas/DatabaseSSL" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -5361,12 +5376,12 @@ paths: type: integer post: tags: - - Databases + - Databases summary: Managed PostgreSQL Database Patch operationId: postDatabasesPostgreSQLInstancePatch servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta x-linode-cli-action: postgresql-patch x-linode-grant: read_write description: | @@ -5384,40 +5399,40 @@ paths: * **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 + - personalAccessToken: [] + - oauth: + - databases:read_write responses: - '200': + "200": description: Managed Database instance patch request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Databases summary: Managed Database Types List operationId: getDatabasesTypes servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" description: | **This command is currently only available for customers who already have an active Managed Database.** @@ -5425,7 +5440,7 @@ paths: 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': + "200": description: Returns a paginated list of all Managed Database types. content: application/json: @@ -5442,33 +5457,33 @@ paths: engines: type: object properties: - quantity: + quantity: x-linode-cli-display: 3 - price: - type: object - properties: - hourly: - x-linode-cli-display: 4 - monthly: - x-linode-cli-display: 5 + 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' + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/DatabaseType" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - lang: Shell + source: > + curl https://api.linode.com/v4/databases/types + - lang: CLI + source: > + linode-cli databases types /databases/types/{typeId}: parameters: - name: typeId @@ -5480,22 +5495,22 @@ paths: x-linode-cli-command: databases get: tags: - - Databases + - Databases summary: Managed Database Type View operationId: getDatabasesType servers: - - url: https://api.linode.com/v4 - - url: https://api.linode.com/v4beta + - 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' + - $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': + "200": description: Returns a single Managed Database type. content: application/json: @@ -5512,35 +5527,35 @@ paths: engines: type: object properties: - quantity: + quantity: x-linode-cli-display: 3 - price: - type: object - properties: - hourly: - x-linode-cli-display: 4 - monthly: - x-linode-cli-display: 5 + price: + type: object + properties: + hourly: + x-linode-cli-display: 4 + monthly: + x-linode-cli-display: 5 schema: - $ref: '#/components/schemas/DatabaseType' + $ref: "#/components/schemas/DatabaseType" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Domains + - Domains summary: Domains List description: > This is a collection of Domains that you have registered in Linode's DNS @@ -5551,11 +5566,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - domains:read_only + - personalAccessToken: [] + - oauth: + - domains:read_only responses: - '200': + "200": description: A paginated list of Domains you have registered. content: application/json: @@ -5565,15 +5580,15 @@ paths: data: type: array items: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -5585,7 +5600,7 @@ paths: post: x-linode-grant: add_domains tags: - - Domains + - Domains summary: Domain Create description: > Adds a new Domain to Linode's DNS Manager. Linode is not a registrar, and @@ -5595,9 +5610,9 @@ paths: operationId: createDomain x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - personalAccessToken: [] + - oauth: + - domains:read_write requestBody: description: Information about the domain you are registering. required: true @@ -5605,20 +5620,20 @@ paths: application/json: schema: required: - - domain - - type + - domain + - type allOf: - - $ref: '#/components/schemas/Domain' + - $ref: "#/components/schemas/Domain" responses: - '200': + "200": description: | Domain added successfully. content: application/json: schema: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -5658,7 +5673,7 @@ paths: get: x-linode-grant: read_only tags: - - Domains + - Domains summary: Domain View description: > This is a single Domain that you have registered in Linode's DNS Manager. @@ -5667,86 +5682,86 @@ paths: operationId: getDomain x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - domains:read_only + - personalAccessToken: [] + - oauth: + - domains:read_only responses: - '200': + "200": description: | A single Domain in Linode's DNS Manager. content: application/json: schema: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - domains:read_write requestBody: description: The Domain information to update. required: true content: application/json: schema: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" responses: - '200': + "200": description: Domain update successful. content: application/json: schema: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Domains summary: Domain Delete description: > Deletes a Domain from Linode's DNS Manager. The Domain will be removed @@ -5757,18 +5772,18 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - personalAccessToken: [] + - oauth: + - domains:read_write responses: - '200': + "200": description: Domain deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -5781,27 +5796,27 @@ paths: /domains/{domainId}/zone-file: x-linode-cli-command: domains parameters: - - name: domainId - in: path - description: ID of the Domain. - required: true - schema: - type: string + - name: domainId + in: path + description: ID of the Domain. + required: true + schema: + type: string get: x-linode-grant: read_only tags: - - Domains + - 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 + - personalAccessToken: [] + - oauth: + - domains:read_only responses: - '200': + "200": description: | An array containing the lines of the domain zone file. content: @@ -5824,22 +5839,22 @@ paths: description: | The lines of the zone file for the last rendered zone for this domain. default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Domains summary: Domain Import description: > Imports a domain zone from a remote nameserver. @@ -5853,22 +5868,22 @@ paths: operationId: importDomain x-linode-cli-action: import security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - personalAccessToken: [] + - oauth: + - domains:read_write requestBody: description: Information about the Domain to import. content: application/json: schema: required: - - domain - - remote_nameserver + - domain + - remote_nameserver properties: domain: type: string description: > - The domain to import. + The domain to import. example: example.com remote_nameserver: type: string @@ -5876,15 +5891,15 @@ paths: The remote nameserver that allows zone transfers (AXFR). example: examplenameserver.com responses: - '200': + "200": description: | A single Domain in Linode's DNS Manager. content: application/json: schema: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -5901,16 +5916,16 @@ paths: /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 + - name: domainId + in: path + description: ID of the Domain to clone. + required: true + schema: + type: string post: x-linode-grant: read_write tags: - - Domains + - Domains summary: Domain Clone description: > Clones a Domain and all associated DNS records from a Domain that is @@ -5918,9 +5933,9 @@ paths: operationId: cloneDomain x-linode-cli-action: clone security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - personalAccessToken: [] + - oauth: + - domains:read_write requestBody: description: Information about the Domain to clone. required: true @@ -5928,12 +5943,12 @@ paths: application/json: schema: required: - - domain + - domain type: object properties: domain: type: string - pattern: \A(\*\.)?([a-zA-Z0-9-_]{1,63}\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)\Z + 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: > @@ -5944,47 +5959,47 @@ paths: example: example.org x-linode-filterable: true responses: - '200': + "200": description: | A new Domain in Linode's DNS Manager, based on a cloned Domain. content: application/json: schema: - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Domains parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" security: - - personalAccessToken: [] - - oauth: - - domains:read_only + - personalAccessToken: [] + - oauth: + - domains:read_only summary: Domain Records List description: | Returns a paginated list of Records configured on a Domain in Linode's @@ -5992,7 +6007,7 @@ paths: operationId: getDomainRecords x-linode-cli-action: records-list responses: - '200': + "200": description: A list of Domain Records. content: application/json: @@ -6002,29 +6017,29 @@ paths: data: type: array items: - $ref: '#/components/schemas/DomainRecord' + $ref: "#/components/schemas/DomainRecord" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/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 + - 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 + - Domains security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - personalAccessToken: [] + - oauth: + - domains:read_write summary: Domain Record Create description: | Adds a new Domain Record to the zonefile this Domain represents. @@ -6040,98 +6055,98 @@ paths: application/json: schema: required: - - type + - type allOf: - - $ref: '#/components/schemas/DomainRecord' + - $ref: "#/components/schemas/DomainRecord" responses: - '200': + "200": description: Domain Record created successfully. content: application/json: schema: - $ref: '#/components/schemas/DomainRecord' + $ref: "#/components/schemas/DomainRecord" default: - $ref: '#/components/responses/ErrorResponse' + $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. - required: true - schema: - type: integer - - name: recordId - in: path - description: The ID of the Record you are accessing. - required: true - schema: - type: integer + - 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. + required: true + schema: + type: integer + - name: recordId + in: path + description: The ID of the Record you are accessing. + required: true + schema: + type: integer get: x-linode-grant: read_only tags: - - Domains + - Domains security: - - personalAccessToken: [] - - oauth: - - domains:read_only + - 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': + "200": description: A Domain Record object. content: application/json: schema: - $ref: '#/components/schemas/DomainRecord' + $ref: "#/components/schemas/DomainRecord" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Domains security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - personalAccessToken: [] + - oauth: + - domains:read_write summary: Domain Record Update description: > Updates a single Record on this Domain. @@ -6147,97 +6162,97 @@ paths: description: A Domain Record Update request object. properties: name: - $ref: '#/components/schemas/DomainRecord/properties/name' + $ref: "#/components/schemas/DomainRecord/properties/name" target: - $ref: '#/components/schemas/DomainRecord/properties/target' + $ref: "#/components/schemas/DomainRecord/properties/target" priority: - $ref: '#/components/schemas/DomainRecord/properties/priority' + $ref: "#/components/schemas/DomainRecord/properties/priority" weight: - $ref: '#/components/schemas/DomainRecord/properties/weight' + $ref: "#/components/schemas/DomainRecord/properties/weight" port: - $ref: '#/components/schemas/DomainRecord/properties/port' + $ref: "#/components/schemas/DomainRecord/properties/port" service: - $ref: '#/components/schemas/DomainRecord/properties/service' + $ref: "#/components/schemas/DomainRecord/properties/service" protocol: - $ref: '#/components/schemas/DomainRecord/properties/protocol' + $ref: "#/components/schemas/DomainRecord/properties/protocol" ttl_sec: - $ref: '#/components/schemas/DomainRecord/properties/ttl_sec' + $ref: "#/components/schemas/DomainRecord/properties/ttl_sec" tag: - $ref: '#/components/schemas/DomainRecord/properties/tag' + $ref: "#/components/schemas/DomainRecord/properties/tag" responses: - '200': + "200": description: Domain Record updated. content: application/json: schema: - $ref: '#/components/schemas/DomainRecord' + $ref: "#/components/schemas/DomainRecord" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Domains security: - - personalAccessToken: [] - - oauth: - - domains:read_write + - 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': + "200": description: Record deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Images + - Images summary: Images List description: | Returns a paginated list of Images. @@ -6255,11 +6270,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - images:read_only + - personalAccessToken: [] + - oauth: + - images:read_only responses: - '200': + "200": description: A paginated list of Images. content: application/json: @@ -6269,54 +6284,54 @@ paths: data: type: array items: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: | - # Returns public Images only - curl https://api.linode.com/v4/images + - 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 + # 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 + - 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 + - personalAccessToken: [] + - oauth: + - images:read_write + - linodes:read_only requestBody: description: Information about the Image to create. content: application/json: schema: required: - - disk_id + - disk_id properties: disk_id: type: integer description: > - The ID of the Linode Disk that this Image will be - created from. + The ID of the Linode Disk that this Image will be + created from. example: 42 label: type: string @@ -6332,41 +6347,41 @@ paths: description: Whether this Image supports cloud-init. example: true responses: - '200': + "200": description: New private Image created successfully. content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4beta tags: - - Images + - Images summary: Image Upload description: | Initiates an Image upload. @@ -6394,13 +6409,13 @@ paths: **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 + - personalAccessToken: [] + - oauth: + - images:read_write requestBody: description: The uploaded Image details. x-linode-cli-allowed-defaults: - - region + - region content: application/json: schema: @@ -6427,7 +6442,7 @@ paths: description: Whether the uploaded Image supports cloud-init. example: true responses: - '200': + "200": description: Image Upload object including the upload URL and Image object. content: application/json: @@ -6439,46 +6454,46 @@ paths: description: The URL to upload the Image to. x-linode-cli-display: 1 image: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + # 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. - required: true - schema: - type: string + - name: imageId + in: path + description: ID of the Image to look up. + required: true + schema: + type: string get: tags: - - Images + - Images summary: Image View description: | Get information about a single Image. @@ -6493,34 +6508,34 @@ paths: operationId: getImage x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - images:read_only + - personalAccessToken: [] + - oauth: + - images:read_only responses: - '200': + "200": description: A single Image object. content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: | - # Public Image - curl https://api.linode.com/v4/images/linode/debian11 + - 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 + # 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 + - Images summary: Image Update description: > Updates a private Image that you have permission to @@ -6528,9 +6543,9 @@ paths: operationId: updateImage x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - images:read_write + - personalAccessToken: [] + - oauth: + - images:read_write requestBody: description: > The fields to update. @@ -6538,36 +6553,36 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" responses: - '200': + "200": description: The updated image. content: application/json: schema: - $ref: '#/components/schemas/Image' + $ref: "#/components/schemas/Image" default: - $ref: '#/components/responses/ErrorResponse' + $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." + - 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 + - Images summary: Image Delete description: | Deletes a private Image you have permission to `read_write`. @@ -6579,49 +6594,49 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - images:read_write + - personalAccessToken: [] + - oauth: + - images:read_write responses: - '200': + "200": description: Delete successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $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 + - Linode Instances operationId: getLinodeInstances x-linode-cli-action: - list - ls security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Returns an array of all Linodes on your Account. content: application/json: @@ -6631,23 +6646,23 @@ paths: data: type: array items: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -6714,21 +6729,21 @@ paths: * Disks and Configs must be created manually. * This is only recommended for advanced use cases. tags: - - Linode Instances + - Linode Instances operationId: createLinodeInstance x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - 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 + - authorized_users + - region + - image + - type content: application/json: schema: @@ -6737,7 +6752,7 @@ paths: - region type: object allOf: - - $ref: '#/components/schemas/LinodeRequest' + - $ref: "#/components/schemas/LinodeRequest" - properties: backup_id: type: integer @@ -6782,31 +6797,31 @@ paths: will be located. example: us-east label: - $ref: '#/components/schemas/Linode/properties/label' + $ref: "#/components/schemas/Linode/properties/label" tags: - $ref: '#/components/schemas/Linode/properties/tags' + $ref: "#/components/schemas/Linode/properties/tags" group: - $ref: '#/components/schemas/Linode/properties/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' + $ref: "#/components/schemas/LinodeConfigInterfaces" firewall_id: type: integer description: The `id` of the Firewall to attach this Linode to upon creation. responses: - '200': + "200": description: > A new Linode is being created. content: application/json: schema: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -6880,67 +6895,67 @@ paths: --firewall_id 9000 /linode/instances/{linodeId}: parameters: - - name: linodeId - in: path - description: ID of the Linode to look up - required: true - schema: - type: integer + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Returns a single Linode object. content: application/json: schema: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" links: boot: - $ref: '#/components/links/bootLinode' + $ref: "#/components/links/bootLinode" reboot: - $ref: '#/components/links/rebootLinode' + $ref: "#/components/links/rebootLinode" shutdown: - $ref: '#/components/links/shutdownLinode' + $ref: "#/components/links/shutdownLinode" update: - $ref: '#/components/links/updateLinode' + $ref: "#/components/links/updateLinode" delete: - $ref: '#/components/links/deleteLinode' + $ref: "#/components/links/deleteLinode" rebuild: - $ref: '#/components/links/rebuildLinode' + $ref: "#/components/links/rebuildLinode" mutate: - $ref: '#/components/links/mutateLinode' + $ref: "#/components/links/mutateLinode" resize: - $ref: '#/components/links/resizeLinode' + $ref: "#/components/links/resizeLinode" rescue: - $ref: '#/components/links/rescueLinode' + $ref: "#/components/links/rescueLinode" clone: - $ref: '#/components/links/cloneLinode' + $ref: "#/components/links/cloneLinode" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Linode Instances summary: Linode Update description: > Updates a Linode that you have permission to `read_write`. @@ -6951,9 +6966,9 @@ paths: operationId: updateLinodeInstance x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: > Any field that is not marked as `readOnly` may be updated. Fields that are marked @@ -6963,54 +6978,54 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" responses: - '200': + "200": description: The updated Linode. content: application/json: schema: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + }' \ + 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 + - Linode Instances summary: Linode Delete description: | Deletes a Linode you have permission to `read_write`. @@ -7031,35 +7046,35 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Delete successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer + - name: linodeId + in: path + description: The ID of the Linode the backups belong to. + required: true + schema: + type: integer x-linode-cli-command: linodes get: x-linode-grant: read_only @@ -7067,24 +7082,24 @@ paths: description: > Returns information about this Linode's available backups. tags: - - Linode Instances + - Linode Instances operationId: getBackups x-linode-cli-action: backups-list security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: A collection of the specified Linode's available backups. content: application/json: x-linode-cli-rows: - - automatic - - snapshot.current - - snapshot.in_progress + - automatic + - snapshot.current + - snapshot.in_progress x-linode-cli-use-schema: - $ref: '#/components/schemas/Backup' + $ref: "#/components/schemas/Backup" schema: type: object properties: @@ -7092,28 +7107,28 @@ paths: type: array items: allOf: - - $ref: '#/components/schemas/Backup' - - properties: - type: - type: string - example: automatic + - $ref: "#/components/schemas/Backup" + - properties: + type: + type: string + example: automatic snapshot: type: object properties: in_progress: - $ref: '#/components/schemas/Backup' + $ref: "#/components/schemas/Backup" current: - $ref: '#/components/schemas/Backup' + $ref: "#/components/schemas/Backup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -7123,20 +7138,20 @@ paths: **Important:** If you already have a snapshot of this Linode, this is a destructive action. The previous snapshot will be deleted. tags: - - Linode Instances + - Linode Instances operationId: createSnapshot x-linode-cli-action: snapshot security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: required: true content: application/json: schema: required: - - label + - label type: object properties: label: @@ -7146,34 +7161,34 @@ paths: description: The label for the new snapshot. example: SnapshotLabel responses: - '200': + "200": description: Snapshot request successful. content: application/json: schema: - $ref: '#/components/schemas/Backup' + $ref: "#/components/schemas/Backup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer + - name: linodeId + in: path + description: The ID of the Linode to cancel backup service for. + required: true + schema: + type: integer x-linode-cli-command: linodes post: x-linode-grant: read_write @@ -7182,40 +7197,40 @@ paths: Cancels the Backup service on the given Linode. Deletes all of this Linode's existing backups forever. tags: - - Linode Instances + - Linode Instances operationId: cancelBackups x-linode-cli-action: backups-cancel security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Backup service was canceled for the specified Linode. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer + - name: linodeId + in: path + description: The ID of the Linode to enable backup service for. + required: true + schema: + type: integer x-linode-cli-command: linodes post: x-linode-grant: read_write @@ -7223,46 +7238,46 @@ paths: description: > Enables backups for the specified Linode. tags: - - Linode Instances + - Linode Instances operationId: enableBackups x-linode-cli-action: backups-enable security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Backup service was enabled. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer - - name: backupId - in: path - description: The ID of the Backup to look up. - required: true - schema: - type: integer + - name: linodeId + in: path + description: The ID of the Linode the Backup belongs to. + required: true + schema: + type: integer + - name: backupId + in: path + description: The ID of the Backup to look up. + required: true + schema: + type: integer x-linode-cli-command: linodes get: x-linode-grant: read_only @@ -7270,44 +7285,44 @@ paths: description: > Returns information about a Backup. tags: - - Linode Instances + - Linode Instances operationId: getBackup x-linode-cli-action: backup-view security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: A single Backup. content: application/json: schema: - $ref: '#/components/schemas/Backup' + $ref: "#/components/schemas/Backup" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer - - name: backupId - in: path - description: The ID of the Backup to restore. - required: true - schema: - type: integer + - name: linodeId + in: path + description: The ID of the Linode that the Backup belongs to. + required: true + schema: + type: integer + - name: backupId + in: path + description: The ID of the Backup to restore. + required: true + schema: + type: integer x-linode-cli-command: linodes post: x-linode-grant: read_write @@ -7330,13 +7345,13 @@ paths: 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 + - Linode Instances operationId: restoreBackup x-linode-cli-action: backup-restore security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: Parameters to provide when restoring the Backup. required: true @@ -7345,7 +7360,7 @@ paths: schema: type: object required: - - linode_id + - linode_id properties: linode_id: type: integer @@ -7363,37 +7378,37 @@ paths: space is returned. example: true responses: - '200': + "200": description: Restore from Backup was initiated. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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. - required: true - schema: - type: integer + - name: linodeId + in: path + description: The ID of the Linode to boot. + required: true + schema: + type: integer x-linode-cli-command: linodes post: x-linode-grant: read_write @@ -7407,13 +7422,13 @@ paths: * 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 + - Linode Instances operationId: bootLinodeInstance x-linode-cli-action: boot security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: Optional configuration to boot into (see above). required: false @@ -7428,32 +7443,32 @@ paths: The Linode Config ID to boot into. example: null responses: - '200': + "200": description: Boot started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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. - required: true - schema: - type: integer + - 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. + required: true + schema: + type: integer x-linode-cli-command: linodes post: x-linode-charge: true @@ -7486,19 +7501,19 @@ paths: - 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 + - Linode Instances operationId: cloneLinodeInstance x-linode-cli-action: clone security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - 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 + - region + - type content: application/json: schema: @@ -7606,81 +7621,81 @@ paths: 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. + 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 + * Can only be provided when cloning to a new Linode. + example: true metadata: - $ref: '#/components/schemas/LinodeRequest/properties/metadata' + $ref: "#/components/schemas/LinodeRequest/properties/metadata" responses: - '200': + "200": description: Clone started. content: application/json: schema: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" default: - $ref: '#/components/responses/ErrorResponse' + $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== + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Linode Instances + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: > Returns an array of Configuration profiles associated with this Linode. content: @@ -7691,33 +7706,33 @@ paths: data: type: array items: - $ref: '#/components/schemas/LinodeConfig' + $ref: "#/components/schemas/LinodeConfig" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: > The parameters to set when creating the Configuration profile. @@ -7728,77 +7743,77 @@ paths: application/json: schema: required: - - label - - devices + - label + - devices allOf: - - $ref: '#/components/schemas/LinodeConfig' + - $ref: "#/components/schemas/LinodeConfig" responses: - '200': + "200": description: | A Configuration profile was created. content: application/json: schema: - $ref: '#/components/schemas/LinodeConfig' + $ref: "#/components/schemas/LinodeConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 }, - "sdb": { - "disk_id": 123457, - "volume_id": null + "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 + }' \ + 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' + - $ref: "#/components/parameters/linodeId" + - $ref: "#/components/parameters/configId" x-linode-cli-command: linodes get: tags: - - Linode Instances + - Linode Instances x-linode-grant: read_only summary: Configuration Profile View description: > @@ -7806,129 +7821,129 @@ paths: operationId: getLinodeConfig x-linode-cli-action: config-view security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: A Configuration profile object. content: application/json: schema: - $ref: '#/components/schemas/LinodeConfig' + $ref: "#/components/schemas/LinodeConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Linode Instances operationId: updateLinodeConfig x-linode-cli-action: config-update security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The Configuration profile parameters to modify. required: true content: application/json: schema: - $ref: '#/components/schemas/LinodeConfig' + $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 + - 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 }, - "sdb": { - "disk_id": 123457, - "volume_id": null + "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': + }' \ + 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' + $ref: "#/components/schemas/LinodeConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - Linode Instances operationId: deleteLinodeConfig x-linode-cli-action: config-delete security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: > Configuration profile successfully deleted. content: @@ -7936,48 +7951,48 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/linodeId" + - $ref: "#/components/parameters/configId" get: tags: - - Linode Instances + - Linode Instances x-linode-grant: read_only servers: - - url: https://api.linode.com/v4 + - 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 + - config-interfaces-list + - config-interfaces-ls security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: An ordered array of Interface objects. content: application/json: schema: - $ref: '#/components/schemas/LinodeConfigInterfaces' + $ref: "#/components/schemas/LinodeConfigInterfaces" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -7990,7 +8005,7 @@ paths: x-linode-grant: read_write summary: Configuration Profile Interface Add servers: - - url: https://api.linode.com/v4 + - 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. @@ -7999,13 +8014,13 @@ paths: Reboot the Linode with this Configuration Profile to activate an Interface that was added with this command. tags: - - Linode Instances + - Linode Instances operationId: addLinodeConfigInterface x-linode-cli-action: config-interface-add security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The Interface to add to the Configuration Profile. required: true @@ -8013,58 +8028,58 @@ paths: application/json: schema: allOf: - - required: - - purpose - - $ref: '#/components/schemas/LinodeConfigInterface' + - required: + - purpose + - $ref: "#/components/schemas/LinodeConfigInterface" responses: - '200': + "200": description: Interface successfully added. content: application/json: schema: - $ref: '#/components/schemas/LinodeConfigInterface' + $ref: "#/components/schemas/LinodeConfigInterface" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - $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 + - url: https://api.linode.com/v4 description: | Deletes an Interface from the Configuration Profile. @@ -8073,57 +8088,57 @@ paths: * 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 + - Linode Instances operationId: deleteLinodeConfigInterface x-linode-cli-action: config-interface-delete security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Interface successfully deleted. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Linode Instances x-linode-grant: read_only servers: - - url: https://api.linode.com/v4 + - 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 + - config-interface-view security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: An Interface object. content: application/json: schema: - $ref: '#/components/schemas/LinodeConfigInterface' + $ref: "#/components/schemas/LinodeConfigInterface" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -8136,7 +8151,7 @@ paths: x-linode-grant: read_write summary: Configuration Profile Interface Update servers: - - url: https://api.linode.com/v4 + - 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. @@ -8146,13 +8161,13 @@ paths: * Only `primary` can be updated for `public` purpose Interfaces. * This command not currently allowed for `vlan` purpose Interfaces. tags: - - Linode Instances + - Linode Instances operationId: updateLinodeConfigInterface x-linode-cli-action: config-interface-update security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The updated Interface. required: true @@ -8163,62 +8178,62 @@ paths: description: Linode Configuration Interface Update request object. properties: primary: - $ref: '#/components/schemas/LinodeConfigInterface/properties/primary' + $ref: "#/components/schemas/LinodeConfigInterface/properties/primary" ipv4: - $ref: '#/components/schemas/LinodeConfigInterface/properties/ipv4' + $ref: "#/components/schemas/LinodeConfigInterface/properties/ipv4" ip_ranges: - $ref: '#/components/schemas/LinodeConfigInterface/properties/ip_ranges' + $ref: "#/components/schemas/LinodeConfigInterface/properties/ip_ranges" # ipv6: # $ref: '#/components/schemas/LinodeConfigInterface/properties/ipv6' responses: - '200': + "200": description: Interface successfully updated. content: application/json: schema: - $ref: '#/components/schemas/LinodeConfigInterface' + $ref: "#/components/schemas/LinodeConfigInterface" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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' + - $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 + - 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 + - Linode Instances operationId: orderLinodeConfigInterfaces x-linode-cli-action: config-interfaces-order security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The desired Interface order for the Configuration Profile. required: true @@ -8228,7 +8243,7 @@ paths: type: object description: Linode Configuration Interfaces Order request object. required: - - ids + - ids properties: ids: type: array @@ -8245,60 +8260,60 @@ paths: * Second [1]: eth1 * Third [2]: eth2 items: - $ref: '#/components/schemas/LinodeConfigInterface/properties/id' + $ref: "#/components/schemas/LinodeConfigInterface/properties/id" responses: - '200': + "200": description: Interfaces successfully reordered. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Linode Instances + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Returns a paginated list of disks associated with this Linode. content: application/json: @@ -8308,26 +8323,26 @@ paths: data: type: array items: - $ref: '#/components/schemas/Disk' + $ref: "#/components/schemas/Disk" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Linode Instances summary: Disk Create description: | Adds a new Disk to a Linode. @@ -8354,9 +8369,9 @@ paths: operationId: addLinodeDisk x-linode-cli-action: disk-create security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: > The parameters to set when creating the Disk. @@ -8365,110 +8380,110 @@ paths: application/json: schema: required: - - size + - size allOf: - - $ref: '#/components/schemas/DiskRequest' + - $ref: "#/components/schemas/DiskRequest" responses: - '200': + "200": description: Disk created. content: application/json: schema: - $ref: '#/components/schemas/Disk' + $ref: "#/components/schemas/Disk" default: - $ref: '#/components/responses/ErrorResponse' + $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"}' + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Returns a single Disk object. content: application/json: schema: - $ref: '#/components/schemas/Disk' + $ref: "#/components/schemas/Disk" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: > Updates the parameters of a single Disk. @@ -8480,31 +8495,31 @@ paths: label: $ref: '#/components/schemas/Disk/properties/label' responses: - '200': + "200": description: The updated Disk. content: application/json: schema: - $ref: '#/components/schemas/Disk' + $ref: "#/components/schemas/Disk" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - Linode Instances summary: Disk Delete description: | Deletes a Disk you have permission to `read_write`. @@ -8513,46 +8528,46 @@ paths: operationId: deleteDisk x-linode-cli-action: disk-delete security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Delete successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Disk Clone description: > Copies a disk, byte-for-byte, into a new Disk belonging to the same Linode. @@ -8561,46 +8576,46 @@ paths: operationId: cloneLinodeDisk x-linode-cli-action: disk-clone security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Disk clone initiated. content: application/json: schema: - $ref: '#/components/schemas/Disk' + $ref: "#/components/schemas/Disk" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The new password. required: true @@ -8608,7 +8623,7 @@ paths: application/json: schema: required: - - password + - password properties: password: type: string @@ -8618,47 +8633,47 @@ paths: The password must meet the complexity strength validation requirements for a strong password. example: another@complex^Password123 responses: - '200': + "200": description: Returns a single Disk object. content: application/json: schema: - type: object + type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Disk Resize description: | Resizes a Disk you have permission to `read_write`. @@ -8673,9 +8688,9 @@ paths: operationId: resizeDisk x-linode-cli-action: disk-resize security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The new size of the Disk. required: true @@ -8683,7 +8698,7 @@ paths: application/json: schema: required: - - size + - size properties: size: type: integer @@ -8692,54 +8707,54 @@ paths: minimum: 1 example: 2048 responses: - '200': + "200": description: Resize started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Linode Instances + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Returns a paginated list of Firewalls assigned to this Linode. content: application/json: @@ -8749,36 +8764,36 @@ paths: data: type: array items: - $ref: '#/components/schemas/Firewall' + $ref: "#/components/schemas/Firewall" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Networking Information List description: | Returns networking information for a single Linode. @@ -8787,11 +8802,11 @@ paths: operationId: getLinodeIPs x-linode-cli-action: ips-list security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Requested Linode's networking configuration. content: application/json: @@ -8800,6 +8815,7 @@ paths: - ipv4.private - ipv4.shared - ipv4.reserved + - ipv4.vpc - ipv6.link_local - ipv6.slaac - ipv6.global @@ -8814,14 +8830,14 @@ paths: public: type: array items: - $ref: '#/components/schemas/IPAddress' + $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' + $ref: "#/components/schemas/IPAddressPrivate" description: > A list of private IP Address objects belonging to this Linode. readOnly: true @@ -8829,14 +8845,14 @@ paths: type: array readOnly: true items: - $ref: '#/components/schemas/IPAddressesVPCListResponse' + $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' + $ref: "#/components/schemas/IPAddress" description: > A list of reserved IP Address objects belonging to this Linode. shared: @@ -8853,29 +8869,29 @@ paths: readOnly: true properties: link_local: - $ref: '#/components/schemas/IPAddressV6LinkLocal' + $ref: "#/components/schemas/IPAddressV6LinkLocal" slaac: - $ref: '#/components/schemas/IPAddressV6Slaac' + $ref: "#/components/schemas/IPAddressV6Slaac" global: type: array items: - $ref: '#/components/schemas/IPv6Range' + $ref: "#/components/schemas/IPv6Range" description: | A list of IPv6 range objects assigned to this Linode. default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Linode Instances summary: IPv4 Address Allocate description: > Allocates a public or private IPv4 address to a Linode. @@ -8887,9 +8903,9 @@ paths: operationId: addLinodeIP x-linode-cli-action: ip-add security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: Information about the address you are creating. required: true @@ -8897,13 +8913,13 @@ paths: application/json: schema: required: - - type - - public + - type + - public properties: type: type: string enum: - - ipv4 + - ipv4 description: > The type of address you are allocating. Only IPv4 addresses may be allocated through this endpoint. @@ -8914,49 +8930,49 @@ paths: Whether to create a public or private IPv4 address. example: true responses: - '200': + "200": description: IP address was successfully allocated. content: application/json: schema: - $ref: '#/components/schemas/IPAddress' + $ref: "#/components/schemas/IPAddress" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: IP Address View description: > View information about the specified IP address associated @@ -8964,30 +8980,30 @@ paths: operationId: getLinodeIP x-linode-cli-action: ip-view security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: A single IP address. content: application/json: schema: - $ref: '#/components/schemas/IPAddress' + $ref: "#/components/schemas/IPAddress" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -8996,9 +9012,9 @@ paths: operationId: updateLinodeIP x-linode-cli-action: ip-update security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The information to update for the IP address. content: @@ -9017,68 +9033,68 @@ paths: nullable: true example: test.example.org responses: - '200': + "200": description: The updated IP address record. content: application/json: schema: - $ref: '#/components/schemas/IPAddress' + $ref: "#/components/schemas/IPAddress" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: IP address successfully removed. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Linode Instances + - Linode Instances summary: Kernels List description: | Lists available Kernels. @@ -9089,7 +9105,7 @@ paths: - list - ls responses: - '200': + "200": description: Returns an array of Kernels. content: application/json: @@ -9099,63 +9115,63 @@ paths: data: type: array items: - $ref: '#/components/schemas/Kernel' + $ref: "#/components/schemas/Kernel" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Kernel View description: > Returns information about a single Kernel. operationId: getKernel x-linode-cli-action: view responses: - '200': + "200": description: A single Kernel object. content: application/json: schema: - $ref: '#/components/schemas/Kernel' + $ref: "#/components/schemas/Kernel" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -9185,16 +9201,16 @@ paths: 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 + - Linode Instances operationId: migrateLinodeInstance x-linode-cli-action: migrate security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: content: - 'application/json': + "application/json": schema: properties: region: @@ -9228,8 +9244,8 @@ paths: type: type: string enum: - - warm - - cold + - warm + - cold description: | Type of migration used in moving to a new host or Linode type. @@ -9241,34 +9257,34 @@ paths: example: warm default: cold responses: - '200': + "200": description: Scheduled migration started content: - 'application/json': + "application/json": schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -9282,13 +9298,13 @@ paths: If any actions are currently running or queued, those actions must be completed first before you can initiate a mutate. tags: - - Linode Instances + - Linode Instances operationId: mutateLinodeInstance x-linode-cli-action: upgrade security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: Whether to automatically resize disks or not. required: false @@ -9306,37 +9322,37 @@ paths: example: true default: true responses: - '200': + "200": description: Mutate started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Linode NodeBalancers View description: | Returns a list of NodeBalancers that are assigned to this Linode and readable by the requesting User. @@ -9346,11 +9362,11 @@ paths: operationId: getLinodeNodeBalancers x-linode-cli-action: nodebalancers security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: Returns a paginated list of NodeBalancers. content: application/json: @@ -9360,29 +9376,29 @@ paths: data: type: array items: - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/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 + - 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 + - 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 @@ -9397,17 +9413,17 @@ paths: * A `password_reset` event is generated when a root password reset is successful. tags: - - Linode Instances + - Linode Instances operationId: resetLinodePassword x-linode-cli-action: linode-reset-password security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: This Linode's new root password. content: - 'application/json': + "application/json": schema: required: - root_pass @@ -9421,34 +9437,34 @@ paths: Password does not meet strength requirement error. example: a$eCure4assw0rd!43v51 responses: - '200': + "200": description: Password Reset. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -9457,17 +9473,17 @@ paths: 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 + - Linode Instances operationId: rebootLinodeInstance x-linode-cli-action: reboot security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: Optional reboot parameters. content: - 'application/json': + "application/json": schema: properties: config_id: @@ -9480,32 +9496,32 @@ paths: be returned. example: null responses: - '200': + "200": description: Reboot started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -9530,13 +9546,13 @@ paths: * 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 + - Linode Instances operationId: rebuildLinodeInstance x-linode-cli-action: rebuild security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: The requested state your Linode will be rebuilt into. required: true @@ -9545,10 +9561,10 @@ paths: schema: type: object required: - - image - - root_pass + - image + - root_pass allOf: - - $ref: '#/components/schemas/LinodeRequest' + - $ref: "#/components/schemas/LinodeRequest" - type: object properties: type: @@ -9557,61 +9573,61 @@ paths: The ID of the [Linode Type](/docs/api/linode-types/#types-list) to resize to with this request. example: g6-standard-2 responses: - '200': + "200": description: Rebuild started. content: application/json: schema: - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" default: - $ref: '#/components/responses/ErrorResponse' + $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==" + - 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 + - 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 @@ -9626,13 +9642,13 @@ paths: * Note that "sdh" is reserved and unavailable during rescue. tags: - - Linode Instances + - Linode Instances operationId: rescueLinodeInstance x-linode-cli-action: rescue security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: Optional object of devices to be mounted. required: false @@ -9642,46 +9658,46 @@ paths: type: object properties: devices: - $ref: '#/components/schemas/RescueDevices' + $ref: "#/components/schemas/RescueDevices" responses: - '200': + "200": description: Rescue started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + }' \ + 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 + - 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 @@ -9699,13 +9715,13 @@ paths: You can also resize a Linode when using the [Linode Rebuild](/docs/api/linode-instances/#linode-rebuild) command. tags: - - Linode Instances + - Linode Instances operationId: resizeLinodeInstance x-linode-cli-action: resize security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write requestBody: description: > The Type your current Linode will resize to, and whether to attempt @@ -9716,7 +9732,7 @@ paths: schema: type: object required: - - type + - type properties: type: type: string @@ -9734,8 +9750,8 @@ paths: migration_type: type: string enum: - - warm - - cold + - warm + - cold description: | Type of migration used in moving to a new host or Linode type. @@ -9747,93 +9763,93 @@ paths: example: warm default: cold responses: - '200': + "200": description: Resize started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances operationId: shutdownLinodeInstance x-linode-cli-action: shutdown security: - - personalAccessToken: [] - - oauth: - - linodes:read_write + - personalAccessToken: [] + - oauth: + - linodes:read_write responses: - '200': + "200": description: Shutdown started. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: A collection of the specified Linode's network transfer statistics. content: application/json: @@ -9858,44 +9874,44 @@ paths: example: 0 readOnly: true default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Network Transfer View (year/month) description: > Returns a Linode's network transfer statistics for a specific month. The year/month @@ -9904,11 +9920,11 @@ paths: x-linode-cli-skip: true x-linode-cli-action: transfer-month security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: > A collection of the specified Linode's network transfer statistics for the requested month. @@ -9938,24 +9954,24 @@ paths: example: 53427677318 readOnly: true default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Linode Instances summary: Linode Statistics View description: > Returns CPU, IO, IPv4, and IPv6 statistics for your Linode @@ -9964,49 +9980,49 @@ paths: x-linode-cli-skip: true x-linode-cli-action: stats security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: The Linode's stats for the past 24 hours. content: application/json: schema: - $ref: '#/components/schemas/LinodeStats' + $ref: "#/components/schemas/LinodeStats" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/linode/instances/123/stats + - 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 + - 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 + - Linode Instances summary: Statistics View (year/month) description: > Returns statistics for a specific month. The year/month @@ -10016,49 +10032,49 @@ paths: x-linode-cli-skip: true x-linode-cli-action: stats-month security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: The Linode's statistics for the requested period. content: application/json: schema: - $ref: '#/components/schemas/LinodeStats' + $ref: "#/components/schemas/LinodeStats" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Linode Instances + - 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 + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: > Returns an array of Block Storage Volumes attached to this Linode. content: @@ -10069,32 +10085,32 @@ paths: data: type: array items: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - StackScripts + - StackScripts summary: StackScripts List description: > If the request is not authenticated, only public StackScripts are returned. @@ -10106,11 +10122,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - stackscripts:read_only + - personalAccessToken: [] + - oauth: + - stackscripts:read_only responses: - '200': + "200": description: > A list of StackScripts available to the User, including private StackScripts owned by the User if the request is authenticated. @@ -10122,35 +10138,35 @@ paths: data: type: array items: - $ref: '#/components/schemas/StackScript' + $ref: "#/components/schemas/StackScript" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - StackScripts summary: StackScript Create description: > Creates a StackScript in your Account. operationId: addStackScript x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - stackscripts:read_write + - personalAccessToken: [] + - oauth: + - stackscripts:read_write requestBody: description: The properties to set for the new StackScript. required: true @@ -10158,60 +10174,60 @@ paths: application/json: schema: required: - - script - - label - - images + - script + - label + - images allOf: - - $ref: '#/components/schemas/StackScript' + - $ref: "#/components/schemas/StackScript" responses: - '200': + "200": description: StackScript successfully created. content: application/json: schema: - $ref: '#/components/schemas/StackScript' + $ref: "#/components/schemas/StackScript" default: - $ref: '#/components/responses/ErrorResponse' + $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' + - 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 + - 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 + - StackScripts summary: StackScript View description: > Returns all of the information about a specified @@ -10219,29 +10235,29 @@ paths: operationId: getStackScript x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - stackscripts:read_only + - personalAccessToken: [] + - oauth: + - stackscripts:read_only responses: - '200': + "200": description: A single StackScript. content: application/json: schema: - $ref: '#/components/schemas/StackScript' + $ref: "#/components/schemas/StackScript" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - StackScripts summary: StackScript Update description: > Updates a StackScript. @@ -10251,166 +10267,1786 @@ paths: operationId: updateStackScript x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - stackscripts:read_write + - personalAccessToken: [] + - oauth: + - stackscripts:read_write requestBody: - description: The fields to update. - content: - application/json: - schema: - $ref: '#/components/schemas/StackScript' + description: The fields to update. + content: + application/json: + schema: + $ref: "#/components/schemas/StackScript" responses: - '200': + "200": description: StackScript was successfully modified. content: application/json: schema: - $ref: '#/components/schemas/StackScript' + $ref: "#/components/schemas/StackScript" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + /aclb: + x-linode-cli-command: aclb + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + parameters: + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" + summary: Cloud Load Balancers List + description: > + Returns a paginated list of Cloud Load Balancers you have access to. + operationId: getLoadBalancers + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: + - list + - ls + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: > + Returns a paginated lists of Cloud Load Balancers. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ACLBLoadBalancer" + 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/v4beta/aclb + - lang: CLI + source: > + linode-cli loadbalancers list + post: + x-linode-grant: add_loadbalancers + tags: + - Cloud Load Balancer + summary: Cloud Load Balancer Create + description: | + For BETA, this API endpoint only creates the Cloud Load Balancer `label`. After you create a label, the Cloud Load Balancer ID is generated. + operationId: createLoadBalancer + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: create + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: Cloud Load Balancer settings. + required: true + x-linode-cli-allowed-defaults: + - region + content: + application/json: + schema: + required: + - label + - regions + properties: + label: + $ref: "#/components/schemas/ACLBLoadBalancer/properties/label" + responses: + "200": + description: Cloud Load Balancer created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBLoadBalancer" + 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": "balancer12345", + }' \ + https://api.linode.com/v4beta/aclb + - lang: CLI + source: > + linode-cli loadbalancers create \ + --region us-east \ + --label balancer12345 \ + --rate_capacity 10000 + /aclb/{CloudLoadBalancerID}: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + x-linode-cli-command: aclb + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + summary: Cloud Load Balancer View + description: > + Returns a single Cloud Load Balancer you can access. + operationId: getLoadBalancer + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: view + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: The requested Cloud Load Balancer object. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBLoadBalancer" + default: + $ref: "#/components/responses/ErrorResponse" + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/aclb/12345 + - lang: CLI + source: > + linode-cli loadbalancers view 12345 + put: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Cloud Load Balancer Update + description: > + Updates settings for a Cloud Load Balancer you can access. + operationId: updateLoadBalancer + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: update + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: The settings to update. + required: true + content: + application/json: + schema: + required: + - region + properties: + label: + $ref: "#/components/schemas/ACLBLoadBalancer/properties/label" + tags: + $ref: "#/components/schemas/ACLBLoadBalancer/properties/tags" + regions: + $ref: "#/components/schemas/ACLBLoadBalancer/properties/regions" + responses: + "200": + description: Cloud Load Balancer settings updated successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBLoadBalancer" + 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", + "tags": [ + "test-aclb", + "production-aclb", + ], + "regions": [ + "us-iad", + "ap-southeast", + }' \ + https://api.linode.com/v4beta/aclb/12345 + - lang: CLI + source: > + linode-cli loadbalancers update 12345 \ + --label balancer12345 \ + --tags test-aclb, production-aclb \ + --regions us-iad, ap-southeast + delete: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Cloud Load Balancer Delete + description: > + Deletes a Cloud Load Balancer. + + + **This is a destructive action and cannot be undone.** + + + Deleting a Cloud Load Balancer deletes all associated configurations. + + + Routes and service targets are not deleted and available to use on other Cloud Load Balancers. + operationId: deleteLoadBalancer + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: + - delete + - rm + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + responses: + "200": + description: The Cloud Load Balancer 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/v4beta/aclb/12345 + - lang: CLI + source: > + linode-cli loadbalancers delete 12345 + /aclb/{CloudLoadBalancerID}/configurations: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + x-linode-cli-command: loadbalancers + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + parameters: + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" + summary: Configurations List + description: > + List of configurations for a specific Cloud Load Balancer. Cloud Load Balancer configurations represent + individual ports that this load balancer accepts traffic on. + Each configuration accepts traffic on one port. + operationId: getLoadBalancerConfigurations + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: configurations-list + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: > + Returns a paginated lists of configurations for the Cloud Load Balancer. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ACLBConfigurationConfiguration" + 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/v4beta/aclb/12345/configurations + - lang: CLI + source: > + linode-cli nodebalancers configs-list 12345 + post: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Configuration Create + description: > + Creates a Cloud Load Balancer Configuration which allows the load balancer to + accept traffic on a new port. + + + For example, if you wanted to accept standard HTTP traffic, you could create a configuration listening on port 80. + + + Configurations use `routes` to direct requests to service targets. To add routes to a configuration, you can use existing `route_ids`or create new `routes`. + + Route rules can not be created or updated using Configuration Create. Use [Route Create](/docs/api/cloud-load-balancer/#route-create) and [Route Update](/docs/api/cloud-load-balancer/#route-update) to manage rules. + + + The route protocol and the configuration protocol must match, or the operation will be rejected. + + + If the protocol is http or tcp, `certificates` must be left blank. + + + You will need to add service targets to the new configuration before it can actually serve requests. + operationId: createLoadBalancerConfiguration + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: configuration-create + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: Information about the port to configure. + required: true + content: + application/json: + schema: + allOf: + - $ref: "#/components/schemas/ACLBConfigurationConfiguration" + properties: + route_ids: + type: integer + description: | + The ids of existing routes. + example: 1 + responses: + "200": + description: Configuration created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBConfigurationConfiguration" + 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": aclb-configuration, + "port": 443, + "protocol": "https", + "certificates": [ + { + "hostname": "example.net", + "id": 456789 + } + ], + "route_ids": [ + 1, + 2 + ], + "routes": [ + { + "label": "route-d-e", + "protocol": "https" + } + ] + }' \ + https://api.linode.com/v4beta/aclb/12345/configurations + - lang: CLI + source: > + linode-cli nodebalancers configuration-create 12345 \ + --label aclb-configuration \ + --port 443 \ + --protocol https \ + certificates \ + --hostname example.net \ + --id 456789 \ + --route_ids 150 \ + routes \ + --label glb-route-1 \ + --protocol http + /aclb/{CloudLoadBalancerID}/configurations/{ConfigurationID}: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + - name: ConfigurationID + in: path + description: The ID of the configuration to access. + required: true + schema: + type: integer + x-linode-cli-command: loadbalancers + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + summary: Configuration View + description: > + Returns configuration information for a single port of this + Cloud Load Balancer. + operationId: getLoadBalancerConfiguration + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: configurations-view + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: The requested Cloud Load Balancer configuration. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBConfigurationConfiguration" + default: + $ref: "#/components/responses/ErrorResponse" + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/aclb/12345/configurations/4567 + - lang: CLI + source: > + linode-cli loadbalancers configurations-view \ + 12345 4567 + put: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Configuration Update + description: > + Updates the configuration for a single port on a Cloud Load Balancer. + + + You can update the protocol only if the configuration doesn't have any assigned routes. The protocols for routes assigned to a configuration must match the configuration protocol. + + + Certificates are not appicable when the protocol is http/tcp. + operationId: updateLoadBalancerConfiguration + x-linode-cli-action: configuration-update + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: The Configuration fields to update. You can update the protocol only if the configuration doesn't have any assigned routes. + content: + application/json: + schema: + required: + - LoadBalancerId + - RouteId + type: object + properties: + label: + $ref: "#/components/schemas/ACLBConfigurationConfiguration/properties/label" + port: + $ref: "#/components/schemas/ACLBConfigurationConfiguration/properties/port" + protocol: + $ref: "#/components/schemas/ACLBConfigurationConfiguration/properties/protocol" + certificates: + $ref: "#/components/schemas/ACLBConfigurationConfiguration/properties/certificates" + route_ids: + type: integer + description: | + The route ids assigned to this configuration. + example: 125 + responses: + "200": + description: Configuration updated successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBConfigurationConfiguration" + 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": "config_name", + "port": 443, + "protocol": "https", + "certificates": [ + { + "hostname": "example.net", + "id": 456789, + } + ], + "route_ids": [ + "1", + "2", + "3" + ] + }' \ + https://api.linode.com/v4beta/aclb/12345/configurations/4567 + - lang: CLI + source: > + linode-cli loadbalancers configurations-update \ + 12345 4567 \ + --port 443 \ + --protocol https \ + certificates \ + --hostname example.net \ + --id 456789 \ + --route_ids 150 + delete: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Configuration Delete + description: > + Deletes the Configuration for a port of this Cloud Load Balancer. + + + All route associations with this Configuration are removed. The routes are not deleted. + + + **This cannot be undone.** + + + Once completed, this load balancer will no longer + respond to requests on the given port. + operationId: deleteLoadBalancerConfiguration + x-linode-cli-action: configuration-delete + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + responses: + "200": + description: Configuration 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/v4beta/aclb/12345/configurations/4567 + - lang: CLI + source: > + linode-cli loadbalancers configuration-delete \ + 12345 4567 + /aclb/{CloudLoadBalancerID}/routes: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + x-linode-cli-command: loadbalancers + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + parameters: + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" + summary: Routes List + description: > + Returns a paginated list of Cloud Load Balancer routes. Routes define how the load balancer directs incoming requests to service targets. + operationId: getLoadBalancerRoutes + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: routes-list + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: A paginated list of Cloud Load Balancer routes. + content: + application/json: + schema: + type: object + properties: + data: + $ref: "#/components/schemas/ACLBRoutes" + 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/v4beta/aclb/12345/routes + - lang: CLI + source: > + linode-cli loadbalancers routes-list 12345 + post: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Route Create + description: > + Creates a route. Routes contain rules that define how the load balancer directs incoming requests to service targets. A routing rule may have multiple service-targets. + + You can re-use routes on multiple load balancer configurations. + + If the `service_target` already exists, and you want to use it, use the `service_target` `id` and `percentage` instead of full `service_target` configuration. + + operationId: createLoadBalancerRoute + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: route-create + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: Information about the route to create. + required: true + content: + application/json: + schema: + required: + - label + - protocol + properties: + label: + type: string + description: | + The route name. + example: route-a-b + protocol: + type: string + description: | + The protocol to use for this route. The port protocol, route protocol, and service target protocol for a load balancer configuration must all be the same. + enum: + - http + - tcp + default: http + example: http + rules: + type: array + items: + properties: + match_condition: + $ref: "#/components/schemas/ACLBMatchCondition" + service_targets: + $ref: "#/components/schemas/ACLBRuleServiceTarget" + service_targets`: + type: object + description: | + If the `service_target` already exists, and you want to use it, use the `service_target` `id` and `percentage` instead of full `service_target` configuration. + properties: + id: + type: integer + description: | + Exisitng Service Target id. + example: 200 + percentage: + type: integer + description: | + The percentage of incoming requests routed to this service target. + example: 75 + responses: + "200": + description: Route created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBRoutes" + 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": "glb-route-1", + "protocol": "http", + "rules": [ + { + "match_condition": + { + "hostname": "example.com", + "match_field": "query", + "match_value": "?svc=images", + "session_stickiness_cookie": "cookie-name", + "session_stickiness_ttl": + }, + "service_targets":[ + { + "percentage": 50, + "label": "service-target-1", + "certificate_id": 456789, + "protocol": "http", + "load_balancing_policy": "round_robin", + "healthcheck": [ + { + "protocol": "http", + "interval": 20, + "timeout": 15, + "unhealthy_threshold": 2, + "healthy_threshold": 4, + "path": "/path1", + "host": "example.com" + }, + { + "id": "12", + "percentage": 50 + } + ] + }] + }] + }' \ + https://api.linode.com/v4beta/aclb/12345/route + - lang: CLI + source: > + linode-cli loadbalancers route-create \ + 12345 \ + --label glb-route-1 \ + --protocol http \ + rules [{hostname example.com, match_field query, match_value ?svc=images, session_stickiness_cookie cookie-name, session_stickiness_ttl }] \ + rules + service_targets [{percentage 50, label service-target-1, certificate_id 456789, protocol http, load_balancing_policy round_robin}] \ + rules + healthcheck \ + --interval 20 \ + --timeout 15 \ + --unhealthy_threshold 2 \ + --healthy_threshold 4 \ + --path /path1 \ + --host example.com \ + [{--id 1, percentage 50}] + + /aclb/{CloudLoadBalancerID}/routes{RouteId}: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + - name: RouteId + in: path + description: The ID of the Route to access + required: true + schema: + type: integer + x-linode-cli-command: loadbalancers + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + summary: Route View + description: > + Returns information about a single route, its rules and service targets. + operationId: getLoadBalancerRoute + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: route-view + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + responses: + "200": + description: Route created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBRoutes" + default: + $ref: "#/components/responses/ErrorResponse" + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/aclb/12345/routes/54321 + - lang: CLI + source: > + linode-cli loadbalancers route-view 12345 54321 + put: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Route Update + description: > + Updates information about a Route including its service targets or match conditions. + operationId: updateLoadBalancerRoute + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: route-update + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: The fields to update. + required: true + content: + application/json: + schema: + type: object + properties: + label: + type: string + description: > + The route name. + example: route-a-b + protocol: + type: string + enum: + - http + - tcp + default: http + example: http + rules: + type: array + items: + properties: + match_condition: + $ref: "#/components/schemas/ACLBMatchCondition" + service_targets`: + type: object + description: | + If the `service_target` already exists, and you want to use it, use the `service_target` `id` and `percentage` instead of full `service_target` configuration. + properties: + id: + type: integer + description: | + Exisitng Service Target id. + example: 200 + percentage: + type: integer + description: | + The percentage of incoming requests routed to this service target. + example: 75 + responses: + "200": + description: Route updated successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBRoutes" + 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": "glb-route-1", + "protocol": "http", + "rules": [ + { + "match_condition": + { + "hostname": "example.com", + "match_field": "query", + "match_value": "?svc=images", + "session_stickiness_cookie": "cookie-name", + "session_stickiness_ttl": + }, + "service_targets":[ + { + "id": "12", + "percentage": 50 + } + ] + }] + }' \ + https://api.linode.com/v4beta/aclb/12345/route/54321 + - lang: CLI + source: > + linode-cli loadbalancers route-update \ + 12345 54321 \ + --label glb-route-1 \ + --protocol http \ + rules [{hostname example.com, match_field query, match_value ?svc=images, session_stickiness_cookie cookie-name, session_stickiness_ttl }] \ + service_targets [{percentage 50, label service-target-1, certificate_id 456789, protocol http, load_balancing_policy round_robin}] \ + healthcheck \ + --interval 20 \ + --timeout 15 \ + --unhealthy_threshold 2 \ + --healthy_threshold 4 \ + --path /path1 \ + --host example.com \ + [{--id 1, percentage 100}] + delete: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Route Delete + description: > + Deletes a route. The route is deleted from all configurations that referenced it. + + + This does not delete the Cloud Load Balancer or configurations + that used the route. + operationId: deleteLoadBalancerRoute + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: route-delete + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + responses: + "200": + description: Route 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/v4beta/aclb/12345/routes/54321 + - lang: CLI + source: > + linode-cli loadbalancers route-delete \ + 12345 54321 + /aclb/{CloudLoadBalancerID}/service-targets: + x-linode-cli-command: loadbalancers + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + get: + operationId: getLoadBalancerService-Targets + x-linode-grant: read_only + tags: + - Cloud Load Balancer + parameters: + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" + summary: Service Targets List + description: > + View information for the service targets assigned to this Cloud Load Balancer. + + + A service target is a group of endpoints that a route directs requests to. + + + A service target may be associated with one or many routing rules, as long as the routing rules belong to the same Cloud Load Balancer instance. + x-linode-cli-action: service-targets + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: | + A paginated list of Cloud Load Balancer service targets. + content: + application/json: + schema: + type: object + properties: + data: + $ref: "#/components/schemas/ACLBServiceTargetEndpoint" + 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/v4beta/aclb/12345/service-targets \ + -H "Authorization: Bearer $TOKEN" + - lang: CLI + source: > + linode-cli loadbalancers servicetargets-list 12345 + post: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Service Target Create + description: > + Creates a Service Target. The load balancer directs requests to service target endpoints using configured routes. + {{< note >}} + For BETA, when creating a new service target, add at least one endpoint. + If at service target was created without an endpoint, delete the service target and re-add it with an endpoint. + {{< /note >}} + operationId: createLoadBalancerServiceTarget + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: servicetarget-create + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: Information about the service target to create. + required: true + content: + application/json: + schema: + required: + - label + - endpoints + properties: + label: + type: string + description: | + The service target label. + example: service-target-1 + endpoints: + $ref: "#/components/schemas/ACLBEndpoint" + certificate_id: + type: integer + description: | + Certificate identification number. + protocol: + type: string + description: | + The protocol this service target is configured to serve. The port protocol, route protocol, and service target protocol for a load balancer configuration must all be the same. + enum: + - http + - https + - tcp + default: http + load_balancing_policy: + type: string + enum: + - round_robin + - least_request + - ring_hash + - random + - maglev + default: roundrobin + description: > + The algorithm this Cloud Load Balancer uses for routing new requests to service targets. Cloud Load Balancer also has a geo-proximity feature for selecting the optimum endpoint. + example: roundrobin + healthcheck: + $ref: "#/components/schemas/ACLBHealthcheck" + responses: + "200": + description: Service Target created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBServiceTargetEndpoint" + 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": "service-target-1", + "endpoints": [ + { + "ip": "192.0.2.0", + "host": "example.org", + "port": 443, + "rate_capacity": 10000 + } + ], + "certificate_id": "456789", + "protocol": "https", + "load_balancing_policy": "round_robin", + "healthcheck": { + "protocol": "http", + "interval": 20, + "timeout": 15, + "unhealthy_threshold": 2, + "healthy_threshold": 4, + "path": "/path1", + "host": "example.com" + } + }' \ + https://api.linode.com/v4beta/aclb/12345/service-targets + - lang: CLI + source: > + linode-cli loadbalancers servicetarget-create \ + 12345 \ + --label service-target-1 \ + --endpoints [{ip 192.0.2.0, host example.com, port 443, rate_capacity 5000}] \ + --certificate_id 456789 \ + --protocol https \ + --load_balancing_policy round_robin \ + healthcheck \ + --protocol https \ + --interval 20 \ + --timeout 15 \ + --unhealthy_threshold 2 \ + --healthy_threshold 4 \ + --path /path1 \ + --host example.com + /aclb/{CloudLoadBalancerID}/service-targets/{ServiceTargetID}: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + - name: ServiceTargetID + in: path + description: The ID of the service target to access + required: true + schema: + type: integer + x-linode-cli-command: loadbalancers + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + summary: Service Target View + description: > + Returns information about a service target. + operationId: getLoadBalancerService-Target + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: service-target-view + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + responses: + "200": + description: Returns information about a single service target. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBServiceTargetEndpoint" + default: + $ref: "#/components/responses/ErrorResponse" + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/aclb/12345/service-targets/54321 + - lang: CLI + source: > + linode-cli loadbalancers servicetarget-view 12345 54321 + put: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Service Target Update + description: > + Updates information for a service target. + + + {{< note >}} + Editing the service target endpoint `host` value is not supported for Beta. If you need to change the service target endpoint `host`, delete the service target, and create a new service target with the new `host` value. + {{< /note >}} + operationId: updateLoadBalancerServiceTarget + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: servicetarget-update + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: The fields to update. + required: true + content: + application/json: + schema: + type: object + properties: + label: + type: string + description: > + The service target name. + example: service-target-a + endpoints: + $ref: "#/components/schemas/ACLBEndpoint" + certificate_id: + type: integer + description: > + Certificate identification number. + example: 50 + load_balancing_policy: + type: string + enum: + - round_robin + - least_request + - ring_hash + - random + - maglev + default: roundrobin + description: > + The algorithm this Cloud Load Balancer uses for routing new requests to service targets. Cloud Load Balancer also has a geo-proximity feature for selecting the optimum endpoint. + example: roundrobin + healthcheck: + $ref: "#/components/schemas/ACLBHealthcheck" + responses: + "200": + description: Service target updated successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBServiceTargetEndpoint" + 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": "service-target-a", + "endpoints": [ + { + "ip": "192.0.2.0", + "host": "example.org", + "port": 443, + "rate_capacity": 10000 + } + ], + "certificate_id": "456789", + "load_balancing_policy": "round_robin", + "healthcheck": + { + "protocol": "http", + "interval": 20, + "timeout": 15, + "unhealthy_threshold": 2, + "healthy_threshold": 4, + "path": "/path1", + "host": "example.com" + } }' \ - 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' + https://api.linode.com/v4beta/aclb/12345/service-targets/54321 + - lang: CLI + source: > + linode-cli loadbalancers servicetarget-update \ + 12345 54321 \ + --label service-target-a \ + --endpoints [{ip 192.0.2.0, host example.com, port 443, rate_capacity 5000}] \ + --certificate_id 456789 \ + --protocol https \ + --load_balancing_policy round_robin \ + healthcheck \ + --protocol https \ + --interval 20 \ + --timeout 15 \ + --unhealthy_threshold 2 \ + --healthy_threshold 4 \ + --path /path1 \ + --host example.com + delete: x-linode-grant: read_write tags: - - StackScripts - summary: StackScript Delete + - Cloud Load Balancer + summary: Service Target Delete + description: > + Deletes a service target. + + + Before deleting a service target, make sure that no requests are being directed to it. + + + This does not change or remove the Cloud Load Balancer. + operationId: deleteLoadBalancerServiceTarget + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: servicetarget-delete + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + responses: + "200": + description: Service target deleted successfully. + content: + application/json: + schema: + type: object + default: + $ref: "#/components/responses/ErrorResponse" + /aclb/{CloudLoadBalancerID}/certificates: + x-linode-cli-command: loadbalancers + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + get: + operationId: getLoadBalancerCertificates + x-linode-grant: read_only + tags: + - Cloud Load Balancer + parameters: + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" + summary: Certificates List + description: > + View certificates assigned to this Cloud Load Balancer. + x-linode-cli-action: certificates + security: + - personalAccessToken: [] + - oauth: + - aclb:read_only + responses: + "200": + description: Returns a paginated list of certificates assigned to this Cloud Load Balancer. + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ACLBCertificate" + 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/v4beta/aclb/12345/certificates \ + -H "Authorization: Bearer $TOKEN" + - lang: CLI + source: > + linode-cli loadbalancers certificates-list 12345 + post: + x-linode-grant: read_write + tags: + - Cloud Load Balancer + summary: Certificate Create + description: | + Creates a certificate. + + + Service target certificates, `ca`, are used by the load balancer to accept responses from your service target endpoints. These certificate(s) are applied to service target endpoints using the generated numeric identifier, `id`. + + + TLS termination certificates, `downstream`, are required for HTTPS Cloud Load Balancers. They are used by the load balancer to terminate the connection and decrypt requests from clients. These certificate(s) are applied to configurations using the generated numeric identifier, `id`. + operationId: createLoadBalancerCertificate + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: certificate-create + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: Create an aclb certificate and return a numeric identifier to be used in the Configuration creation endpoint. + required: true + content: + application/json: + schema: + type: object + properties: + label: + type: string + description: > + The certificate name. + example: cert-12345 + key: + type: integer + description: > + The PEM-formatted contents of your private key. Your private key must not have a passphrase. + + + For `ca` certificates, the key must be blank. + + + For `downstream` certificates, the key must be populated. + example: "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----" + certificate: + type: string + description: > + The PEM-formatted contents of the tls certificate. + type: + type: string + enum: + - ca + - downstream + description: > + For TLS Certificates use `downstream`. For Service Target Certificates use `ca`. + example: ca + responses: + "200": + description: Certificate created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/ACLBCertificate" + default: + $ref: "#/components/responses/ErrorResponse" + x-code-samples: + - lang: Shell + source: > + curl -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -X POST -d '{ + "key": "1111111111", + "certificate": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----", + "label": "cert-12345", + "type": "downstream" + }' \ + https://api.linode.com/v4beta/aclb/12345/certificates + - lang: CLI + source: > + linode-cli loadbalancers certificates-create \ + 12345 \ + --key 1111111111 \ + --certificate "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----" \ + --label cert-12345 \ + --type downstream + /aclb/{CloudLoadBalancerID}/certificates/{CertificateID}: + parameters: + - name: CloudLoadBalancerID + in: path + description: The ID of the Cloud Load Balancer to access. + required: true + schema: + type: integer + - name: CertificateID + in: path + description: The ID of the certificate to access + required: true + schema: + type: integer + x-linode-cli-command: loadbalancers + get: + x-linode-grant: read_only + tags: + - Cloud Load Balancer + summary: Certificate View 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 + Returns information about a cerifiticate. + operationId: getLoadBalancerCertificate + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: service-target-view security: - - personalAccessToken: [] - - oauth: - - stackscripts:read_write + - personalAccessToken: [] + - oauth: + - aclb:read_write responses: - '200': - description: StackScript was deleted. + "200": + description: Returns information about a single certificate. content: application/json: schema: - type: object + $ref: "#/components/schemas/ACLBCertificate" default: - $ref: '#/components/responses/ErrorResponse' + $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: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/aclb/12345/certificate/10 + - lang: CLI + source: > + linode-cli loadbalancers certificate-view 12345 10 + put: + x-linode-grant: read_write tags: - - Linode Types - summary: Types List + - Cloud Load Balancer + summary: Certificate Update 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 + Updates a certificate. + operationId: updateLoadBalancerCertificate + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: certificate-update + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write + requestBody: + description: The fields to update. + required: true + content: + application/json: + schema: + type: object + properties: + label: + type: string + description: > + The certificate name. + example: cert-12345 + key: + type: integer + description: > + The PEM-formatted contents of your private key. Your private key must not have a passphrase. + + + For `ca` certificates, the key must be blank. + + + For `downstream` certificates, the key must be populated. + example: "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----" + certificate: + type: string + description: > + The PEM-formatted contents of the tls certificate. + type: + type: string + enum: + - ca + - downstream + description: > + For TLS Certificates use `downstream`. For Service Target Certificates use `ca`. + example: ca responses: - '200': - description: A collection of Linode Types. + "200": + description: Certificate updated successfully. 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' + $ref: "#/components/schemas/ACLBCertificate" default: - $ref: '#/components/responses/ErrorResponse' + $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: + - lang: Shell + source: > + curl -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -X POST -d '{ + "key": "1111111111", + "certificate": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----", + "label": "cert-12345", + "type": "downstream" + }' \ + https://api.linode.com/v4beta/aclb/12345/certificates + - lang: CLI + source: > + linode-cli loadbalancers certificates-create \ + 12345 \ + --key 1111111111 \ + --certificate "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----" \ + --label cert-12345 \ + --type downstream + + delete: + x-linode-grant: read_write tags: - - Linode Types - summary: Type View + - Cloud Load Balancer + summary: Certificate Delete 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 + Deletes a certificate. + + + This does not remove the Cloud Load Balancer, but all associations to the deleted certificate are removed. + operationId: deleteLoadBalancerCertificate + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: certificate-delete + security: + - personalAccessToken: [] + - oauth: + - aclb:read_write responses: - '200': - description: A single Linode Type. + "200": + description: Certificate deleted successfully. content: application/json: - x-linode-cli-subtables: - - region_prices schema: - $ref: '#/components/schemas/LinodeType' + type: object 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 + $ref: "#/components/responses/ErrorResponse" /lke/clusters: x-linode-cli-command: lke get: @@ -10418,16 +12054,16 @@ paths: x-linode-cli-action: clusters-list x-linode-grant: read_only security: - - personalAccessToken: [] - - oauth: - - lke:read_only + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Clusters List description: > Lists current Kubernetes clusters available on your account. responses: - '200': + "200": description: Returns an array of all Kubernetes clusters on your Account. content: application/json: @@ -10437,34 +12073,34 @@ paths: data: type: array items: - $ref: '#/components/schemas/LKECluster' + $ref: "#/components/schemas/LKECluster" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Cluster Create description: | Creates a Kubernetes cluster. The Kubernetes cluster will be created @@ -10476,32 +12112,32 @@ paths: requestBody: description: Configuration for the Kubernetes cluster x-linode-cli-allowed-defaults: - - region + - region content: application/json: schema: type: object required: - - label - - region - - k8s_version - - node_pools + - label + - region + - k8s_version + - node_pools properties: label: - $ref: '#/components/schemas/LKECluster/properties/label' + $ref: "#/components/schemas/LKECluster/properties/label" region: - $ref: '#/components/schemas/LKECluster/properties/region' + $ref: "#/components/schemas/LKECluster/properties/region" k8s_version: - $ref: '#/components/schemas/LKECluster/properties/k8s_version' + $ref: "#/components/schemas/LKECluster/properties/k8s_version" tags: - $ref: '#/components/schemas/LKECluster/properties/tags' + $ref: "#/components/schemas/LKECluster/properties/tags" node_pools: type: array required: - - type - - count + - type + - count items: - $ref: '#/components/schemas/LKENodePoolRequestBody' + $ref: "#/components/schemas/LKENodePoolRequestBody" control_plane: type: object description: > @@ -10513,104 +12149,103 @@ paths: Defines whether High Availability is enabled for the Control Plane Components of the cluster. Defaults to `false`. example: true responses: - '200': + "200": description: Kubernetes cluster creation has started. content: application/json: schema: - $ref: '#/components/schemas/LKECluster' + $ref: "#/components/schemas/LKECluster" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 } - }, - { - "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 + ] + }' \ + 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Cluster View description: > Get a specific Cluster by ID. responses: - '200': + "200": description: Returns a single Kubernetes cluster. content: application/json: schema: - $ref: '#/components/schemas/LKECluster' + $ref: "#/components/schemas/LKECluster" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Cluster Update description: > Updates a Kubernetes cluster. @@ -10621,115 +12256,115 @@ paths: schema: properties: label: - $ref: '#/components/schemas/LKECluster/properties/label' + $ref: "#/components/schemas/LKECluster/properties/label" tags: - type: array - items: - type: string - example: + 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. + 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. + 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. + 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. + 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. + type: object + description: | + Defines settings for the Kubernetes Control Plane. Allows for the enabling of High Availability (HA) for Control Plane Components. - When upgrading pre-existing LKE clusters to use the HA Control Plane, the following changes will additionally occur: + Enabling High Availability for LKE is an **irreversible** change. - - All nodes will be deleted and new nodes will be created to replace them. + When upgrading pre-existing LKE clusters to use the HA Control Plane, the following changes will additionally occur: - - Any local storage (such as `hostPath` volumes) will be erased. + - All nodes will be deleted and new nodes will be created to replace them. - - 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 + - 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': + "200": description: Returns a single Kubernetes cluster. content: application/json: schema: properties: label: - $ref: '#/components/schemas/LKECluster/properties/label' + $ref: "#/components/schemas/LKECluster/properties/label" tags: type: array items: type: string example: - - prod - - monitoring - - ecomm - - blog + - 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' + $ref: "#/components/schemas/LKECluster/properties/created" updated: - $ref: '#/components/schemas/LKECluster/properties/updated' + $ref: "#/components/schemas/LKECluster/properties/updated" region: - $ref: '#/components/schemas/LKECluster/properties/region' + $ref: "#/components/schemas/LKECluster/properties/region" k8s_version: - $ref: '#/components/schemas/LKECluster/properties/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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Cluster Delete description: | Deletes a Cluster you have permission to `read_write`. @@ -10744,46 +12379,46 @@ paths: - Does not delete any of the volumes created by this Kubernetes cluster responses: - '200': + "200": description: Delete successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Pools List description: > Returns all active Node Pools on a Kubernetes cluster. responses: - '200': + "200": description: Returns an array of all Pools in this Kubernetes cluster. content: application/json: @@ -10807,32 +12442,32 @@ paths: data: type: array items: - $ref: '#/components/schemas/LKENodePool' + $ref: "#/components/schemas/LKENodePool" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Pool Create description: > Creates a new Node Pool for the designated Kubernetes cluster. @@ -10844,62 +12479,62 @@ paths: schema: type: object required: - - type - - count + - type + - count allOf: - - $ref: '#/components/schemas/LKENodePoolRequestBody' + - $ref: "#/components/schemas/LKENodePoolRequestBody" responses: - '200': + "200": description: Node Pool has been created. content: application/json: schema: - $ref: '#/components/schemas/LKENodePool' + $ref: "#/components/schemas/LKENodePool" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - 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 @@ -10908,75 +12543,75 @@ paths: **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.** responses: - '200': + "200": description: Recycle request succeeded and is in progress. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Pool View description: > Get a specific Node Pool by ID. responses: - '200': + "200": description: Returns the requested Node Pool. content: application/json: schema: - $ref: '#/components/schemas/LKENodePool' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Pool Update description: | Updates a Node Pool's count and autoscaler configuration. @@ -10991,45 +12626,45 @@ paths: schema: properties: count: - $ref: '#/components/schemas/LKENodePoolRequestBody/properties/count' + $ref: "#/components/schemas/LKENodePoolRequestBody/properties/count" autoscaler: - $ref: '#/components/schemas/LKENodePoolRequestBody/properties/autoscaler' + $ref: "#/components/schemas/LKENodePoolRequestBody/properties/autoscaler" responses: - '200': + "200": description: Node Pool was successfully modified. content: application/json: schema: - $ref: '#/components/schemas/LKENodePool' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Pool Delete description: | Delete a specific Node Pool from a Kubernetes cluster. @@ -11038,47 +12673,47 @@ paths: Deleting a Node Pool will delete all Linodes within that Pool. responses: - '200': + "200": description: Delete successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - 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 @@ -11087,53 +12722,53 @@ paths: **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.** responses: - '200': + "200": description: Recycle request succeeded and is in progress. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node View description: > Returns the values for a specified node object. responses: - '200': + "200": description: Returns the values of a node object in the form that it appears currently in the node pool array. content: application/json: @@ -11163,28 +12798,28 @@ paths: `ready` indicates that the Linode has successfully been created and is running Kubernetes software. enum: - - ready - - not_ready + - ready + - not_ready example: ready default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Delete description: | Deletes a specific Node from a Node Pool. @@ -11193,47 +12828,47 @@ paths: Deleting a Node will reduce the size of the Node Pool it belongs to. responses: - '200': + "200": description: Delete successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Node Recycle description: | Recycles an individual Node in the designated Kubernetes Cluster. The Node will be deleted @@ -11242,48 +12877,48 @@ paths: **Any local storage on deleted Linodes (such as "hostPath" and "emptyDir" volumes, or "local" PersistentVolumes) will be erased.** responses: - '200': + "200": description: Recycle request succeeded and is in progress. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - 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': + "200": description: Returns the Kubernetes API server endpoints for this cluster. content: application/json: @@ -11304,39 +12939,39 @@ paths: A Kubernetes API server endpoint for this cluster. example: "https://192.0.2.1:6443" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - 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. @@ -11347,7 +12982,7 @@ paths: 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': + "200": description: Returns a Kubernetes Cluster Dashboard URL. content: application/json: @@ -11359,39 +12994,38 @@ paths: example: https://example.dashboard.linodelke.net description: The Cluster Dashboard access URL. default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - 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': + "200": description: Returns the Base64-encoded Kubeconfig file for this Kubernetes cluster. content: application/json: @@ -11404,63 +13038,63 @@ paths: description: > The Base64-encoded Kubeconfig file for this Cluster. default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubeconfig Delete description: | Delete and regenerate the Kubeconfig file for a Cluster. responses: - '200': + "200": description: Kubeconfig file deleted and regenerated successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Cluster Regenerate description: | Regenerate the Kubeconfig file and/or the service account token for a Cluster. @@ -11489,70 +13123,70 @@ paths: description: | Whether to delete and regenerate the service access token for this Cluster. responses: - '200': + "200": description: Regenerate request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_write tags: - - Linode Kubernetes Engine (LKE) + - 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': + "200": description: Service token deleted and regenerated successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -11560,17 +13194,17 @@ paths: x-linode-cli-action: versions-list x-linode-grant: read_only security: - - personalAccessToken: [] - - oauth: - - lke:read_only + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Versions List description: > List the Kubernetes versions available for deployment to a Kubernetes cluster. responses: - '200': + "200": description: > Returns a list of Kubernetes versions available for deployment to a Kubernetes cluster. @@ -11582,74 +13216,74 @@ paths: data: type: array items: - $ref: '#/components/schemas/LKEVersion' + $ref: "#/components/schemas/LKEVersion" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - lke:read_only tags: - - Linode Kubernetes Engine (LKE) + - Linode Kubernetes Engine (LKE) summary: Kubernetes Version View description: > View a Kubernetes version available for deployment to a Kubernetes cluster. responses: - '200': + "200": description: > Returns a Kubernetes version object that is available for deployment to a Kubernetes cluster. content: application/json: schema: - $ref: '#/components/schemas/LKEVersion' + $ref: "#/components/schemas/LKEVersion" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Longview + - Longview summary: Longview Clients List description: > Returns a paginated list of Longview Clients you have access @@ -11660,11 +13294,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - longview:read_only + - personalAccessToken: [] + - oauth: + - longview:read_only responses: - '200': + "200": description: A paginated list of Longview Clients. content: application/json: @@ -11674,27 +13308,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/LongviewClient' + $ref: "#/components/schemas/LongviewClient" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Longview summary: Longview Client Create description: > Creates a Longview Client. This Client will not begin monitoring @@ -11704,81 +13338,81 @@ paths: operationId: createLongviewClient x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - longview:read_write + - personalAccessToken: [] + - oauth: + - longview:read_write requestBody: description: Information about the LongviewClient to create. required: true content: application/json: schema: - $ref: '#/components/schemas/LongviewClient' + $ref: "#/components/schemas/LongviewClient" responses: - '200': + "200": description: Longview Client created successfully. content: application/json: schema: - $ref: '#/components/schemas/LongviewClient' + $ref: "#/components/schemas/LongviewClient" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - longview:read_only responses: - '200': + "200": description: The requested Longview Client. content: application/json: schema: - $ref: '#/components/schemas/LongviewClient' + $ref: "#/components/schemas/LongviewClient" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Longview summary: Longview Client Update description: > Updates a Longview Client. This cannot update how it monitors your @@ -11787,42 +13421,42 @@ paths: operationId: updateLongviewClient x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - longview:read_write + - personalAccessToken: [] + - oauth: + - longview:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/LongviewClient' + $ref: "#/components/schemas/LongviewClient" responses: - '200': + "200": description: Longview Client updated successfully. content: application/json: schema: - $ref: '#/components/schemas/LongviewClient' + $ref: "#/components/schemas/LongviewClient" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Longview summary: Longview Client Delete description: > Deletes a Longview Client from your Account. @@ -11838,32 +13472,32 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - longview:read_write + - personalAccessToken: [] + - oauth: + - longview:read_write responses: - '200': + "200": description: Longview Client deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Longview summary: Longview Plan View description: > Get the details of your current Longview plan. This returns a `LongviewSubscription` object @@ -11883,29 +13517,29 @@ paths: operationId: getLongviewPlan x-linode-cli-action: plan-view security: - - personalAccessToken: [] - - oauth: - - longview:read_only + - personalAccessToken: [] + - oauth: + - longview:read_only responses: - '200': + "200": description: The Longview plan details for this account. content: application/json: schema: - $ref: '#/components/schemas/LongviewSubscription' + $ref: "#/components/schemas/LongviewSubscription" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Longview summary: Longview Plan Update description: > Update your Longview plan to that of the given subcription ID. This returns a `LongviewSubscription` object for @@ -11921,45 +13555,45 @@ paths: operationId: updateLongviewPlan x-linode-cli-action: plan-update security: - - personalAccessToken: [] - - oauth: - - longview:read_write + - personalAccessToken: [] + - oauth: + - longview:read_write requestBody: description: Update your Longview subscription plan. required: true content: application/json: schema: - $ref: '#/components/schemas/LongviewPlan' + $ref: "#/components/schemas/LongviewPlan" responses: - '200': + "200": description: The updated Longview plan details for this account. content: application/json: schema: - $ref: '#/components/schemas/LongviewSubscription' + $ref: "#/components/schemas/LongviewSubscription" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Longview + - Longview summary: Longview Subscriptions List description: > Returns a paginated list of available Longview Subscriptions. This is @@ -11967,7 +13601,7 @@ paths: operationId: getLongviewSubscriptions x-linode-cli-action: subscriptions-list responses: - '200': + "200": description: A paginated list of Longview Subscriptions. content: application/json: @@ -11977,35 +13611,35 @@ paths: data: type: array items: - $ref: '#/components/schemas/LongviewSubscription' + $ref: "#/components/schemas/LongviewSubscription" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - name: subscriptionId + in: path + required: true + description: The Longview Subscription to look up. + schema: + type: string x-linode-cli-command: longview get: tags: - - Longview + - 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 @@ -12013,32 +13647,32 @@ paths: operationId: getLongviewSubscription x-linode-cli-action: subscription-view responses: - '200': + "200": description: The requested Longview Subscription details. content: application/json: schema: - $ref: '#/components/schemas/LongviewSubscription' + $ref: "#/components/schemas/LongviewSubscription" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Managed + - Managed summary: Managed Contacts List description: | Returns a paginated list of Managed Contacts on your Account. @@ -12047,11 +13681,11 @@ paths: operationId: getManagedContacts x-linode-cli-action: contacts-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of ManagedContacts content: application/json: @@ -12061,27 +13695,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/ManagedContact' + $ref: "#/components/schemas/ManagedContact" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Contact Create description: | Creates a Managed Contact. A Managed Contact is someone Linode @@ -12092,58 +13726,58 @@ paths: operationId: createManagedContact x-linode-cli-action: contact-create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the contact to create. content: application/json: schema: - $ref: '#/components/schemas/ManagedContact' + $ref: "#/components/schemas/ManagedContact" responses: - '200': + "200": description: Contact created. content: application/json: schema: - $ref: '#/components/schemas/ManagedContact' + $ref: "#/components/schemas/ManagedContact" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - 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 + - Managed summary: Managed Contact View description: | Returns a single Managed Contact. @@ -12152,30 +13786,30 @@ paths: operationId: getManagedContact x-linode-cli-action: contact-view security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: The requested Managed Contact. content: application/json: schema: - $ref: '#/components/schemas/ManagedContact' + $ref: "#/components/schemas/ManagedContact" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Contact Update description: > Updates information about a Managed Contact. @@ -12184,50 +13818,50 @@ paths: operationId: updateManagedContact x-linode-cli-action: contact-update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/ManagedContact' + $ref: "#/components/schemas/ManagedContact" responses: - '200': + "200": description: Contact updated successfully. content: application/json: schema: - $ref: '#/components/schemas/ManagedContact' + $ref: "#/components/schemas/ManagedContact" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - Managed summary: Managed Contact Delete description: | Deletes a Managed Contact. @@ -12236,36 +13870,36 @@ paths: operationId: deleteManagedContact x-linode-cli-action: contact-delete security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Contact deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Managed + - Managed summary: Managed Credentials List description: | Returns a paginated list of Managed Credentials on your Account. @@ -12274,11 +13908,11 @@ paths: operationId: getManagedCredentials x-linode-cli-action: credentials-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of ManagedCredentials content: application/json: @@ -12288,27 +13922,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/ManagedCredential' + $ref: "#/components/schemas/ManagedCredential" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Credential Create description: | Creates a Managed Credential. A Managed Credential is stored securely @@ -12319,72 +13953,72 @@ paths: operationId: createManagedCredential x-linode-cli-action: credential-create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the Credential to create. content: application/json: schema: required: - - label - - password + - 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 + - $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': + "200": description: Credential created. content: application/json: schema: - $ref: '#/components/schemas/ManagedCredential' + $ref: "#/components/schemas/ManagedCredential" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Credential View description: | Returns a single Managed Credential. @@ -12393,30 +14027,30 @@ paths: operationId: getManagedCredential x-linode-cli-action: credential-view security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: The requested Managed Credential. content: application/json: schema: - $ref: '#/components/schemas/ManagedCredential' + $ref: "#/components/schemas/ManagedCredential" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Credential Update description: > Updates the label of a Managed Credential. This endpoint @@ -12429,51 +14063,51 @@ paths: operationId: updateManagedCredential x-linode-cli-action: credential-update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/ManagedCredential' + $ref: "#/components/schemas/ManagedCredential" responses: - '200': + "200": description: Credential updated successfully. content: application/json: schema: - $ref: '#/components/schemas/ManagedCredential' + $ref: "#/components/schemas/ManagedCredential" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Credential Username and Password Update description: | Updates the username and password for a Managed Credential. @@ -12482,9 +14116,9 @@ paths: operationId: updateManagedCredentialUsernamePassword x-linode-cli-action: credential-update-username-password security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > The new username and password to assign to the @@ -12493,7 +14127,7 @@ paths: application/json: schema: required: - - password + - password properties: username: type: string @@ -12508,42 +14142,42 @@ paths: The password to use when accessing the Managed Service. example: s3cur3P@ssw0rd responses: - '200': + "200": description: Credential username and password updated. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Credential Delete description: | Deletes a Managed Credential. Linode special forces will no longer @@ -12553,33 +14187,33 @@ paths: operationId: deleteManagedCredential x-linode-cli-action: credential-revoke security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Credential deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed SSH Key View description: | Returns the unique SSH public key assigned to your Linode account's @@ -12591,11 +14225,11 @@ paths: operationId: viewManagedSSHKey x-linode-cli-action: credential-sshkey-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested Managed SSH public key. content: application/json: @@ -12613,24 +14247,24 @@ paths: readOnly: true x-linode-cli-display: 1 default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Managed + - Managed summary: Managed Issues List description: | Returns a paginated list of recent and ongoing issues detected on your @@ -12640,11 +14274,11 @@ paths: operationId: getManagedIssues x-linode-cli-action: issues-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: > A paginated list of open or ongoing Managed Issues. content: @@ -12655,36 +14289,36 @@ paths: data: type: array items: - $ref: '#/components/schemas/ManagedIssue' + $ref: "#/components/schemas/ManagedIssue" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Issue View description: | Returns a single Issue that is impacting or did impact one of your @@ -12694,35 +14328,35 @@ paths: operationId: getManagedIssue x-linode-cli-action: issue-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested issue. content: application/json: schema: - $ref: '#/components/schemas/ManagedIssue' + $ref: "#/components/schemas/ManagedIssue" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Managed + - Managed summary: Managed Linode Settings List description: | Returns a paginated list of Managed Settings for your Linodes. There will @@ -12732,11 +14366,11 @@ paths: operationId: getManagedLinodeSettings x-linode-cli-action: linode-settings-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: > A paginated list of Managed settings for your Linodes. content: @@ -12747,36 +14381,36 @@ paths: data: type: array items: - $ref: '#/components/schemas/ManagedLinodeSettings' + $ref: "#/components/schemas/ManagedLinodeSettings" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Linode's Managed Settings View description: | Returns a single Linode's Managed settings. @@ -12785,30 +14419,30 @@ paths: operationId: getManagedLinodeSetting x-linode-cli-action: linode-setting-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "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 + $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 + - Managed summary: Linode's Managed Settings Update description: > Updates a single Linode's Managed settings. @@ -12817,53 +14451,53 @@ paths: operationId: updateManagedLinodeSetting x-linode-cli-action: linode-setting-update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The settings to update. required: true content: application/json: schema: - $ref: '#/components/schemas/ManagedLinodeSettings' + $ref: "#/components/schemas/ManagedLinodeSettings" responses: - '200': + "200": description: Settings updated successfully. content: application/json: schema: - $ref: '#/components/schemas/ManagedLinodeSettings' + $ref: "#/components/schemas/ManagedLinodeSettings" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Services List description: | Returns a paginated list of Managed Services on your Account. These @@ -12874,11 +14508,11 @@ paths: operationId: getManagedServices x-linode-cli-action: services-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of Managed Services content: application/json: @@ -12888,27 +14522,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Service Create description: | Creates a Managed Service. Linode Managed will begin monitoring this @@ -12918,73 +14552,73 @@ paths: operationId: createManagedService x-linode-cli-action: service-create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the service to monitor. content: application/json: schema: required: - - label - - service_type - - address - - timeout + - label + - service_type + - address + - timeout allOf: - - $ref: '#/components/schemas/ManagedService' + - $ref: "#/components/schemas/ManagedService" responses: - '200': + "200": description: Service created. content: application/json: schema: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Service View description: | Returns information about a single Managed Service on your Account. @@ -12993,30 +14627,30 @@ paths: operationId: getManagedService x-linode-cli-action: service-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested Managed Service. content: application/json: schema: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Service Update description: | Updates information about a Managed Service. @@ -13025,58 +14659,58 @@ paths: operationId: updateManagedService x-linode-cli-action: service-update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" responses: - '200': + "200": description: Service updated successfully. content: application/json: schema: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Service Delete description: | Deletes a Managed Service. This service will no longer be monitored by @@ -13086,40 +14720,40 @@ paths: operationId: deleteManagedService x-linode-cli-action: service-delete security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Service deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Service Disable description: | Temporarily disables monitoring of a Managed Service. @@ -13128,41 +14762,41 @@ paths: operationId: disableManagedService x-linode-cli-action: service-disable security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Service disabled. content: application/json: schema: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Managed summary: Managed Service Enable description: | Enables monitoring of a Managed Service. @@ -13171,34 +14805,34 @@ paths: operationId: enableManagedService x-linode-cli-action: service-enable security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Service enabled. content: application/json: schema: - $ref: '#/components/schemas/ManagedService' + $ref: "#/components/schemas/ManagedService" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Managed summary: Managed Stats List description: | Returns a list of Managed Stats on your Account in the form of x and y data points. @@ -13217,11 +14851,11 @@ paths: operationId: getManagedStats x-linode-cli-action: stats-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A list of Managed Stats from the last 24 hours. content: application/json: @@ -13232,78 +14866,67 @@ paths: type: object oneOf: - x-linode-ref-name: "Stats Available" - $ref: '#/components/schemas/StatsDataAvailable' + $ref: "#/components/schemas/StatsDataAvailable" - x-linode-ref-name: "Stats Unavailable" - $ref: '#/components/schemas/StatsDataUnavailable' + $ref: "#/components/schemas/StatsDataUnavailable" discriminator: propertyName: x-linode-ref-name default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Networking summary: IP Addresses List description: | - Returns a paginated list of IP Addresses on your Account, excluding private addresses. + Returns a paginated list of IP addresses on your account, excluding private addresses. - We recommend utilizing the "skip_ipv6_rdns" option to improve performance if your application frequently accesses this command and does not require IPv6 RDNS data. + **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 - requestBody: - description: Options to request additional data. - required: true - content: - application/json: - schema: - type: object - properties: - skip_ipv6_rdns: - type: boolean - default: false - description: | - When `true`, the "rdns" property for any "ipv6" type addresses always returns `null` regardless of whether RDNS data exists for the address. - - The default value is `false`. + 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 + default: false responses: - '200': + "200": description: A paginated list of IP Addresses. content: application/json: schema: - $ref: '#/components/schemas/IPAddressesListResponse' + $ref: "#/components/schemas/IPAddressesListResponse" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > curl -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X GET -d '{ - "skip_ipv6_rdns": false - }' \ - https://api.linode.com/v4/networking/ips + https://api.linode.com/v4/networking/ips?skip_ipv6_rdns=true - lang: CLI source: > - linode-cli networking ips-list --skip_ipv6_rdns false + linode-cli networking ips-list post: x-linode-grant: read_write tags: - - Networking + - Networking summary: IP Address Allocate description: > Allocates a new IPv4 Address on your Account. The Linode must be @@ -13313,10 +14936,10 @@ paths: operationId: allocateIP x-linode-cli-action: ip-add security: - - personalAccessToken: [] - - oauth: - - ips:read_write - - linodes:read_write + - personalAccessToken: [] + - oauth: + - ips:read_write + - linodes:read_write requestBody: description: Information about the address you are creating. required: true @@ -13324,14 +14947,14 @@ paths: application/json: schema: required: - - type - - public - - linode_id + - type + - public + - linode_id properties: type: type: string enum: - - ipv4 + - ipv4 description: > The type of address you are requesting. Only IPv4 addresses may be allocated through this endpoint. @@ -13348,75 +14971,75 @@ paths: will be allocated to. example: 123 responses: - '200': + "200": description: IP Address allocated successfully. content: application/json: schema: - $ref: '#/components/schemas/IPAddress' + $ref: "#/components/schemas/IPAddress" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - ips:read_only responses: - '200': + "200": description: The requested IP Address. content: application/json: schema: - $ref: '#/components/schemas/IPAddress' + $ref: "#/components/schemas/IPAddress" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Networking summary: IP Address RDNS Update description: > Sets RDNS on an IP Address. Forward DNS must already be set up for @@ -13426,9 +15049,9 @@ paths: operationId: updateIP x-linode-cli-action: ip-update security: - - personalAccessToken: [] - - oauth: - - ips:read_write + - personalAccessToken: [] + - oauth: + - ips:read_write requestBody: description: The information to update. required: true @@ -13449,34 +15072,34 @@ paths: nullable: true example: test.example.org responses: - '200': + "200": description: RDNS set successfully content: application/json: schema: - $ref: '#/components/schemas/IPAddress' + $ref: "#/components/schemas/IPAddress" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - 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. @@ -13497,10 +15120,10 @@ paths: operationId: assignIPs x-linode-cli-action: ip-assign security: - - personalAccessToken: [] - - oauth: - - ips:read_write - - linodes:read_write + - personalAccessToken: [] + - oauth: + - ips:read_write + - linodes:read_write requestBody: description: > Information about what IPv4 address or IPv6 range to assign, and to which Linode. @@ -13510,49 +15133,49 @@ paths: schema: $ref: "#/components/schemas/IPAddressesAssignRequest" responses: - '200': + "200": description: All assignments completed successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 x-linode-grant: read_write tags: - - Networking + - Networking summary: IP Addresses Share description: | Configure shared IPs. @@ -13565,51 +15188,51 @@ paths: operationId: shareIPs x-linode-cli-action: ip-share security: - - personalAccessToken: [] - - oauth: - - ips:read_write - - linodes:read_write + - 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' + $ref: "#/components/schemas/IPAddressesShareRequest" responses: - '200': + "200": description: IP Address sharing successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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:: + - 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 + - Networking summary: Linodes Assign IPv4s description: | This command is equivalent to **IP Addresses Assign** ([POST /networking/ips/assign](#ip-addresses-assign)). @@ -13629,10 +15252,10 @@ paths: operationId: assignIPv4s x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - ips:read_write - - linodes:read_write + - personalAccessToken: [] + - oauth: + - ips:read_write + - linodes:read_write requestBody: description: > Information about what IPv4 address to assign, and to which Linode. @@ -13642,47 +15265,47 @@ paths: schema: $ref: "#/components/schemas/IPAddressesAssignRequest" responses: - '200': + "200": description: All assignments completed successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Networking summary: IPv4 Sharing Configure description: | This command is equivalent to **IP Addresses Share** ([POST /networking/ips/share](#ip-addresses-share)). @@ -13695,53 +15318,53 @@ paths: operationId: shareIPv4s x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - ips:read_write - - linodes:read_write + - 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' + $ref: "#/components/schemas/IPAddressesShareRequest" responses: - '200': + "200": description: Sharing configured successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Networking + - Networking summary: IPv6 Pools List description: > Displays the IPv6 pools on your Account. A pool of IPv6 addresses are routed to all of your @@ -13750,11 +15373,11 @@ paths: operationId: getIPv6Pools x-linode-cli-action: v6-pools security: - - personalAccessToken: [] - - oauth: - - ips:read_only + - personalAccessToken: [] + - oauth: + - ips:read_only responses: - '200': + "200": description: The IPv6 pools on your Account. content: application/json: @@ -13764,31 +15387,31 @@ paths: data: type: array items: - $ref: '#/components/schemas/IPv6Pool' + $ref: "#/components/schemas/IPv6Pool" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Networking + - Networking summary: IPv6 Ranges List description: > Displays the IPv6 ranges on your Account. @@ -13802,11 +15425,11 @@ paths: operationId: getIPv6Ranges x-linode-cli-action: v6-ranges security: - - personalAccessToken: [] - - oauth: - - ips:read_only + - personalAccessToken: [] + - oauth: + - ips:read_only responses: - '200': + "200": description: The IPv6 ranges on your Account. content: application/json: @@ -13816,26 +15439,26 @@ paths: data: type: array items: - $ref: '#/components/schemas/IPv6Range' + $ref: "#/components/schemas/IPv6Range" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -13852,10 +15475,10 @@ paths: operationId: postIPv6Range x-linode-cli-action: v6-range-create security: - - personalAccessToken: [] - - oauth: - - ips:read_write - - linodes:read_write + - personalAccessToken: [] + - oauth: + - ips:read_write + - linodes:read_write requestBody: description: > Information about the IPv6 range to create. @@ -13864,7 +15487,7 @@ paths: application/json: schema: required: - - prefix_length + - prefix_length properties: linode_id: type: integer @@ -13878,8 +15501,8 @@ paths: prefix_length: type: integer enum: - - 56 - - 64 + - 56 + - 64 description: > The prefix length of the IPv6 range. route_target: @@ -13895,7 +15518,7 @@ paths: * **Note**: Omit the `/128` prefix length of the SLAAC address when using this property. example: 2001:0db8::1 responses: - '200': + "200": description: IPv6 range created successfully. content: application/json: @@ -13915,21 +15538,21 @@ paths: The route target IPV6 SLAAC address for this range. Does not include the prefix length. example: 2001:0db8::1 default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -13945,35 +15568,35 @@ paths: x-linode-cli-command: networking get: tags: - - Networking + - Networking summary: IPv6 Range View description: | View IPv6 range information. operationId: getIPv6Range x-linode-cli-action: v6-range-view security: - - personalAccessToken: [] - - oauth: - - ips:read + - personalAccessToken: [] + - oauth: + - ips:read responses: - '200': + "200": description: Returns IPv6 range information. content: application/json: schema: - $ref: '#/components/schemas/IPv6RangeBGP' + $ref: "#/components/schemas/IPv6RangeBGP" default: - $ref: '#/components/responses/ErrorResponse' + $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:: + - 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 + - Networking summary: IPv6 Range Delete description: | Removes this IPv6 range from your account and disconnects the range from any assigned Linodes. @@ -13981,39 +15604,39 @@ paths: **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 + security: + - personalAccessToken: [] + - oauth: + - ips:read_write responses: - '200': + "200": description: IPv6 Range deleted. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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:: + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewalls List description: | Returns a paginated list of accessible Firewalls. @@ -14022,11 +15645,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - firewall:read_only + - personalAccessToken: [] + - oauth: + - firewall:read_only responses: - '200': + "200": description: Returns an array of Firewalls. content: application/json: @@ -14036,29 +15659,29 @@ paths: data: type: array items: - $ref: '#/components/schemas/Firewall' + $ref: "#/components/schemas/Firewall" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Create description: | Creates a Firewall to filter network traffic. @@ -14084,19 +15707,19 @@ paths: operationId: createFirewalls x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - firewall:read_write + - 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' + - $ref: "#/components/schemas/Firewall" required: - - label - - rules + - label + - rules properties: devices: type: object @@ -14129,98 +15752,98 @@ paths: - 321 rules: required: - - inbound_policy - - outbound_policy + - inbound_policy + - outbound_policy properties: inbound: required: - - action - - addresses - - protocol + - action + - addresses + - protocol outbound: required: - - action - - addresses - - protocol + - action + - addresses + - protocol responses: - '200': + "200": description: Returns information about the created Firewall. content: application/json: schema: - $ref: '#/components/schemas/Firewall' + $ref: "#/components/schemas/Firewall" default: - $ref: '#/components/responses/ErrorResponse' + $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" - ] - }, + - 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": "outbound-rule123", - "description": "An example outbound rule description." - } - ] - }, - "devices": { - "linodes": [ - 123, - 456 + "label": "inbound-rule123", + "description": "An example inbound rule description." + } ], - "nodebalancers": [ - 321 + "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" ] - }, - "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."}]' + }' \ + 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 @@ -14234,45 +15857,45 @@ paths: get: x-linode-grant: read_only servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall View operationId: getFirewall x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - firewall:read_only + - 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': + "200": description: Returns information about this Firewall. content: application/json: schema: - $ref: '#/components/schemas/Firewall' + $ref: "#/components/schemas/Firewall" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Update description: | Updates information for a Firewall. @@ -14301,9 +15924,9 @@ paths: operationId: updateFirewall x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - firewall:read_write + - personalAccessToken: [] + - oauth: + - firewall:read_write requestBody: description: The Firewall information to update. content: @@ -14312,58 +15935,58 @@ paths: type: object properties: tags: - $ref: '#/components/schemas/Firewall/properties/tags' + $ref: "#/components/schemas/Firewall/properties/tags" label: - $ref: '#/components/schemas/Firewall/properties/label' + $ref: "#/components/schemas/Firewall/properties/label" status: type: string description: > - The status to be applied to this Firewall. + 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. + * 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': + "200": description: Firewall updated successfully. content: application/json: schema: - $ref: '#/components/schemas/Firewall' + $ref: "#/components/schemas/Firewall" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Delete operationId: deleteFirewall x-linode-cli-action: - delete - rm security: - - personalAccessToken: [] - - oauth: - - firewall:read_write + - 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. @@ -14372,24 +15995,24 @@ paths: * A `firewall_delete` Event is generated when this endpoint returns successfully. responses: - '200': + "200": description: Delete Successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -14403,23 +16026,23 @@ paths: get: x-linode-grant: read_only servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $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 + - personalAccessToken: [] + - oauth: + - firewall:read_only responses: - '200': + "200": description: A paginated list of Firewall Devices content: application/json: @@ -14429,52 +16052,54 @@ paths: data: type: array items: - $ref: '#/components/schemas/FirewallDevices' + $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" - } + - { + "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' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Device Create description: | Creates a Firewall Device, which assigns a Firewall to a service (referred to @@ -14495,9 +16120,9 @@ paths: operationId: createFirewallDevice x-linode-cli-action: device-create security: - - personalAccessToken: [] - - oauth: - - firewall:read_write + - personalAccessToken: [] + - oauth: + - firewall:read_write requestBody: content: application/json: @@ -14507,31 +16132,31 @@ paths: - id - type allOf: - - $ref: '#/components/schemas/FirewallDevices/properties/entity' + - $ref: "#/components/schemas/FirewallDevices/properties/entity" responses: - '200': + "200": description: Returns information about the created Firewall Device. content: application/json: schema: - $ref: '#/components/schemas/FirewallDevices' + $ref: "#/components/schemas/FirewallDevices" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 @@ -14552,9 +16177,9 @@ paths: get: x-linode-grant: read_only servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Device View description: | Returns information for a Firewall Device, which assigns a Firewall @@ -14562,40 +16187,40 @@ paths: operationId: getFirewallDevice x-linode-cli-action: device-view security: - - personalAccessToken: [] - - oauth: - - firewall:read_only + - personalAccessToken: [] + - oauth: + - firewall:read_only responses: - '200': + "200": description: The requested Firewall Device. content: application/json: schema: - $ref: '#/components/schemas/FirewallDevices' + $ref: "#/components/schemas/FirewallDevices" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Device Delete operationId: deleteFirewallDevice x-linode-cli-action: device-delete security: - - personalAccessToken: [] - - oauth: - - firewall:read_write + - 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 @@ -14606,24 +16231,24 @@ paths: * A `firewall_device_remove` Event is generated when the Firewall Device is removed successfully. responses: - '200': + "200": description: Delete Successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -14637,20 +16262,20 @@ paths: get: x-linode-grant: read_only servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 tags: - - Networking + - 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 + - personalAccessToken: [] + - oauth: + - firewall:read_only responses: - '200': + "200": description: The requested Firewall Rules. content: application/json: @@ -14658,23 +16283,23 @@ paths: - inbound - outbound schema: - $ref: '#/components/schemas/Firewall/properties/rules' + $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 + $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 + - url: https://api.linode.com/v4 tags: - - Networking + - Networking summary: Firewall Rules Update description: | Updates the inbound and outbound Rules for a Firewall. @@ -14685,101 +16310,101 @@ paths: operationId: updateFirewallRules x-linode-cli-action: rules-update security: - - personalAccessToken: [] - - oauth: - - firewall:read_write + - personalAccessToken: [] + - oauth: + - firewall:read_write requestBody: description: The Firewall Rules information to update. content: application/json: x-linode-cli-subtables: - - inbound - - outbound + - inbound + - outbound schema: allOf: - - $ref: '#/components/schemas/Firewall/properties/rules' + - $ref: "#/components/schemas/Firewall/properties/rules" properties: inbound: required: - - action - - addresses - - protocol + - action + - addresses + - protocol outbound: required: - - action - - addresses - - protocol + - action + - addresses + - protocol responses: - '200': + "200": description: Firewall Rules updated successfully. content: application/json: schema: - $ref: '#/components/schemas/Firewall/properties/rules' + $ref: "#/components/schemas/Firewall/properties/rules" default: - $ref: '#/components/responses/ErrorResponse' + $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" - ] - }, + - 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": "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`"]}}]' + "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 + - url: https://api.linode.com/v4 parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Networking + - Networking summary: VLANs List description: | Returns a list of all Virtual Local Area Networks (VLANs) on your Account. VLANs provide @@ -14806,11 +16431,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - linodes:read_only + - personalAccessToken: [] + - oauth: + - linodes:read_only responses: - '200': + "200": description: The VLANs available on this Account. content: application/json: @@ -14820,32 +16445,32 @@ paths: data: type: array items: - $ref: '#/components/schemas/Vlans' + $ref: "#/components/schemas/Vlans" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - NodeBalancers parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" summary: NodeBalancers List description: > Returns a paginated list of NodeBalancers you have access to. @@ -14854,11 +16479,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_only + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "200": description: A paginated list of NodeBalancers. content: application/json: @@ -14868,27 +16493,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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`. @@ -14899,19 +16524,19 @@ paths: operationId: createNodeBalancer x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: Information about the NodeBalancer to create. required: true x-linode-cli-allowed-defaults: - - region + - region content: application/json: schema: required: - - region + - region properties: region: type: string @@ -14919,9 +16544,9 @@ paths: The ID of the Region to create this NodeBalancer in. example: us-east label: - $ref: '#/components/schemas/NodeBalancer/properties/label' + $ref: "#/components/schemas/NodeBalancer/properties/label" client_conn_throttle: - $ref: '#/components/schemas/NodeBalancer/properties/client_conn_throttle' + $ref: "#/components/schemas/NodeBalancer/properties/client_conn_throttle" firewall_id: type: integer description: | @@ -14936,8 +16561,8 @@ paths: items: type: string example: - - test - - web-dev-team + - test + - web-dev-team configs: type: array description: | @@ -14945,193 +16570,193 @@ paths: Each Config must have a unique port and at least one Node. required: - - nodes + - nodes items: type: object description: A request object representing a NodeBalancer Config, including Nodes. properties: port: - $ref: '#/components/schemas/NodeBalancerConfig/properties/port' + $ref: "#/components/schemas/NodeBalancerConfig/properties/port" protocol: - $ref: '#/components/schemas/NodeBalancerConfig/properties/protocol' + $ref: "#/components/schemas/NodeBalancerConfig/properties/protocol" algorithm: - $ref: '#/components/schemas/NodeBalancerConfig/properties/algorithm' + $ref: "#/components/schemas/NodeBalancerConfig/properties/algorithm" stickiness: - $ref: '#/components/schemas/NodeBalancerConfig/properties/stickiness' + $ref: "#/components/schemas/NodeBalancerConfig/properties/stickiness" check: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check" check_interval: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check_interval' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check_interval" check_timeout: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check_timeout' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check_timeout" check_attempts: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check_attempts' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check_attempts" check_path: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check_path' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check_path" check_body: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check_body' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check_body" check_passive: - $ref: '#/components/schemas/NodeBalancerConfig/properties/check_passive' + $ref: "#/components/schemas/NodeBalancerConfig/properties/check_passive" proxy_protocol: - $ref: '#/components/schemas/NodeBalancerConfig/properties/proxy_protocol' + $ref: "#/components/schemas/NodeBalancerConfig/properties/proxy_protocol" cipher_suite: - $ref: '#/components/schemas/NodeBalancerConfig/properties/cipher_suite' + $ref: "#/components/schemas/NodeBalancerConfig/properties/cipher_suite" ssl_cert: - $ref: '#/components/schemas/NodeBalancerConfig/properties/ssl_cert' + $ref: "#/components/schemas/NodeBalancerConfig/properties/ssl_cert" ssl_key: - $ref: '#/components/schemas/NodeBalancerConfig/properties/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' + $ref: "#/components/schemas/NodeBalancerNode" responses: - '200': + "200": description: NodeBalancer created successfully. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "200": description: The requested NodeBalancer object. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: The information to update. required: true content: application/json: schema: - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" responses: - '200': + "200": description: NodeBalancer updated successfully. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - NodeBalancers summary: NodeBalancer Delete description: > Deletes a NodeBalancer. @@ -15149,43 +16774,43 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write responses: - '200': + "200": description: NodeBalancer deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - NodeBalancers parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" summary: Configs List description: > Returns a paginated list of NodeBalancer Configs associated @@ -15199,11 +16824,11 @@ paths: operationId: getNodeBalancerConfigs x-linode-cli-action: configs-list security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_only + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "200": description: A paginted list of NodeBalancer Configs content: application/json: @@ -15213,27 +16838,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/NodeBalancerConfig' + $ref: "#/components/schemas/NodeBalancerConfig" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - NodeBalancers summary: Config Create description: > Creates a NodeBalancer Config, which allows the NodeBalancer to @@ -15242,88 +16867,88 @@ paths: operationId: createNodeBalancerConfig x-linode-cli-action: config-create security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: Information about the port to configure. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerConfig' + $ref: "#/components/schemas/NodeBalancerConfig" responses: - '200': + "200": description: Config created successfully. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerConfig' + $ref: "#/components/schemas/NodeBalancerConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - NodeBalancers summary: Config View description: > Returns configuration information for a single port of this @@ -15331,106 +16956,106 @@ paths: operationId: getNodeBalancerConfig x-linode-cli-action: config-view security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_only + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "200": description: The requested NodeBalancer config. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerConfig' + $ref: "#/components/schemas/NodeBalancerConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerConfig' + $ref: "#/components/schemas/NodeBalancerConfig" responses: - '200': + "200": description: Config updated successfully. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerConfig' + $ref: "#/components/schemas/NodeBalancerConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - NodeBalancers summary: Config Delete description: > Deletes the Config for a port of this NodeBalancer. @@ -15446,47 +17071,47 @@ paths: operationId: deleteNodeBalancerConfig x-linode-cli-action: config-delete security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write responses: - '200': + "200": description: NodeBalancer Config deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - NodeBalancers summary: Config Rebuild description: | Rebuilds a NodeBalancer Config and its Nodes that you have permission to modify. @@ -15495,9 +17120,9 @@ paths: operationId: rebuildNodeBalancerConfig x-linode-cli-action: config-rebuild security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: > Information about the NodeBalancer Config to rebuild. @@ -15506,130 +17131,130 @@ paths: 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. + - $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': + 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' + $ref: "#/components/schemas/NodeBalancerConfig" default: - $ref: '#/components/responses/ErrorResponse' + $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"}' + - 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 + - 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 + - NodeBalancers parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" summary: Nodes List description: > Returns a paginated list of NodeBalancer nodes associated with @@ -15638,11 +17263,11 @@ paths: operationId: getNodeBalancerConfigNodes x-linode-cli-action: nodes-list security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_only + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "200": description: A paginated list of NodeBalancer nodes. content: application/json: @@ -15652,27 +17277,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/NodeBalancerNode' + $ref: "#/components/schemas/NodeBalancerNode" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - NodeBalancers summary: Node Create description: > Creates a NodeBalancer Node, a backend that can accept @@ -15681,9 +17306,9 @@ paths: operationId: createNodeBalancerNode x-linode-cli-action: node-create security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: Information about the Node to create. required: true @@ -15691,19 +17316,19 @@ paths: application/json: schema: required: - - label - - address + - label + - address allOf: - - $ref: '#/components/schemas/NodeBalancerNode' + - $ref: "#/components/schemas/NodeBalancerNode" responses: - '200': + "200": description: Node created successfully. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerNode' + $ref: "#/components/schemas/NodeBalancerNode" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -15726,29 +17351,29 @@ paths: --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 + - 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 + - NodeBalancers summary: Node View description: > Returns information about a single Node, a backend for this @@ -15756,30 +17381,30 @@ paths: operationId: getNodeBalancerNode x-linode-cli-action: node-view security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write responses: - '200': + "200": description: A paginated list of NodeBalancer nodes. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerNode' + $ref: "#/components/schemas/NodeBalancerNode" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - NodeBalancers summary: Node Update description: > Updates information about a Node, a backend for this NodeBalancer's @@ -15787,25 +17412,25 @@ paths: operationId: updateNodeBalancerNode x-linode-cli-action: node-update security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerNode' + $ref: "#/components/schemas/NodeBalancerNode" responses: - '200': + "200": description: Node updated successfully. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerNode' + $ref: "#/components/schemas/NodeBalancerNode" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -15829,7 +17454,7 @@ paths: delete: x-linode-grant: read_write tags: - - NodeBalancers + - NodeBalancers summary: Node Delete description: > Deletes a Node from this Config. This backend will no longer @@ -15841,111 +17466,111 @@ paths: operationId: deleteNodeBalancerConfigNode x-linode-cli-action: node-delete security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_write + - personalAccessToken: [] + - oauth: + - nodebalancers:read_write responses: - '200': + "200": description: Node deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - NodeBalancers summary: Firewalls List description: > - View information for Firewalls assigned to this NodeBalancer. + View information for Firewalls assigned to this NodeBalancer. x-linode-cli-action: firewalls security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_only + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "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' + application/json: + schema: + allOf: + - $ref: "#/components/schemas/PaginationEnvelope" + - type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/Firewall" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - NodeBalancers summary: NodeBalancer Statistics View description: > - Returns detailed statistics about the requested NodeBalancer. + Returns detailed statistics about the requested NodeBalancer. x-linode-cli-action: stats x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - nodebalancers:read_only + - personalAccessToken: [] + - oauth: + - nodebalancers:read_only responses: - '200': + "200": description: The requested stats. content: application/json: schema: - $ref: '#/components/schemas/NodeBalancerStats' + $ref: "#/components/schemas/NodeBalancerStats" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" /object-storage/buckets: get: operationId: getObjectStorageBuckets x-linode-cli-skip: true servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 summary: Object Storage Buckets List description: | Returns a paginated list of all Object Storage Buckets that you own. @@ -15954,13 +17579,13 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - personalAccessToken: [] + - oauth: + - object_storage:read_only responses: - '200': + "200": description: A paginated list of buckets you own. content: application/json: @@ -15970,25 +17595,25 @@ paths: data: type: array items: - $ref: '#/components/schemas/ObjectStorageBucket' + $ref: "#/components/schemas/ObjectStorageBucket" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/object-storage/buckets/ + - 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 + - url: https://api.linode.com/v4 summary: Object Storage Bucket Create description: | Creates an Object Storage Bucket in the specified cluster. @@ -15999,11 +17624,11 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write requestBody: description: > Information about the bucket you want to create. @@ -16012,8 +17637,8 @@ paths: schema: type: object required: - - label - - cluster + - label + - cluster properties: label: type: string @@ -16042,55 +17667,55 @@ paths: acl: type: string enum: - - private - - public-read - - authenticated-read - - public-read-write + - 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': + "200": description: The bucket created successfully. content: application/json: schema: - $ref: '#/components/schemas/ObjectStorageBucket' + $ref: "#/components/schemas/ObjectStorageBucket" default: - $ref: '#/components/responses/ErrorResponse' + $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/ + - 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 + - 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 + - url: https://api.linode.com/v4 summary: Object Storage Bucket View description: | Returns a single Object Storage Bucket. @@ -16099,30 +17724,30 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - personalAccessToken: [] + - oauth: + - object_storage:read_only responses: - '200': + "200": description: The requested bucket. content: application/json: schema: - $ref: '#/components/schemas/ObjectStorageBucket' + $ref: "#/components/schemas/ObjectStorageBucket" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 summary: Object Storage Bucket Remove description: | Removes a single bucket. @@ -16136,39 +17761,39 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write responses: - '200': + "200": description: Bucket deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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. @@ -16177,13 +17802,13 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - personalAccessToken: [] + - oauth: + - object_storage:read_only responses: - '200': + "200": description: A paginated list of buckets you own in this cluster. content: application/json: @@ -16193,39 +17818,39 @@ paths: data: type: array items: - $ref: '#/components/schemas/ObjectStorageBucket' + $ref: "#/components/schemas/ObjectStorageBucket" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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. @@ -16234,11 +17859,11 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write requestBody: description: The changes to make to the bucket's access controls. content: @@ -16255,39 +17880,39 @@ paths: acl: type: string enum: - - private - - public-read - - authenticated-read - - public-read-write - - custom + - 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': + "200": description: Access controls updated. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -16296,11 +17921,11 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write requestBody: description: The changes to make to the bucket's access controls. content: @@ -16317,53 +17942,53 @@ paths: acl: type: string enum: - - private - - public-read - - authenticated-read - - public-read-write - - custom + - 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': + "200": description: Access controls updated. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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. @@ -16374,23 +17999,23 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - 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 + - 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': + "200": description: The Object's canned ACL and policy. content: application/json: @@ -16400,11 +18025,11 @@ paths: acl: type: string enum: - - private - - public-read - - authenticated-read - - public-read-write - - custom + - 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. @@ -16415,17 +18040,17 @@ paths: The full XML of the object's ACL policy. example: "..." default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -16436,11 +18061,11 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write requestBody: description: The changes to make to this Object's access controls. content: @@ -16453,11 +18078,11 @@ paths: acl: type: string enum: - - private - - public-read - - authenticated-read - - public-read-write - - custom + - 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. @@ -16469,7 +18094,7 @@ paths: 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': + "200": description: The Object's canned ACL and policy. content: application/json: @@ -16479,11 +18104,11 @@ paths: acl: type: string enum: - - private - - public-read - - authenticated-read - - public-read-write - - custom + - 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. @@ -16494,36 +18119,36 @@ paths: The full XML of the object's ACL policy. example: "..." default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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`, @@ -16535,45 +18160,45 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - 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' + - 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': + "200": description: One page of the requested bucket's contents. content: application/json: @@ -16581,35 +18206,44 @@ paths: properties: data: type: array - description: This page of objects in the bucket. 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' + $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 + - 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 + - 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 + - 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 @@ -16621,19 +18255,19 @@ paths: use the more [fully-featured S3 API](https://docs.ceph.com/en/latest/radosgw/s3/) directly. tags: - - Object Storage + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write requestBody: description: Information about the request to sign. content: application/json: schema: required: - - name - - method + - name + - method properties: method: type: string @@ -16667,7 +18301,7 @@ paths: omitted, the URL will be valid for 3600 seconds (1 hour). example: null responses: - '200': + "200": description: The URL with which to access your object. content: application/json: @@ -16676,35 +18310,35 @@ paths: 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 + example: https://us-east-1.linodeobjects.com/example-bucket/example?Signature=qr98TEucCntPgEG%2BsZQGDsJg93c%3D&Expires=1567609905&AWSAccessKeyId=G4YAF81XWY61DQM94SE0 default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Object Storage responses: - '200': + "200": description: A paginated list of available clusters. content: application/json: @@ -16714,78 +18348,78 @@ paths: data: type: array items: - $ref: '#/components/schemas/ObjectStorageCluster' + $ref: "#/components/schemas/ObjectStorageCluster" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - url: https://api.linode.com/v4 summary: Cluster View description: | Returns a single Object Storage Cluster. tags: - - Object Storage + - Object Storage responses: - '200': + "200": description: The requested Cluster content: application/json: schema: - $ref: '#/components/schemas/ObjectStorageCluster' + $ref: "#/components/schemas/ObjectStorageCluster" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Object Storage + - 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 + - personalAccessToken: [] + - oauth: + - object_storage:read_only responses: - '200': + "200": description: A paginated list of Object Storage Keys content: application/json: @@ -16795,28 +18429,28 @@ paths: data: type: array items: - $ref: '#/components/schemas/ObjectStorageKey' + $ref: "#/components/schemas/ObjectStorageKey" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 summary: Object Storage Key Create description: | Provisions a new Object Storage Key on your account. @@ -16827,53 +18461,53 @@ paths: * 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - 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' + $ref: "#/components/schemas/ObjectStorageKey" responses: - '200': + "200": description: The new keypair. **This is the only time** the secret key is returned. content: application/json: schema: - $ref: '#/components/schemas/ObjectStorageKey' + $ref: "#/components/schemas/ObjectStorageKey" default: - $ref: '#/components/responses/ErrorResponse' + $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" }]' + - 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: @@ -16887,50 +18521,50 @@ paths: operationId: getObjectStorageKey x-linode-cli-action: keys-view servers: - - url: https://api.linode.com/v4 + - 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 + - personalAccessToken: [] + - oauth: + - object_storage:read_only tags: - - Object Storage + - Object Storage responses: - '200': + "200": description: The keypair content: application/json: schema: - $ref: '#/components/schemas/ObjectStorageKey' + $ref: "#/components/schemas/ObjectStorageKey" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - object_storage:read_write tags: - - Object Storage + - Object Storage requestBody: description: The fields to update. content: @@ -16943,89 +18577,89 @@ paths: description: The label for this keypair, for display purposes only. example: my-key responses: - '200': + "200": description: Update Successful content: application/json: schema: - $ref: '#/components/schemas/ObjectStorageKey' + $ref: "#/components/schemas/ObjectStorageKey" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - object_storage:read_write tags: - - Object Storage + - Object Storage responses: - '200': + "200": description: Deletion successful content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - object_storage:read_write tags: - - Object Storage + - Object Storage responses: - '200': + "200": description: Object Storage cancellation successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -17038,58 +18672,58 @@ paths: /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 + - 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 + - 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - personalAccessToken: [] + - oauth: + - object_storage:read_only responses: - '200': + "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' + $ref: "#/components/schemas/ObjectStorageSSLResponse" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -17099,85 +18733,85 @@ paths: 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - 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' + $ref: "#/components/schemas/ObjectStorageSSL" responses: - '200': + "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' + $ref: "#/components/schemas/ObjectStorageSSLResponse" default: - $ref: '#/components/responses/ErrorResponse' + $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-----" + - 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 + - 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 + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_write + - personalAccessToken: [] + - oauth: + - object_storage:read_write responses: - '200': + "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' + $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 + - 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 + - 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. @@ -17186,15 +18820,15 @@ paths: guide for details on Object Storage transfer quotas. tags: - - Object Storage + - Object Storage security: - - personalAccessToken: [] - - oauth: - - object_storage:read_only + - personalAccessToken: [] + - oauth: + - object_storage:read_only responses: - '200': + "200": description: > - Returns the amount of outbound data transfer used by your account's Object Storage buckets. + Returns the amount of outbound data transfer used by your account's Object Storage buckets. content: application/json: schema: @@ -17207,17 +18841,17 @@ paths: example: 12956600198 readOnly: true default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/object-storage/transfer/ + - 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 + - Profile summary: Profile View description: > Returns information about the current User. This can be used to see @@ -17229,28 +18863,28 @@ paths: operationId: getProfile x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "200": description: Profile response. content: application/json: schema: - $ref: '#/components/schemas/Profile' + $ref: "#/components/schemas/Profile" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4/profile + - lang: CLI + source: > + linode-cli profile view put: tags: - - Profile + - Profile summary: Profile Update description: | Update information in your Profile. This endpoint requires the @@ -17264,55 +18898,55 @@ paths: operationId: updateProfile x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/Profile' + $ref: "#/components/schemas/Profile" responses: - '200': + "200": description: Profile updated successfully. content: application/json: schema: - $ref: '#/components/schemas/Profile' + $ref: "#/components/schemas/Profile" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - Profile summary: Authorized Apps List @@ -17322,11 +18956,11 @@ paths: operationId: getProfileApps x-linode-cli-action: apps-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: | A paginated list of apps you've authorized. content: @@ -17337,23 +18971,23 @@ paths: data: type: array items: - $ref: '#/components/schemas/AuthorizedApp' + $ref: "#/components/schemas/AuthorizedApp" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -17365,7 +18999,7 @@ paths: x-linode-cli-command: profile get: tags: - - Profile + - Profile summary: Authorized App View description: > Returns information about a single app you've authorized to access your @@ -17373,29 +19007,29 @@ paths: operationId: getProfileApp x-linode-cli-action: app-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The app requested. content: application/json: schema: - $ref: '#/components/schemas/AuthorizedApp' + $ref: "#/components/schemas/AuthorizedApp" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: App Access Revoke description: > Expires this app token. This token may no longer be used to @@ -17403,32 +19037,32 @@ paths: operationId: deleteProfileApp x-linode-cli-action: app-delete security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: App's authorization has been revoked. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Grants List description: > This returns a GrantsResponse describing what the acting User has been @@ -17448,31 +19082,31 @@ paths: x-linode-cli-action: grants x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "200": description: GrantsResponse content: application/json: schema: - $ref: '#/components/schemas/GrantsResponse' - '204': + $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' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/profile/grants + - 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 + - Profile summary: Two Factor Authentication Disable description: > Disables Two Factor Authentication for your User. Once successful, @@ -17481,33 +19115,33 @@ paths: operationId: tfaDisable x-linode-cli-action: tfa-disable security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: TFA disabled. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -17518,11 +19152,11 @@ paths: operationId: tfaEnable x-linode-cli-action: tfa-enable security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Two Factor secret generated content: application/json: @@ -17542,22 +19176,22 @@ paths: When this Two Factor secret expires. example: 2018-03-01T00:01:01 default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Two Factor Authentication Confirm/Enable description: > Confirms that you can successfully generate Two Factor codes and @@ -17567,9 +19201,9 @@ paths: operationId: tfaConfirm x-linode-cli-action: tfa-confirm security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The Two Factor code you generated with your Two Factor secret. required: true @@ -17584,7 +19218,7 @@ paths: These codes are time-based, so be sure it is current. example: "213456" responses: - '200': + "200": description: TFA enabled successfully content: application/json: @@ -17598,25 +19232,25 @@ paths: a safe place to avoid being locked out of your Account. example: sample two factor scratch default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Personal Access Tokens List description: > Returns a paginated list of Personal Access Tokens currently active for @@ -17624,11 +19258,11 @@ paths: operationId: getPersonalAccessTokens x-linode-cli-action: tokens-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of active tokens. content: application/json: @@ -17638,26 +19272,26 @@ paths: data: type: array items: - $ref: '#/components/schemas/PersonalAccessToken' + $ref: "#/components/schemas/PersonalAccessToken" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Personal Access Token Create description: > Creates a Personal Access Token for your User. The raw token will @@ -17674,9 +19308,9 @@ paths: operationId: createPersonalAccessToken x-linode-cli-action: token-create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Information about the requested token. required: true @@ -17695,7 +19329,7 @@ paths: Multiple scopes are separated by a space character (` `). For example, `linodes:read_write account:read_only`. - example: '*' + example: "*" expiry: type: string format: date-time @@ -17704,115 +19338,115 @@ paths: will be valid until it is manually revoked. example: null label: - $ref: '#/components/schemas/PersonalAccessToken/properties/label' + $ref: "#/components/schemas/PersonalAccessToken/properties/label" responses: - '200': + "200": description: Token created successfully. content: application/json: schema: - $ref: '#/components/schemas/PersonalAccessToken' + $ref: "#/components/schemas/PersonalAccessToken" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested token. content: application/json: schema: - $ref: '#/components/schemas/PersonalAccessToken' + $ref: "#/components/schemas/PersonalAccessToken" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: The fields to update. required: true content: application/json: schema: - $ref: '#/components/schemas/PersonalAccessToken' + $ref: "#/components/schemas/PersonalAccessToken" responses: - '200': + "200": description: Token updated successfully. content: application/json: schema: - $ref: '#/components/schemas/PersonalAccessToken' + $ref: "#/components/schemas/PersonalAccessToken" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Personal Access Token Revoke description: > Revokes a Personal Access Token. The token will be invalidated @@ -17823,32 +19457,32 @@ paths: operationId: deletePersonalAccessToken x-linode-cli-action: token-delete security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Token revoked successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Logins List description: > Returns a collection of successful account logins from this user during the last @@ -17856,11 +19490,11 @@ paths: operationId: getProfileLogins x-linode-cli-action: logins-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: > An array of successful account logins from this user during the last 90 days. @@ -17872,35 +19506,35 @@ paths: data: type: array items: - $ref: '#/components/schemas/Login' + $ref: "#/components/schemas/Login" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Profile summary: Login View description: > Returns a login object displaying information about a successful @@ -17908,31 +19542,31 @@ paths: operationId: getProfileLogin x-linode-cli-action: login-view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested login object. content: application/json: schema: - $ref: '#/components/schemas/Login' + $ref: "#/components/schemas/Login" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Trusted Devices List description: > Returns a paginated list of active TrustedDevices for your User. @@ -17941,11 +19575,11 @@ paths: operationId: getDevices x-linode-cli-action: devices-list security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of TrustedDevice objects. content: application/json: @@ -17955,66 +19589,66 @@ paths: data: type: array items: - $ref: '#/components/schemas/TrustedDevice' + $ref: "#/components/schemas/TrustedDevice" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - name: deviceId + in: path + description: The ID of the TrustedDevice + required: true + schema: + type: integer get: tags: - - Profile + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: The requested TrustedDevice object content: application/json: schema: - $ref: '#/components/schemas/TrustedDevice' + $ref: "#/components/schemas/TrustedDevice" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Trusted Device Revoke description: > Revoke an active TrustedDevice for your User. Once a TrustedDevice is revoked, this @@ -18022,36 +19656,36 @@ paths: operationId: revokeTrustedDevice x-linode-cli-action: device-revoke security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Session revoked successfully content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - url: https://api.linode.com/v4 tags: - - Profile + - Profile summary: Security Questions List description: > Returns a collection of security questions and their responses, if any, for your User Profile. @@ -18060,11 +19694,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a list of security questions. content: application/json: @@ -18079,21 +19713,21 @@ paths: security_questions.response: x-linode-cli-display: 3 schema: - $ref: '#/components/schemas/SecurityQuestionsGet' + $ref: "#/components/schemas/SecurityQuestionsGet" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Security Questions Answer description: | Adds security question responses for your User. @@ -18107,55 +19741,55 @@ paths: x-linode-cli-action: answer x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Answer Security Questions content: application/json: schema: - $ref: '#/components/schemas/SecurityQuestionsPost' + $ref: "#/components/schemas/SecurityQuestionsPost" responses: - '200': + "200": description: Security Questions answered successfully. content: application/json: schema: - $ref: '#/components/schemas/SecurityQuestionsPost' + $ref: "#/components/schemas/SecurityQuestionsPost" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Profile + - Profile summary: SSH Keys List description: > Returns a collection of SSH Keys you've added to your Profile. @@ -18164,11 +19798,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of SSH Key objects. content: application/json: @@ -18178,78 +19812,78 @@ paths: data: type: array items: - $ref: '#/components/schemas/SSHKey' + $ref: "#/components/schemas/SSHKey" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Add SSH Key content: application/json: schema: - $ref: '#/components/schemas/SSHKey' + $ref: "#/components/schemas/SSHKey" responses: - '200': + "200": description: SSH Key associated successfully. content: application/json: schema: - $ref: '#/components/schemas/SSHKey' + $ref: "#/components/schemas/SSHKey" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - name: sshKeyId + in: path + description: The ID of the SSHKey + required: true + schema: + type: integer get: tags: - - Profile + - Profile summary: SSH Key View description: > Returns a single SSH Key object identified by `id` that you have access @@ -18257,29 +19891,29 @@ paths: operationId: getSSHKey x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: An SSH Key object content: application/json: schema: - $ref: '#/components/schemas/SSHKey' + $ref: "#/components/schemas/SSHKey" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: SSH Key Update description: | Updates an SSH Key that you have permission to `read_write`. @@ -18288,9 +19922,9 @@ paths: operationId: updateSSHKey x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > The fields to update. @@ -18301,32 +19935,32 @@ paths: type: object properties: label: - $ref: '#/components/schemas/SSHKey/properties/label' + $ref: "#/components/schemas/SSHKey/properties/label" responses: - '200': + "200": description: SSH Key updated successfully. content: application/json: schema: - $ref: '#/components/schemas/SSHKey' + $ref: "#/components/schemas/SSHKey" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - Profile summary: SSH Key Delete description: > Deletes an SSH Key you have access to. @@ -18341,33 +19975,33 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: SSH Key deleted successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Profile summary: Phone Number Delete description: | Delete the verified phone number for the User making this request. @@ -18376,11 +20010,11 @@ paths: operationId: deleteProfilePhoneNumber x-linode-cli-action: delete security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: > Phone number deletion request successful. content: @@ -18388,20 +20022,20 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -18416,17 +20050,17 @@ paths: operationId: postProfilePhoneNumber x-linode-cli-action: sms-code-send security: - - personalAccessToken: [] - - oauth: - - account:read_write + - 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 + - iso_code + - phone_number type: object properties: iso_code: @@ -18439,7 +20073,7 @@ paths: format: phone example: 555-555-5555 responses: - '200': + "200": description: > Phone number verification code request successful. content: @@ -18447,28 +20081,28 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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. @@ -18481,16 +20115,16 @@ paths: operationId: postProfilePhoneNumberVerify x-linode-cli-action: verify security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Enter a phone verification code for confirmation. content: application/json: schema: required: - - otp_code + - otp_code type: object properties: otp_code: @@ -18498,7 +20132,7 @@ paths: 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': + "200": description: > Phone number verification successful. content: @@ -18506,20 +20140,20 @@ paths: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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: @@ -18538,11 +20172,11 @@ paths: x-linode-cli-action: preferences-view x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns an object of user preferences. content: application/json: @@ -18551,15 +20185,15 @@ paths: description: A dictionary of user preferences. example: { "key1": "value1", "key2": "value2" } default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/profile/preferences + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4/profile/preferences put: tags: - - Profile + - Profile summary: User Preferences Update description: > Updates a user's preferences. These preferences are tied to the @@ -18573,9 +20207,9 @@ paths: x-linode-cli-action: preferences-update x-linode-cli-skip: true security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > The user preferences to update or store. @@ -18590,7 +20224,7 @@ paths: Total length cannot exceed 65,535 characters. maxLength: 65535 responses: - '200': + "200": description: Returns an object of user preferences. content: application/json: @@ -18599,22 +20233,22 @@ paths: description: An object of user preferences. example: { "key1": "value1", "key2": "value2" } default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Regions summary: Regions List description: | Lists the Regions available for Linode services. Not all services are guaranteed to be @@ -18625,7 +20259,7 @@ paths: - list - ls responses: - '200': + "200": description: Returns an array of Regions. content: application/json: @@ -18635,95 +20269,95 @@ paths: data: type: array items: - $ref: '#/components/schemas/Region' + $ref: "#/components/schemas/Region" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl https://api.linode.com/v4/regions - - lang: CLI - source: > - linode-cli regions list + - 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 + - name: regionId + in: path + description: ID of the Region to look up. + required: true + schema: + type: string get: tags: - - Regions + - Regions summary: Region View description: > Returns a single Region. operationId: getRegion x-linode-cli-action: view responses: - '200': + "200": description: A single Region object. content: application/json: schema: - $ref: '#/components/schemas/Region' + $ref: "#/components/schemas/Region" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - name: regionId + in: path + description: ID of the Region to look up. + required: true + schema: + type: string get: tags: - - Regions + - Regions summary: Region Availability View description: > Returns availability data for a single Region. operationId: getRegionAvailability x-linode-cli-action: view-avail responses: - '200': + "200": description: The availability data for a single Region. content: application/json: schema: type: array items: - $ref: '#/components/schemas/RegionAvailability' + $ref: "#/components/schemas/RegionAvailability" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Regions summary: Regions Availability List description: | Returns availability data for all Regions. @@ -18732,36 +20366,36 @@ paths: operationId: getRegionsAvailability x-linode-cli-action: list-avail responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - properties: + data: + type: array + items: + $ref: "#/components/schemas/RegionAvailability" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Support + - Support summary: Support Tickets List description: > Returns a collection of Support Tickets on your @@ -18776,11 +20410,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of SupportTicket objects. content: application/json: @@ -18790,27 +20424,27 @@ paths: data: type: array items: - $ref: '#/components/schemas/SupportTicket' + $ref: "#/components/schemas/SupportTicket" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Support summary: Support Ticket Open description: > Open a Support Ticket. @@ -18820,93 +20454,93 @@ paths: operationId: createTicket x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Open a Support Ticket. content: application/json: schema: - $ref: '#/components/schemas/SupportTicketRequest' + $ref: "#/components/schemas/SupportTicketRequest" responses: - '200': + "200": description: Support Ticket opened. content: application/json: schema: - $ref: '#/components/schemas/SupportTicket' + $ref: "#/components/schemas/SupportTicket" default: - $ref: '#/components/responses/ErrorResponse' + $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" + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a single SupportTicket object. content: application/json: schema: - $ref: '#/components/schemas/SupportTicket' + $ref: "#/components/schemas/SupportTicket" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - Support summary: Support Ticket Attachment Create description: | Adds a file attachment to an existing Support @@ -18922,9 +20556,9 @@ paths: x-linode-cli-skip: true x-linode-cli-action: upload-attachment security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Add an attachment. required: true @@ -18932,86 +20566,86 @@ paths: multipart/form-data: schema: required: - - file + - 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' + example: "/Users/LinodeGuy/pictures/screen_shot.jpg" responses: - '200': + "200": description: Attachment created. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Support Ticket closed successfully. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Support + - Support summary: Replies List description: > Returns a collection of replies to a Support Ticket on @@ -19019,11 +20653,11 @@ paths: operationId: getTicketReplies x-linode-cli-action: replies security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: Returns a paginated list of SupportTicketReply objects. content: application/json: @@ -19033,36 +20667,36 @@ paths: data: type: array items: - $ref: '#/components/schemas/SupportTicketReply' + $ref: "#/components/schemas/SupportTicketReply" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: Add a reply. required: true @@ -19070,7 +20704,7 @@ paths: application/json: schema: required: - - description + - description properties: description: type: string @@ -19083,36 +20717,36 @@ paths: problem was and I successfully reset my password. You guys are the best! responses: - '200': + "200": description: Reply created. content: application/json: schema: - $ref: '#/components/schemas/SupportTicketReply' + $ref: "#/components/schemas/SupportTicketReply" default: - $ref: '#/components/responses/ErrorResponse' + $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!" + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - 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. @@ -19126,11 +20760,11 @@ paths: - list - ls security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: A paginated list of Tags content: application/json: @@ -19140,24 +20774,24 @@ paths: data: type: array items: - $ref: '#/components/schemas/Tag' + $ref: "#/components/schemas/Tag" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/tags + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4/tags post: x-linode-grant: unrestricted only tags: - - Tags + - Tags summary: New Tag Create description: | Creates a new Tag and optionally tags requested objects with it immediately. @@ -19167,9 +20801,9 @@ paths: operationId: createTag x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write requestBody: description: > The tag to create, and optionally the objects to tag. @@ -19178,7 +20812,7 @@ paths: schema: type: object required: - - label + - label properties: label: type: string @@ -19196,8 +20830,8 @@ paths: 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 + - 123 + - 456 domains: type: array items: @@ -19207,8 +20841,8 @@ paths: 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 + - 564 + - 565 volumes: type: array items: @@ -19218,8 +20852,8 @@ paths: 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 + - 9082 + - 10003 nodebalancers: type: array items: @@ -19229,17 +20863,17 @@ paths: 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 + - 10301 + - 10501 responses: - '200': + "200": description: The new Tag. content: application/json: schema: - $ref: '#/components/schemas/Tag' + $ref: "#/components/schemas/Tag" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -19262,12 +20896,12 @@ paths: /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 + - name: tagLabel + in: path + schema: + type: string + description: The `label` of the Tag to access. + required: true get: summary: Tagged Objects List description: | @@ -19276,19 +20910,19 @@ paths: **Important**: You must be an unrestricted User in order to access, add, or modify Tags information. tags: - - Tags + - Tags operationId: getTaggedObjects x-linode-cli-command: view x-linode-cli-skip: true parameters: - - $ref: '#/components/parameters/pageOffset' - - $ref: '#/components/parameters/pageSize' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" security: - - personalAccessToken: [] - - oauth: - - account:read_only + - personalAccessToken: [] + - oauth: + - account:read_only responses: - '200': + "200": description: > A paginated list of objects, organized by type, that have been tagged with the requested Tag. @@ -19303,32 +20937,32 @@ paths: properties: type: type: string - example: 'linode' + example: "linode" data: oneOf: - x-linode-ref-name: "linode" - $ref: '#/components/schemas/Linode' + $ref: "#/components/schemas/Linode" - x-linode-ref-name: "domain" - $ref: '#/components/schemas/Domain' + $ref: "#/components/schemas/Domain" - x-linode-ref-name: "volume" - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" - x-linode-ref-name: "nodeBalancer" - $ref: '#/components/schemas/NodeBalancer' + $ref: "#/components/schemas/NodeBalancer" discriminator: propertyName: type page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - - lang: Shell - source: > - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/tags/$tagLabel + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4/tags/$tagLabel delete: summary: Tag Delete description: > @@ -19338,46 +20972,46 @@ paths: **Important**: You must be an unrestricted User in order to access, add, or modify Tags information. tags: - - Tags + - Tags operationId: deleteTag x-linode-cli-action: - delete - rm security: - - personalAccessToken: [] - - oauth: - - account:read_write + - personalAccessToken: [] + - oauth: + - account:read_write responses: - '200': + "200": description: Tag deleted. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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' + - $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 + - Volumes operationId: getVolumes x-linode-cli-action: - list - ls security: - - personalAccessToken: [] - - oauth: - - volumes:read_only + - personalAccessToken: [] + - oauth: + - volumes:read_only responses: - '200': + "200": description: Returns an array of all Volumes on your Account. content: application/json: @@ -19387,23 +21021,23 @@ paths: data: type: array items: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" page: - $ref: '#/components/schemas/PaginationEnvelope/properties/page' + $ref: "#/components/schemas/PaginationEnvelope/properties/page" pages: - $ref: '#/components/schemas/PaginationEnvelope/properties/pages' + $ref: "#/components/schemas/PaginationEnvelope/properties/pages" results: - $ref: '#/components/schemas/PaginationEnvelope/properties/results' + $ref: "#/components/schemas/PaginationEnvelope/properties/results" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 @@ -19414,18 +21048,18 @@ paths: grant. Creating a new Volume will start accruing additional charges on your account. tags: - - Volumes + - Volumes operationId: createVolume x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - volumes:read_write + - personalAccessToken: [] + - oauth: + - volumes:read_write requestBody: description: The requested initial state of a new Volume. required: true x-linode-cli-allowed-defaults: - - region + - region content: application/json: schema: @@ -19460,7 +21094,7 @@ paths: example: my-volume minLength: 1 maxLength: 32 - pattern: '^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$' + pattern: "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$" config_id: type: integer description: > @@ -19486,100 +21120,100 @@ paths: items: type: string example: - - example tag - - another example + - example tag + - another example responses: - '200': + "200": description: > Creating Volume. content: application/json: schema: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - Volumes + - Volumes summary: Volume View description: > Get information about a single Volume. operationId: getVolume x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: - - volumes:read_only + - personalAccessToken: [] + - oauth: + - volumes:read_only responses: - '200': + "200": description: Returns a single Volume object. content: application/json: schema: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" links: attach: - $ref: '#/components/links/attachVolume' + $ref: "#/components/links/attachVolume" clone: - $ref: '#/components/links/cloneVolume' + $ref: "#/components/links/cloneVolume" detach: - $ref: '#/components/links/detachVolume' + $ref: "#/components/links/detachVolume" resize: - $ref: '#/components/links/resizeVolume' + $ref: "#/components/links/resizeVolume" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 + - personalAccessToken: [] + - oauth: + - volumes:read_write requestBody: description: > If any updated field fails to pass validation, the Volume will not be @@ -19589,39 +21223,39 @@ paths: application/json: schema: allOf: - - $ref: '#/components/schemas/Volume' - - type: object - properties: - size: - readOnly: true - linode_id: - readOnly: true + - $ref: "#/components/schemas/Volume" + - type: object + properties: + size: + readOnly: true + linode_id: + readOnly: true responses: - '200': + "200": description: The updated Volume. content: application/json: schema: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - Volumes summary: Volume Delete description: | Deletes a Volume you have permission to `read_write`. @@ -19637,36 +21271,36 @@ paths: - delete - rm security: - - personalAccessToken: [] - - oauth: - - volumes:read_write + - personalAccessToken: [] + - oauth: + - volumes:read_write responses: - '200': + "200": description: Volume deletion successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -19677,14 +21311,14 @@ paths: 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 + - Volumes operationId: attachVolume x-linode-cli-action: attach security: - - personalAccessToken: [] - - oauth: - - volumes:read_write - - linodes:read_write + - personalAccessToken: [] + - oauth: + - volumes:read_write + - linodes:read_write requestBody: description: Volume to attach to a Linode. required: true @@ -19693,7 +21327,7 @@ paths: schema: type: object required: - - linode_id + - linode_id properties: linode_id: type: integer @@ -19718,37 +21352,37 @@ paths: passed. The Linode must be running. responses: - '200': + "200": description: Volume was attached to a Linode. content: application/json: schema: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -19763,13 +21397,13 @@ paths: * Only Volumes with a `status` of "active" can be cloned. tags: - - Volumes + - Volumes operationId: cloneVolume x-linode-cli-action: clone security: - - personalAccessToken: [] - - oauth: - - volumes:read_write + - personalAccessToken: [] + - oauth: + - volumes:read_write requestBody: description: The requested state your Volume will be cloned into. required: true @@ -19781,37 +21415,37 @@ paths: - label properties: label: - $ref: '#/components/schemas/Volume/properties/label' + $ref: "#/components/schemas/Volume/properties/label" responses: - '200': + "200": description: Clone started. content: application/json: schema: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -19820,41 +21454,41 @@ paths: Volumes are automatically detached from deleted Linodes. tags: - - Volumes + - Volumes operationId: detachVolume x-linode-cli-action: detach security: - - personalAccessToken: [] - - oauth: - - volumes:read_write - - linodes:read_write + - personalAccessToken: [] + - oauth: + - volumes:read_write + - linodes:read_write responses: - '200': + "200": description: Volume was detached from a Linode. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - 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 @@ -19868,13 +21502,13 @@ paths: * Only Volumes with a `status` of "active" can be resized. tags: - - Volumes + - Volumes operationId: resizeVolume x-linode-cli-action: resize security: - - personalAccessToken: [] - - oauth: - - volumes:read_write + - personalAccessToken: [] + - oauth: + - volumes:read_write requestBody: description: The requested size to increase your Volume to. required: true @@ -19886,79 +21520,79 @@ paths: - size properties: size: - $ref: '#/components/schemas/Volume/properties/size' + $ref: "#/components/schemas/Volume/properties/size" responses: - '200': + "200": description: Volume resize started. content: application/json: schema: - $ref: '#/components/schemas/Volume' + $ref: "#/components/schemas/Volume" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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' + - $ref: "#/components/parameters/pageOffset" + - $ref: "#/components/parameters/pageSize" tags: - - VPCs + - VPCs summary: VPCs List servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 description: | Display all VPCs on your account. operationId: getVPCs x-linode-cli-action: - - list - - ls + - list + - ls security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - properties: + data: + type: array + items: + $ref: "#/components/schemas/VPC" default: - $ref: '#/components/responses/ErrorResponse' + $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 + - 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 + - VPCs summary: VPC Create servers: - - url: https://api.linode.com/v4 + - 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. @@ -19972,9 +21606,9 @@ paths: operationId: createVPC x-linode-cli-action: create security: - - personalAccessToken: [] - - oauth: - - vpc:read_write + - personalAccessToken: [] + - oauth: + - vpc:read_write requestBody: description: | VPC Create request object. @@ -19983,24 +21617,24 @@ paths: application/json: schema: allOf: - - required: - - label - - region - - properties: - subnets: - required: - - ipv4 + - required: - label - - $ref: '#/components/schemas/VPC' + - region + - properties: + subnets: + required: + - ipv4 + - label + - $ref: "#/components/schemas/VPC" responses: - '200': + "200": description: The new VPC. content: application/json: schema: - $ref: '#/components/schemas/VPC' + $ref: "#/components/schemas/VPC" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20029,34 +21663,34 @@ paths: /vpcs/{vpcId}: x-linode-cli-command: vpcs parameters: - - $ref: '#/components/parameters/vpcId' + - $ref: "#/components/parameters/vpcId" delete: x-linode-grant: read_write summary: VPC Delete servers: - - url: https://api.linode.com/v4 + - 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 + - VPCs operationId: deleteVPC x-linode-cli-action: delete security: - - personalAccessToken: [] - - oauth: - - vpc:read_write + - personalAccessToken: [] + - oauth: + - vpc:read_write responses: - '200': + "200": description: Delete request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20069,25 +21703,25 @@ paths: get: summary: VPC View servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 description: | Get information about a single VPC. tags: - - VPCs + - VPCs operationId: getVPC x-linode-cli-action: view security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "200": description: A VPC object. content: application/json: schema: - $ref: '#/components/schemas/VPC' + $ref: "#/components/schemas/VPC" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20099,10 +21733,10 @@ paths: put: x-linode-grant: read_write tags: - - VPCs + - VPCs summary: VPC Update servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 description: | Update an existing VPC. * The User accessing this command must have `read_write` grants to the VPC. @@ -20112,9 +21746,9 @@ paths: operationId: updateVPC x-linode-cli-action: update security: - - personalAccessToken: [] - - oauth: - - vpc:read_write + - personalAccessToken: [] + - oauth: + - vpc:read_write requestBody: description: | VPC Update request object. @@ -20126,18 +21760,18 @@ paths: description: A VPC Update request object. properties: description: - $ref: '#/components/schemas/VPC/properties/description' + $ref: "#/components/schemas/VPC/properties/description" label: - $ref: '#/components/schemas/VPC/properties/label' + $ref: "#/components/schemas/VPC/properties/label" responses: - '200': + "200": description: The updated VPC. content: application/json: schema: - $ref: '#/components/schemas/VPC' + $ref: "#/components/schemas/VPC" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20182,7 +21816,17 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/IPAddressesVPCListResponse' + 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: @@ -20221,7 +21865,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/IPAddressesVPCListResponse' + $ref: '#/components/schemas/IPAddressesVPC' default: $ref: '#/components/responses/ErrorResponse' x-code-samples: @@ -20249,26 +21893,26 @@ paths: Get information about all VPC Subnets associated with a VPC. operationId: getVPCSubnets x-linode-cli-action: - - subnets-list - - subnets-ls + - subnets-list + - subnets-ls security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "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' + - $ref: "#/components/schemas/PaginationEnvelope" + - properties: + data: + type: array + items: + $ref: "#/components/schemas/VPCSubnet" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20280,10 +21924,10 @@ paths: post: x-linode-grant: read_write tags: - - VPCs + - VPCs summary: VPC Subnet Create servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 description: | Create a VPC Subnet. * The User accessing this command must have `read_write` grants to the VPC. @@ -20297,9 +21941,9 @@ paths: operationId: createVPCSubnet x-linode-cli-action: subnet-create security: - - personalAccessToken: [] - - oauth: - - vpc:read_write + - personalAccessToken: [] + - oauth: + - vpc:read_write requestBody: description: | VPC Subnet Create request object. @@ -20310,24 +21954,24 @@ paths: type: object description: VPC Subnet Create request object required: - - ipv4 - - label + - ipv4 + - label properties: label: - $ref: '#/components/schemas/VPCSubnet/properties/label' + $ref: "#/components/schemas/VPCSubnet/properties/label" ipv4: - $ref: '#/components/schemas/VPCSubnet/properties/ipv4' + $ref: "#/components/schemas/VPCSubnet/properties/ipv4" # ipv6: # $ref: '#/components/schemas/VPCSubnet/properties/ipv6' responses: - '200': + "200": description: The new VPC Subnet. content: application/json: schema: - $ref: '#/components/schemas/VPCSubnet' + $ref: "#/components/schemas/VPCSubnet" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20346,13 +21990,13 @@ paths: /vpcs/{vpcId}/subnets/{vpcSubnetId}: x-linode-cli-command: vpcs parameters: - - $ref: '#/components/parameters/vpcId' - - $ref: '#/components/parameters/vpcSubnetId' + - $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 + - url: https://api.linode.com/v4 description: | Delete a single VPC Subnet. @@ -20360,22 +22004,22 @@ paths: **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 + - VPCs operationId: deleteVPCSubnet x-linode-cli-action: subnet-delete security: - - personalAccessToken: [] - - oauth: - - vpc:read_write + - personalAccessToken: [] + - oauth: + - vpc:read_write responses: - '200': + "200": description: Delete request successful. content: application/json: schema: type: object default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20388,25 +22032,25 @@ paths: get: summary: VPC Subnet View servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 description: | Get information about a single VPC Subnet. tags: - - VPCs + - VPCs operationId: getVPCSubnet x-linode-cli-action: subnet-view security: - - personalAccessToken: [] - - oauth: [] + - personalAccessToken: [] + - oauth: [] responses: - '200': + "200": description: A VPC Subnet object. content: application/json: schema: - $ref: '#/components/schemas/VPCSubnet' + $ref: "#/components/schemas/VPCSubnet" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20418,10 +22062,10 @@ paths: put: x-linode-grant: read_write tags: - - VPCs + - VPCs summary: VPC Subnet Update servers: - - url: https://api.linode.com/v4 + - url: https://api.linode.com/v4 description: | Update a VPC Subnet. * The User accessing this command must have `read_write` grants to the VPC. @@ -20429,9 +22073,9 @@ paths: operationId: updateVPCSubnet x-linode-cli-action: subnet-update security: - - personalAccessToken: [] - - oauth: - - vpc:read_write + - personalAccessToken: [] + - oauth: + - vpc:read_write requestBody: description: | VPC Update request object. @@ -20443,16 +22087,16 @@ paths: description: A VPC Subnet Update request object. properties: label: - $ref: '#/components/schemas/VPCSubnet/properties/label' + $ref: "#/components/schemas/VPCSubnet/properties/label" responses: - '200': + "200": description: The updated VPC Subnet. content: application/json: schema: - $ref: '#/components/schemas/VPCSubnet' + $ref: "#/components/schemas/VPCSubnet" default: - $ref: '#/components/responses/ErrorResponse' + $ref: "#/components/responses/ErrorResponse" x-code-samples: - lang: Shell source: > @@ -20475,36 +22119,36 @@ components: type: oauth2 flows: authorizationCode: - authorizationUrl: 'https://login.linode.com/oauth/authorize' - tokenUrl: 'https://login.linode.com/oauth/token' + 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. + "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: | @@ -20519,7 +22163,7 @@ components: warnings: type: array items: - $ref: '#/components/schemas/WarningObject' + $ref: "#/components/schemas/WarningObject" DeprecatedResponse: description: | Request successful. This endpoint is deprecated and may be removed in a future release. @@ -20533,7 +22177,7 @@ components: warnings: type: array items: - $ref: '#/components/schemas/WarningObject' + $ref: "#/components/schemas/WarningObject" ErrorResponse: description: Error content: @@ -20544,7 +22188,7 @@ components: errors: type: array items: - $ref: '#/components/schemas/ErrorObject' + $ref: "#/components/schemas/ErrorObject" parameters: betaId: name: betaId @@ -20603,59 +22247,59 @@ components: bootLinode: operationId: bootLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" rebootLinode: operationId: rebootLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" shutdownLinode: operationId: shutdownLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" updateLinode: operationId: updateLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" deleteLinode: operationId: deleteLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" rebuildLinode: operationId: rebuildLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" mutateLinode: operationId: mutateLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" resizeLinode: operationId: resizeLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" rescueLinode: operationId: rescueLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" cloneLinode: operationId: cloneLinodeInstance parameters: - linodeId: '$request.body#/id' + linodeId: "$request.body#/id" attachVolume: operationId: attachVolume parameters: - volumeID: '$request.body#/id' + volumeID: "$request.body#/id" cloneVolume: operationId: cloneVolume parameters: - volumeId: '$request.body#/id' + volumeId: "$request.body#/id" detachVolume: operationId: detachVolume parameters: - volumeId: '$request.body#/id' + volumeId: "$request.body#/id" resizeVolume: operationId: resizeVolume parameters: - volumeId: '$request.body#/id' + volumeId: "$request.body#/id" schemas: Account: type: object @@ -20665,7 +22309,7 @@ components: type: array readOnly: true items: - $ref: '#/components/schemas/Promotion' + $ref: "#/components/schemas/Promotion" active_since: type: string format: date-time @@ -20715,12 +22359,12 @@ components: items: type: string description: > - A list of capabilities your account supports. + A list of capabilities your account supports. example: - - Linodes - - NodeBalancers - - Block Storage - - Object Storage + - Linodes + - NodeBalancers + - Block Storage + - Object Storage readOnly: true city: type: string @@ -20893,9 +22537,9 @@ components: type: string readOnly: true enum: - - disabled - - suspended - - active + - disabled + - suspended + - active description: > A string describing the status of this account's Object Storage service enrollment. @@ -20942,7 +22586,7 @@ components: type: string format: date-time description: When this app was authorized. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true x-linode-filterable: true x-linode-cli-display: 5 @@ -20952,7 +22596,7 @@ components: 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' + example: "2018-01-15T00:01:01" readOnly: true x-linode-cli-display: 6 x-linode-filterable: true @@ -20980,8 +22624,8 @@ components: type: type: string enum: - - auto - - snapshot + - auto + - snapshot 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. @@ -20990,13 +22634,13 @@ components: status: type: string enum: - - paused - - pending - - running - - needsPostProcessing - - successful - - failed - - userAborted + - paused + - pending + - running + - needsPostProcessing + - successful + - failed + - userAborted readOnly: true description: The current state of a specific Backup. example: successful @@ -21019,20 +22663,20 @@ components: format: date-time readOnly: true description: The date the Backup was taken. - example: '2018-01-15T00:01:01' + example: "2018-01-15T00:01:01" x-linode-cli-display: 4 updated: type: string format: date-time readOnly: true description: The date the Backup was most recently updated. - example: '2018-01-15T00:01:01' + example: "2018-01-15T00:01:01" finished: type: string format: date-time readOnly: true description: The date the Backup completed. - example: '2018-01-15T00:01:01' + example: "2018-01-15T00:01:01" label: type: string description: A label for Backups that are of type `snapshot`. @@ -21057,7 +22701,7 @@ components: type: integer example: 9001 filesystem: - $ref: '#/components/schemas/Disk/properties/filesystem' + $ref: "#/components/schemas/Disk/properties/filesystem" label: type: string example: My Debian 9 Disk @@ -21100,7 +22744,7 @@ components: readOnly: true x-linode-filterable: true description: The start date-time of the Beta Program. - example: '2023-07-11T00:00:00' + example: "2023-07-11T00:00:00" x-linode-cli-display: 5 ended: type: string @@ -21126,19 +22770,19 @@ components: description: An object representing an enrolled Beta Program for the Account. properties: id: - $ref: '#/components/schemas/BetaProgram/properties/id' + $ref: "#/components/schemas/BetaProgram/properties/id" x-linode-cli-display: 1 label: - $ref: '#/components/schemas/BetaProgram/properties/label' + $ref: "#/components/schemas/BetaProgram/properties/label" x-linode-cli-display: 2 description: - $ref: '#/components/schemas/BetaProgram/properties/description' + $ref: "#/components/schemas/BetaProgram/properties/description" x-linode-cli-display: 3 started: - $ref: '#/components/schemas/BetaProgram/properties/started' + $ref: "#/components/schemas/BetaProgram/properties/started" x-linode-cli-display: 4 ended: - $ref: '#/components/schemas/BetaProgram/properties/ended' + $ref: "#/components/schemas/BetaProgram/properties/ended" x-linode-cli-display: 5 enrolled: type: string @@ -21146,7 +22790,7 @@ components: readOnly: true x-linode-filterable: true description: The date-time of Account enrollment to the Beta Program. - example: '2023-09-11T00:00:00' + example: "2023-09-11T00:00:00" x-linode-cli-display: 6 ChildAccount: type: object @@ -21305,10 +22949,10 @@ components: 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 + - card_number + - expiry_month + - expiry_year + - cvv properties: card_number: type: string @@ -21348,7 +22992,7 @@ components: format: digits description: > CVV (Card Verification Value) of the credit card, typically found on the back of the card. - example: '123' + example: "123" Database: type: object description: A general Managed Database instance object containing properties that are identical for all database types. @@ -21376,8 +23020,8 @@ components: engine: type: string enum: - - mysql - - postgresql + - mysql + - postgresql description: The Managed Database engine type. example: mysql x-linode-filterable: true @@ -21399,16 +23043,16 @@ components: status: type: string enum: - - provisioning - - active - - suspending - - suspended - - resuming - - restoring - - failed - - degraded - - updating - - backing_up + - 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 @@ -21431,8 +23075,8 @@ components: allow_list: type: array example: - - "203.0.113.1/32" - - "192.0.1.0/24" + - "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. @@ -21446,8 +23090,8 @@ components: cluster_size: type: integer enum: - - 1 - - 3 + - 1 + - 3 example: 3 default: 1 description: | @@ -21479,13 +23123,13 @@ components: type: string format: date-time description: When this Managed Database was created. - example: '2022-01-01T00:01:01' + 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' + example: "2022-01-01T00:01:01" readOnly: true updates: type: object @@ -21495,8 +23139,8 @@ components: type: string default: weekly enum: - - weekly - - monthly + - weekly + - monthly description: Whether maintenance occurs on a weekly or monthly basis. example: weekly duration: @@ -21547,8 +23191,8 @@ components: type: type: string enum: - - snapshot - - auto + - snapshot + - auto description: The type of database backup, determined by how the backup was created. example: auto x-linode-filterable: true @@ -21565,7 +23209,7 @@ components: created: type: string format: date-time - example: '2022-01-01T00:01:01' + 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 @@ -21588,8 +23232,8 @@ components: target: type: string enum: - - primary - - secondary + - primary + - secondary default: primary description: | The Database cluster target. @@ -21647,13 +23291,13 @@ components: description: Managed MySQL Databases object. properties: id: - $ref: '#/components/schemas/Database/properties/id' + $ref: "#/components/schemas/Database/properties/id" x-linode-cli-display: 1 label: - $ref: '#/components/schemas/Database/properties/label' + $ref: "#/components/schemas/Database/properties/label" x-linode-cli-display: 2 type: - $ref: '#/components/schemas/Database/properties/type' + $ref: "#/components/schemas/Database/properties/type" x-linode-cli-display: 4 engine: type: string @@ -21670,10 +23314,10 @@ components: x-linode-cli-display: 9 readOnly: true region: - $ref: '#/components/schemas/Database/properties/region' + $ref: "#/components/schemas/Database/properties/region" x-linode-cli-display: 3 status: - $ref: '#/components/schemas/Database/properties/status' + $ref: "#/components/schemas/Database/properties/status" x-linode-cli-display: 100 x-linode-cli-color: provisioning: yellow @@ -21684,14 +23328,14 @@ components: degraded: red default_: white encrypted: - $ref: '#/components/schemas/Database/properties/encrypted' + $ref: "#/components/schemas/Database/properties/encrypted" allow_list: - $ref: '#/components/schemas/Database/properties/allow_list' + $ref: "#/components/schemas/Database/properties/allow_list" cluster_size: - $ref: '#/components/schemas/Database/properties/cluster_size' + $ref: "#/components/schemas/Database/properties/cluster_size" x-linode-cli-display: 7 hosts: - $ref: '#/components/schemas/Database/properties/hosts' + $ref: "#/components/schemas/Database/properties/hosts" ssl_connection: type: boolean default: true @@ -21703,9 +23347,9 @@ components: replication_type: type: string enum: - - none - - asynch - - semi_synch + - none + - asynch + - semi_synch example: semi_synch description: | The replication method used for the Managed Database. @@ -21722,11 +23366,11 @@ components: example: 3306 x-linode-cli-display: 98 created: - $ref: '#/components/schemas/Database/properties/created' + $ref: "#/components/schemas/Database/properties/created" updated: - $ref: '#/components/schemas/Database/properties/updated' + $ref: "#/components/schemas/Database/properties/updated" updates: - $ref: '#/components/schemas/Database/properties/updates' + $ref: "#/components/schemas/Database/properties/updates" total_disk_size_gb: type: integer example: 15 @@ -21747,37 +23391,37 @@ components: - region properties: label: - $ref: '#/components/schemas/DatabaseMySQL/properties/label' + $ref: "#/components/schemas/DatabaseMySQL/properties/label" type: - $ref: '#/components/schemas/DatabaseMySQL/properties/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' + $ref: "#/components/schemas/DatabaseMySQL/properties/region" encrypted: - $ref: '#/components/schemas/DatabaseMySQL/properties/encrypted' + $ref: "#/components/schemas/DatabaseMySQL/properties/encrypted" allow_list: - $ref: '#/components/schemas/DatabaseMySQL/properties/allow_list' + $ref: "#/components/schemas/DatabaseMySQL/properties/allow_list" cluster_size: - $ref: '#/components/schemas/DatabaseMySQL/properties/cluster_size' + $ref: "#/components/schemas/DatabaseMySQL/properties/cluster_size" ssl_connection: - $ref: '#/components/schemas/DatabaseMySQL/properties/ssl_connection' + $ref: "#/components/schemas/DatabaseMySQL/properties/ssl_connection" replication_type: - $ref: '#/components/schemas/DatabaseMySQL/properties/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' + $ref: "#/components/schemas/Database/properties/id" x-linode-cli-display: 1 label: - $ref: '#/components/schemas/Database/properties/label' + $ref: "#/components/schemas/Database/properties/label" x-linode-cli-display: 2 type: - $ref: '#/components/schemas/Database/properties/type' + $ref: "#/components/schemas/Database/properties/type" x-linode-cli-display: 4 engine: type: string @@ -21794,10 +23438,10 @@ components: x-linode-cli-display: 7 readOnly: true region: - $ref: '#/components/schemas/Database/properties/region' + $ref: "#/components/schemas/Database/properties/region" x-linode-cli-display: 3 status: - $ref: '#/components/schemas/Database/properties/status' + $ref: "#/components/schemas/Database/properties/status" x-linode-cli-display: 100 x-linode-cli-color: provisioning: yellow @@ -21808,11 +23452,11 @@ components: degraded: red default_: white encrypted: - $ref: '#/components/schemas/Database/properties/encrypted' + $ref: "#/components/schemas/Database/properties/encrypted" allow_list: - $ref: '#/components/schemas/Database/properties/allow_list' + $ref: "#/components/schemas/Database/properties/allow_list" cluster_size: - $ref: '#/components/schemas/Database/properties/cluster_size' + $ref: "#/components/schemas/Database/properties/cluster_size" x-linode-cli-display: 5 hosts: type: object @@ -21845,8 +23489,8 @@ components: replication_type: type: string enum: - - none - - asynch + - none + - asynch example: async description: | The replication method used for the Managed Database. @@ -21860,11 +23504,11 @@ components: replication_commit_type: type: string enum: - - 'on' - - 'local' - - 'remote_write' - - 'remote_apply' - - 'off' + - "on" + - "local" + - "remote_write" + - "remote_apply" + - "off" default: local example: local description: | @@ -21878,11 +23522,11 @@ components: example: 3306 x-linode-cli-display: 98 created: - $ref: '#/components/schemas/Database/properties/created' + $ref: "#/components/schemas/Database/properties/created" updated: - $ref: '#/components/schemas/Database/properties/updated' + $ref: "#/components/schemas/Database/properties/updated" updates: - $ref: '#/components/schemas/Database/properties/updates' + $ref: "#/components/schemas/Database/properties/updates" total_disk_size_gb: type: integer example: 15 @@ -21903,27 +23547,27 @@ components: - region properties: label: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/label' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/label" type: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/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' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/region" encrypted: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/encrypted' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/encrypted" allow_list: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/allow_list' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/allow_list" cluster_size: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/cluster_size' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/cluster_size" ssl_connection: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/ssl_connection' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/ssl_connection" replication_type: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/replication_type' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/replication_type" replication_commit_type: - $ref: '#/components/schemas/DatabasePostgreSQL/properties/replication_commit_type' + $ref: "#/components/schemas/DatabasePostgreSQL/properties/replication_commit_type" DatabaseSSL: type: object description: Managed Database SSL object. @@ -21957,12 +23601,12 @@ components: type: array description: Pricing details for MySQL Managed Databases. items: - $ref: '#/components/schemas/DatabaseTypeEngine' + $ref: "#/components/schemas/DatabaseTypeEngine" postgresql: type: array description: Pricing details for PostgreSQL Managed Databases. items: - $ref: '#/components/schemas/DatabaseTypeEngine' + $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. @@ -21994,9 +23638,9 @@ components: quantity: type: integer enum: - - 1 - - 2 - - 3 + - 1 + - 2 + - 3 description: The number of nodes for the Managed Database cluster for this subscription tier. example: 1 price: @@ -22037,21 +23681,21 @@ components: * 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' + $ref: "#/components/schemas/Device" sdb: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdc: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdd: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sde: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdf: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdg: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdh: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" Disk: type: object properties: @@ -22081,9 +23725,9 @@ components: example: ready readOnly: true enum: - - ready - - not ready - - deleting + - ready + - not ready + - deleting x-linode-cli-display: 3 x-linode-cli-color: ready: green @@ -22107,23 +23751,23 @@ components: * initrd - initrd (uncompressed initrd, ext2, max 32 MB). example: ext4 enum: - - raw - - swap - - ext3 - - ext4 - - initrd + - 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' + example: "2018-01-01T00:01:01" readOnly: true updated: type: string format: date-time description: When this Disk was last updated. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true DiskRequest: type: object @@ -22138,9 +23782,9 @@ components: 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' + $ref: "#/components/schemas/Disk/properties/label" filesystem: - $ref: '#/components/schemas/Disk/properties/filesystem' + $ref: "#/components/schemas/Disk/properties/filesystem" image: type: string description: | @@ -22158,7 +23802,7 @@ components: type: string writeOnly: true example: - - ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer + - 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. @@ -22168,8 +23812,8 @@ components: type: string writeOnly: true example: - - myUser - - secondaryUser + - myUser + - secondaryUser description: > A list of usernames. If the usernames have associated SSH keys, the keys will be appended to the root users @@ -22224,8 +23868,8 @@ components: type: type: string enum: - - master - - slave + - 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"). @@ -22233,7 +23877,7 @@ components: x-linode-cli-display: 3 domain: type: string - pattern: \A(\*\.)?([a-zA-Z0-9-_]{1,63}\.)+([a-zA-Z]{2,3}\.)?([a-zA-Z]{2,16}|xn--[a-zA-Z0-9]+)\Z + 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: > @@ -22257,8 +23901,8 @@ components: status: type: string enum: - - disabled - - active + - disabled + - active default: active description: > Used to control whether this Domain is currently being rendered. @@ -22365,8 +24009,8 @@ components: items: type: string example: - - example tag - - another example + - example tag + - another example DomainRecord: type: object description: > @@ -22381,15 +24025,15 @@ components: type: type: string enum: - - A - - AAAA - - NS - - MX - - CNAME - - TXT - - SRV - - PTR - - CAA + - 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). @@ -22521,9 +24165,9 @@ components: tag: type: string enum: - - issue - - issuewild - - iodef + - issue + - issuewild + - iodef nullable: true description: > The tag portion of a CAA record. Only valid and required for CAA record requests. @@ -22533,13 +24177,13 @@ components: type: string format: date-time description: When this Domain Record was created. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true updated: type: string format: date-time description: When this Domain Record was last updated. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true EntityTransfer: type: object @@ -22566,12 +24210,12 @@ components: default_: white type: string enum: - - accepted - - canceled - - completed - - failed - - pending - - stale + - accepted + - canceled + - completed + - failed + - pending + - stale description: > The status of the transfer request. @@ -22594,19 +24238,19 @@ components: `stale`: The transfer has exceeded its expiration date. It can no longer be accepted or canceled. - example: 'pending' + example: "pending" created: type: string format: date-time description: > When this transfer was created. - example: '2021-02-11T16:37:03' + 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' + example: "2021-02-11T16:37:03" is_sender: x-linode-cli-display: 4 x-linode-filterable: true @@ -22620,7 +24264,7 @@ components: format: date-time description: > When this transfer expires. Transfers will automatically expire 24 hours after creation. - example: '2021-02-12T16:37:03' + example: "2021-02-12T16:37:03" entities: type: object description: > @@ -22673,131 +24317,146 @@ components: 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 + - 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 + - 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 readOnly: true description: > The action that caused this Event. New actions may be added in the future. @@ -22809,7 +24468,7 @@ components: readOnly: true format: date-time description: When this Event was created. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" x-linode-cli-display: 6 x-linode-filterable: true duration: @@ -22858,28 +24517,29 @@ components: 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 + - account + - backups + - community + - disks + - domain + - entity_transfer + - firewall + - image + - ipaddress + - linode + - longview + - loadbanacer + - managed_service + - nodebalancer + - oauth_client + - profile + - stackscript + - tag + - ticket + - token + - user + - user_ssh_key + - volume readOnly: true description: > The type of entity that is being referenced by the Event. @@ -22934,8 +24594,8 @@ components: type: string readOnly: true description: > - The rate of completion of the Event. Only some Events will return - rate; for example, migration and resize Events. + The rate of completion of the Event. Only some Events will return + rate; for example, migration and resize Events. example: null read: type: boolean @@ -22953,11 +24613,11 @@ components: readOnly: true description: The current status of this Event. enum: - - failed - - finished - - notification - - scheduled - - started + - failed + - finished + - notification + - scheduled + - started x-linode-cli-display: 8 x-linode-cli-color: failed: red @@ -23022,7 +24682,7 @@ components: example: firewall123 minLength: 3 maxLength: 32 - pattern: '^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$' + pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$" x-linode-cli-display: 2 created: x-linode-filterable: true @@ -23031,7 +24691,7 @@ components: readOnly: true description: > When this Firewall was created. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" x-linode-cli-display: 4 updated: x-linode-filterable: true @@ -23040,21 +24700,21 @@ components: readOnly: true description: > When this Firewall was last updated. - example: '2018-01-02T00:01:01' + example: "2018-01-02T00:01:01" x-linode-cli-display: 5 status: type: string readOnly: true description: > - The status of this Firewall. + 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. + * 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 + - enabled + - disabled + - deleted example: enabled x-linode-cli-display: 3 rules: @@ -23072,27 +24732,27 @@ components: description: | The inbound rules for the firewall, as a JSON array. items: - $ref: '#/components/schemas/FirewallRuleConfig' + $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' + $ref: "#/components/schemas/FirewallRuleConfig" inbound_policy: type: string enum: - - ACCEPT - - DROP + - 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 + - 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 @@ -23105,8 +24765,8 @@ components: items: type: string example: - - example tag - - another example + - example tag + - another example FirewallRuleConfig: type: object description: > @@ -23116,10 +24776,10 @@ components: protocol: type: string enum: - - TCP - - UDP - - ICMP - - IPENCAP + - TCP + - UDP + - ICMP + - IPENCAP description: > The type of network traffic affected by this rule. example: TCP @@ -23135,7 +24795,7 @@ components: - 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' + example: "22-24, 80, 443" addresses: type: object description: | @@ -23152,8 +24812,8 @@ components: items: type: string example: - - 192.0.2.0/24 - - 198.51.100.2/32 + - 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. @@ -23163,12 +24823,12 @@ components: items: type: string example: - - 2001:DB8::/128 + - 2001:DB8::/128 action: type: string enum: - - ACCEPT - - DROP + - 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 @@ -23183,7 +24843,7 @@ components: type: string description: | Used to describe this rule. For display purposes only. - example: 'An example firewall rule description.' + example: "An example firewall rule description." minLength: 1 maxLength: 100 FirewallDevices: @@ -23208,7 +24868,7 @@ components: readOnly: true description: > When this Device was created. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" x-linode-cli-display: 3 updated: x-linode-filterable: true @@ -23217,7 +24877,7 @@ components: readOnly: true description: > When this Device was last updated. - example: '2018-01-02T00:01:01' + example: "2018-01-02T00:01:01" x-linode-cli-display: 4 entity: type: object @@ -23233,8 +24893,8 @@ components: description: The entity's type. type: string enum: - - linode - - nodebalancer + - linode + - nodebalancer example: linode label: description: The entity's label. @@ -23263,8 +24923,8 @@ components: type: string nullable: true enum: - - read_only - - read_write + - read_only + - read_write description: > The level of access this User has to this entity. If null, this User has no access. @@ -23328,6 +24988,10 @@ components: type: boolean description: If true, this User may add StackScripts. example: true + add_loadbalancers: + type: boolean + description: If true, this User may add Cloud Load Balancers. + example: true add_nodebalancers: type: boolean description: If true, this User may add NodeBalancers. @@ -23361,55 +25025,61 @@ components: linode: type: array items: - $ref: '#/components/schemas/Grant' + $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' + $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' + $ref: "#/components/schemas/Grant" description: > The grants this User has for each Domain that is owned by this Account. + loadbalancer: + type: array + items: + $ref: "#/components/schemas/Grant" + description: > + The grants this User has for each Cloud Load Balancer that is owned by this Account. nodebalancer: type: array items: - $ref: '#/components/schemas/Grant' + $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' + $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' + $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' + $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' + $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' + $ref: "#/components/schemas/Grant" description: > The grants this User has for each VPC that is owned by this Account. Image: @@ -23433,13 +25103,13 @@ components: type: string format: date-time description: When this Image was created. - example: '2021-08-14T22:44:02' + 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' + example: "2021-08-14T22:44:02" readOnly: true created_by: type: string @@ -23492,8 +25162,8 @@ components: "Automatic" Images are created automatically from a deleted Linode. enum: - - manual - - automatic + - manual + - automatic example: manual readOnly: true expiry: @@ -23530,9 +25200,9 @@ components: readOnly: true x-linode-filterable: true enum: - - creating - - pending_upload - - available + - creating + - pending_upload + - available description: | The current status of this Image. @@ -23551,7 +25221,7 @@ components: items: type: string example: - - cloud-init + - cloud-init Invoice: type: object description: Account Invoice object @@ -23567,7 +25237,7 @@ components: readOnly: true format: date-time description: When this Invoice was generated. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" x-linode-cli-display: 2 label: type: string @@ -23611,8 +25281,8 @@ components: billing_source: type: string enum: - - akamai - - linode + - akamai + - linode readOnly: true description: | `akamai`: This Invoice was generated according to the terms of an agreement between the customer and Akamai. @@ -23647,7 +25317,7 @@ components: readOnly: true format: date-time description: The date the Invoice Item started, based on month. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" x-linode-cli-display: 2 label: type: string @@ -23665,15 +25335,15 @@ components: readOnly: true format: date-time description: The date the Invoice Item ended, based on month. - example: '2018-01-31T11:59:59' + 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 + - hourly + - misc example: hourly unit_price: type: string @@ -23727,10 +25397,10 @@ components: type: type: string enum: - - ipv4 - - ipv6 - - ipv6/pool - - ipv6/range + - ipv4 + - ipv6 + - ipv6/pool + - ipv6/range description: > The type of address this is. example: ipv4 @@ -23795,13 +25465,13 @@ components: format: ipv4 description: | The IPv4 address that is configured as a 1:1 NAT for this VPC interface. - example: 192.0.2.1 + example: 192.168.0.42 IPAddressesAssignRequest: type: object description: Request object for IP Addresses Assign (POST /networking/ips/assign). required: - - region - - assignments + - region + - assignments properties: region: type: string @@ -23842,7 +25512,7 @@ components: IPAddressesListResponse: description: The response data for the IP Addresses List (GET /networking/ips) command. allOf: - - $ref: '#/components/schemas/PaginationEnvelope' + - $ref: "#/components/schemas/PaginationEnvelope" - type: object properties: data: @@ -23886,10 +25556,10 @@ components: type: type: string enum: - - ipv4 - - ipv6 - - ipv6/pool - - ipv6/range + - ipv4 + - ipv6 + - ipv6/pool + - ipv6/range description: > The type of address this is. example: ipv4 @@ -23935,7 +25605,7 @@ components: 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. + 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: @@ -23957,12 +25627,13 @@ components: 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 + - linode_id + - ips properties: linode_id: type: integer @@ -23975,121 +25646,115 @@ components: type: string format: ip example: - - "192.0.2.1" - - "2001:db8:3c4d:15::" + - "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. - IPAddressesVPCListResponse: + 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: - data: - type: array - items: - 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. 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 `null` if the VPC interface uses an `address_range` or NAT 1:1 isn't used. - example: null - nullable: true - 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 + 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: > @@ -24300,7 +25965,7 @@ components: type: string description: > The IPv6 range of addresses in this pool. - example: '2600:3c01::2:5000:0' + example: "2600:3c01::2:5000:0" readOnly: true x-linode-cli-display: 1 prefix: @@ -24321,7 +25986,7 @@ components: type: string description: > The last address in this block of IPv6 addresses. - example: '2600:3c01::2:5000:f' + example: "2600:3c01::2:5000:f" nullable: true IPv6Range: type: object @@ -24332,7 +25997,7 @@ components: type: string description: > The IPv6 address of this range. - example: '2600:3c01::' + example: "2600:3c01::" readOnly: true x-linode-cli-display: 1 prefix: @@ -24352,7 +26017,7 @@ components: type: string description: > The IPv6 SLAAC address. - example: '2600:3c01::ffff:ffff:ffff:ffff' + example: "2600:3c01::ffff:ffff:ffff:ffff" IPv6RangeBGP: type: object description: > @@ -24362,7 +26027,7 @@ components: type: string description: > The IPv6 address of this range. - example: '2600:3c01::' + example: "2600:3c01::" readOnly: true x-linode-cli-display: 1 prefix: @@ -24389,7 +26054,7 @@ components: items: type: integer example: - - 123 + - 123 description: > A list of Linodes targeted by this IPv6 range. Includes Linodes with IP sharing. readOnly: true @@ -24429,8 +26094,8 @@ components: type: string description: The architecture of this Kernel. enum: - - x86_64 - - i386 + - x86_64 + - i386 example: x86_64 readOnly: true x-linode-cli-display: 4 @@ -24443,7 +26108,8 @@ components: deprecated: x-linode-filterable: true type: boolean - description: If this Kernel is marked as deprecated, this field has a value of true; + description: + If this Kernel is marked as deprecated, this field has a value of true; otherwise, this field is false. example: false readOnly: true @@ -24451,7 +26117,7 @@ components: type: string format: date-time description: The date on which this Kernel was built. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true Linode: type: object @@ -24472,7 +26138,7 @@ components: example: linode123 minLength: 3 maxLength: 64 - pattern: '^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$' + pattern: "^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$" region: type: string x-linode-filterable: true @@ -24487,7 +26153,7 @@ components: readOnly: true nullable: true allOf: - - $ref: '#/components/schemas/DiskRequest/properties/image' + - $ref: "#/components/schemas/DiskRequest/properties/image" x-linode-cli-display: 5 example: linode/debian10 type: @@ -24517,8 +26183,8 @@ components: items: type: string example: - - example tag - - another example + - example tag + - another example id: x-linode-filterable: true type: integer @@ -24536,25 +26202,25 @@ components: example: running readOnly: true enum: - - running - - offline - - booting - - rebooting - - shutting_down - - provisioning - - deleting - - migrating - - rebuilding - - cloning - - restoring - - stopped - - billing_suspension + - 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 + running: green + offline: red + billing_suspension: red + default_: yellow hypervisor: type: string description: > @@ -24562,18 +26228,18 @@ components: example: kvm readOnly: true enum: - - kvm + - kvm created: type: string format: date-time description: When this Linode was created. - example: '2018-01-01T00:01:01' + 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' + example: "2018-01-01T00:01:01" readOnly: true ipv4: x-linode-filterable: true @@ -24602,7 +26268,7 @@ components: 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' + example: "c001:d00d::1337/128" readOnly: true specs: type: object @@ -24732,14 +26398,14 @@ components: may come back as `Scheduling` until the `day` is automatically selected. example: Saturday enum: - - Scheduling - - Sunday - - Monday - - Tuesday - - Wednesday - - Thursday - - Friday - - Saturday + - Scheduling + - Sunday + - Monday + - Tuesday + - Wednesday + - Thursday + - Friday + - Saturday window: type: string nullable: true @@ -24758,25 +26424,25 @@ components: 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 + - 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' + example: "2018-01-01T00:01:01" watchdog_enabled: type: boolean description: > @@ -24835,9 +26501,9 @@ components: description: > Defines the state of your Linode after booting. Defaults to `default`. enum: - - default - - single - - binbash + - default + - single + - binbash example: default virt_mode: type: string @@ -24850,11 +26516,11 @@ components: * `fullvirt` affords more customization, but is slower because 100% of the VM is virtualized. enum: - - paravirt - - fullvirt + - paravirt + - fullvirt example: paravirt interfaces: - $ref: '#/components/schemas/LinodeConfigInterfaces' + $ref: "#/components/schemas/LinodeConfigInterfaces" helpers: type: object description: Helpers enabled when booting to this Linode Config. @@ -24890,7 +26556,7 @@ components: maxLength: 48 x-linode-cli-display: 2 devices: - $ref: '#/components/schemas/Devices' + $ref: "#/components/schemas/Devices" root_device: type: string pattern: a-z, A-Z, 0-9, /, _, - @@ -24918,7 +26584,7 @@ components: type: string minLength: 1 maxLength: 64 - pattern: '[a-zA-Z0-9-]+' + pattern: "[a-zA-Z0-9-]+" x-linode-filterable: true nullable: true description: | @@ -24958,7 +26624,7 @@ components: 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' + example: "10.0.0.1/24" x-linode-cli-display: 4 purpose: type: string @@ -25037,7 +26703,7 @@ components: * 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' + example: "10.0.0.2" nat_1_1: type: string format: ip @@ -25099,17 +26765,17 @@ components: type: string format: ip example: - - 10.0.0.64/26 - - fd04:495a:691c:971c::1:0/112 + - 10.0.0.64/26 + - fd04:495a:691c:971c::1:0/112 LinodeConfigInterfaces: type: array items: - $ref: '#/components/schemas/LinodeConfigInterface' + $ref: "#/components/schemas/LinodeConfigInterface" minItems: 1 maxItems: 3 uniqueItems: true required: - - purpose + - 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: @@ -25132,58 +26798,52 @@ components: - 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": 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" + - { + "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' + $ref: "#/components/schemas/DiskRequest/properties/image" root_pass: - $ref: '#/components/schemas/DiskRequest/properties/root_pass' + $ref: "#/components/schemas/DiskRequest/properties/root_pass" authorized_keys: - $ref: '#/components/schemas/DiskRequest/properties/authorized_keys' + $ref: "#/components/schemas/DiskRequest/properties/authorized_keys" authorized_users: - $ref: '#/components/schemas/DiskRequest/properties/authorized_users' + $ref: "#/components/schemas/DiskRequest/properties/authorized_users" stackscript_id: - $ref: '#/components/schemas/DiskRequest/properties/stackscript_id' + $ref: "#/components/schemas/DiskRequest/properties/stackscript_id" stackscript_data: - $ref: '#/components/schemas/DiskRequest/properties/stackscript_data' + $ref: "#/components/schemas/DiskRequest/properties/stackscript_data" booted: type: boolean writeOnly: true @@ -25229,8 +26889,8 @@ components: items: type: number example: - - 1521483600000 - - 0.42 + - 1521483600000 + - 0.42 io: type: object description: Input/Output statistics. @@ -25243,8 +26903,8 @@ components: items: type: number example: - - 1521484800000 - - 0.19 + - 1521484800000 + - 0.19 swap: type: array description: Block/s written. @@ -25253,8 +26913,8 @@ components: items: type: number example: - - 1521484800000 - - 0 + - 1521484800000 + - 0 netv4: type: object description: IPv4 statistics. @@ -25267,8 +26927,8 @@ components: items: type: number example: - - 1521484800000 - - 2004.36 + - 1521484800000 + - 2004.36 out: type: array description: Output stats for IPv4, measured in bits/s (bits/second). @@ -25277,8 +26937,8 @@ components: items: type: number example: - - 1521484800000 - - 3928.91 + - 1521484800000 + - 3928.91 private_in: type: array description: Private IPv4 input statistics, measured in bits/s (bits/second). @@ -25287,8 +26947,8 @@ components: items: type: number example: - - 1521484800000 - - 0 + - 1521484800000 + - 0 private_out: type: array description: Private IPv4 output statistics, measured in bits/s (bits/second). @@ -25297,8 +26957,8 @@ components: items: type: number example: - - 1521484800000 - - 5.6 + - 1521484800000 + - 5.6 netv6: type: object description: IPv6 statistics. @@ -25311,8 +26971,8 @@ components: items: type: number example: - - 1521484800000 - - 0 + - 1521484800000 + - 0 out: type: array description: Output stats for IPv6, measured in bits/s (bits/second). @@ -25321,8 +26981,8 @@ components: items: type: number example: - - 1521484800000 - - 0 + - 1521484800000 + - 0 private_in: type: array description: Private IPv6 input statistics, measured in bits/s (bits/second). @@ -25331,8 +26991,8 @@ components: items: type: number example: - - 1521484800000 - - 195.18 + - 1521484800000 + - 195.18 private_out: type: array description: Private IPv6 output statistics, measured in bits/s (bits/second). @@ -25341,8 +27001,8 @@ components: items: type: number example: - - 1521484800000 - - 5.6 + - 1521484800000 + - 5.6 title: type: string description: The title for this data set. @@ -25394,12 +27054,12 @@ components: * `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 + - nanode + - standard + - dedicated + - premium + - gpu + - highmem example: standard x-linode-cli-display: 3 price: @@ -25612,8 +27272,8 @@ components: items: type: string example: - - ecomm - - blogs + - ecomm + - blogs LKENodePoolRequestBody: type: object description: > @@ -25645,9 +27305,9 @@ components: 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' + $ref: "#/components/schemas/LKENodePool/properties/type" count: - $ref: '#/components/schemas/LKENodePool/properties/count' + $ref: "#/components/schemas/LKENodePool/properties/count" disks: type: array x-linode-cli-format: json @@ -25664,9 +27324,9 @@ components: * 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' + $ref: "#/components/schemas/LKENodePool/properties/disks/items" tags: - $ref: '#/components/schemas/LKENodePool/properties/tags' + $ref: "#/components/schemas/LKENodePool/properties/tags" LKENodePool: type: object description: > @@ -25727,8 +27387,8 @@ components: This custom disk partition's filesystem type. type: string enum: - - raw - - ext4 + - raw + - ext4 example: ext-4 id: type: integer @@ -25743,7 +27403,7 @@ components: 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' + $ref: "#/components/schemas/LKENodeStatus" tags: x-linode-filterable: true description: > @@ -25753,8 +27413,8 @@ components: items: type: string example: - - example tag - - another example + - example tag + - another example LKENodeStatus: type: object description: > @@ -25778,8 +27438,8 @@ components: description: > The Node's status as it pertains to being a Kubernetes node. enum: - - ready - - not_ready + - ready + - not_ready example: ready LKEVersion: type: object @@ -25812,7 +27472,7 @@ components: type: string minLength: 3 maxLength: 32 - pattern: '[a-zA-Z0-9-_]{3,32}' + pattern: "[a-zA-Z0-9-_]{3,32}" description: > This Client's unique label. This is for display purposes only. example: client789 @@ -25897,7 +27557,7 @@ components: format: date-time description: > When the login was initiated. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true x-linode-cli-display: 2 ip: @@ -25940,7 +27600,7 @@ components: properties: id: type: string - enum: ['longview-3', 'longview-10', 'longview-40', 'longview-100'] + enum: ["longview-3", "longview-10", "longview-40", "longview-100"] description: > The unique ID of this Subscription tier. example: longview-10 @@ -25988,7 +27648,7 @@ components: properties: longview_subscription: type: string - enum: ['longview-3', 'longview-10', 'longview-40', 'longview-100'] + 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. @@ -26007,9 +27667,9 @@ components: x-linode-filterable: true type: string enum: - - reboot - - cold_migration - - live_migration + - reboot + - cold_migration + - live_migration description: > The type of maintenance. example: reboot @@ -26017,9 +27677,9 @@ components: x-linode-filterable: true type: string enum: - - completed - - pending - - started + - completed + - pending + - started description: | The maintenance status. @@ -26087,7 +27747,7 @@ components: type: string minLength: 2 maxLength: 64 - pattern: '[a-zA-Z0-9-_ ]{2,64}' + pattern: "[a-zA-Z0-9-_ ]{2,64}" description: > The name of this Contact. example: John Doe @@ -26134,7 +27794,7 @@ components: format: date-time description: > When this Contact was last updated. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true ManagedCredential: type: object @@ -26187,7 +27847,7 @@ components: 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' + example: "2018-01-01T00:01:01" readOnly: true x-linode-cli-display: 2 services: @@ -26215,7 +27875,7 @@ components: type: type: string enum: - - ticket + - ticket description: > The type of entity this is. In this case, it is always a Ticket. example: ticket @@ -26326,10 +27986,10 @@ components: status: type: string enum: - - disabled - - pending - - ok - - problem + - disabled + - pending + - ok + - problem description: > The current status of this Service. example: ok @@ -26342,95 +28002,757 @@ components: service_type: type: string enum: - - url - - tcp + - 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}' + 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 + ACLBLoadBalancer: + type: object + description: > + Akamai Cloud Load Balancer offers global, configurable, scalable, distributed compute traffic management across physical, virtual, and cloud-hosted applications. It can automatically detect load conditions and levels and route traffic to the optimal target while maintaining custom routing policies and consistent visitor session behavior. + properties: + id: + type: integer + description: > + This Cloud Load Balancer's unique ID. + example: 12345 + readOnly: true + x-linode-cli-display: 1 + tags: + description: > + Optional tags to help organize and group your load balancers. + type: object + items: + type: string + example: + - test-aclb + - production-aclb + x-linode-cli-display: 2 + label: + type: string + description: > + This Cloud Load Balancer's label. Labels must be unique on your Account. + example: balancer12345 + x-linode-cli-display: 3 + regions: + description: > + Regions this Cloud Load Balancer covers. To get the regions available for Cloud Load Balancer and other services, refer to the Regions List API. + type: object + items: + type: string + example: + - us-iad + - ap-southeast + hostname: + type: string + description: > + This Cloud Load Balancer's hostname. + example: example.mesh.akadns.net + readOnly: true + x-linode-cli-display: 4 + configurations: + description: > + Cloud Load Balancer configurations. + type: array + items: + type: object + properties: + id: + $ref: "#/components/schemas/ACLBConfiguration/properties/id" + label: + $ref: "#/components/schemas/ACLBConfiguration/properties/label" + ACLBLoadBalancerDatacenter: + type: object + description: > + The regions this Cloud Load Balancer covers. + properties: + regions: + $ref: "#/components/schemas/ACLBLoadBalancer/properties/regions" + x-linode-cli-display: 4 + ACLBConfiguration: + type: object + description: > + A Cloud Load Balancer can have muliple configurations. Each configuration includes an id, label, port and protocol. For HTTPS protocol load Balancers, TLS certificates are also required. Configuration details related to routes and health checks are optional. + properties: + id: + type: integer + description: > + The configurations assigned id. + example: 125 + x-linode-cli-display: 1 + label: + type: string + description: > + The configuration label. + example: config-12345 + x-linode-cli-display: 2 + port: + type: integer + minimum: 1 + maximum: 65535 + default: 80 + description: > + The port this Cloud Load Balancer configuration listens on. Set the inbound `port` value the load balancer listens on to whichever port the client software connects to. For instance, web browsers use port 80 for HTTP traffic and port 443 for HTTPS traffic, though a client can change the port by specifying it as part of the URL. + example: 443 + x-linode-cli-display: 4 + 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 `certificates`. + + * The `https` protocol is mutually required with `cerificates`. + + Review our guide on [Available Protocols](https://deploy-preview-14--roaring-gelato-12dc9e.netlify.app/docs/products/networking/global-loadbalancer/guides/protocols/) for information on protocol features. + example: https + x-linode-cli-display: 5 + certificates: + type: array + description: > + Required when the `protocol` is https. Not applicable if the protocol is http or tcp. + x-linode-cli-display: 6 + items: + $ref: "#/components/schemas/ACLBConfigurationCertificate" + routes: + type: array + description: > + Routes assigned to configurations. + items: + $ref: "#/components/schemas/ACLBConfigurationRoute" + ACLBConfigurationConfiguration: + type: object + description: > + Akamai Cloud Load Balancer offers global, configurable, scalable, distributed compute traffic management across physical, virtual, and cloud-hosted applications. It can automatically detect load conditions and levels and route traffic to the optimal target while maintaining custom routing policies and consistent visitor session behavior. + properties: + id: + type: integer + description: > + The configuration's assigned id. + example: 125 + readOnly: true + x-linode-cli-display: 1 + label: + type: string + description: > + This configuration's label. + example: balancer12345 + x-linode-cli-display: 2 + port: + type: integer + description: > + The port this Cloud Load Balancer configuration listens on. + example: 443 + x-linode-cli-display: 4 + protocol: + type: string + enum: + - http + - https + - tcp + default: https + example: https + description: > + The protocol this port is configured to serve. + + * The `http` and `tcp` protocols do not support `certificates`. + + * The `https` protocol is mutually required with `cerificates`. + + Review our guide on [Available Protocols](https://deploy-preview-14--roaring-gelato-12dc9e.netlify.app/docs/products/networking/global-loadbalancer/guides/protocols/) for information on protocol features. + certificates: + $ref: "#/components/schemas/ACLBConfigurationCertificate" + routes: + $ref: "#/components/schemas/ACLBConfigurationRoute" + ACLBConfigurationCertificate: + type: array + description: > + Used by the load balancer to terminate the connection and decrypt request from clients. + items: + properties: + id: + type: integer + description: > + This certificate's ID. + example: 10 + hostname: + type: string + description: > + Server Name Indication (SNI) Hostname. The request host header sent by the client. This host header tells the load balancer which certificate to use when responding back to the client. + example: www.example.org + ACLBCertificate: + type: object + description: > + TLS termination certificates create an encrypted link between your clients and Cloud Load Balancer and terminate incoming traffic on the load balancer. Once the load balancing policy is applied, traffic is forwarded to your service targets over encrypted TLS connections. + properties: + label: + type: string description: > - The label for this Service. This is for display purposes only. - example: prod-1 - x-linode-cli-display: 4 - address: + Certificate name. + example: cert-12345 + certificate: type: string - format: url - minLength: 3 - maxLength: 100 description: > - The URL at which this Service is monitored. + The PEM-formatted contents of your certificate. - URL parameters such as `?no-cache=1` are preserved. + **Note:** `certificate` is not returned for BETA. + example: "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----" + type: + type: string + description: > + Service target certificates, `ca`, are used by the load balancer to accept responses from your service target endpoints. - URL fragments/anchors such as `#monitor` are **not** preserved. - example: https://example.org - x-linode-cli-display: 5 - timeout: + TLS termination certificates, `downstream`, are required for HTTPS Cloud Load Balancers. + enum: + - ca + - downstream + example: downstream + id: 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: + This certificate's generated ID. + example: 10 + ACLBRoutes: + type: array + description: > + Routes define how the load balancer directs incoming requests to service targets. After a route is created, you add rules to set match conditions that are used for target selection. + items: + properties: + id: + type: integer + description: > + This routes unique ID. + example: 12345 + readOnly: true + label: + type: string + description: > + The route name. + example: route-a-b + protocol: + type: string + description: > + The route protocol. The port protocol, route protocol, and service target protocol for a load balancer configuration must all be the same. + enum: + - http + - tcp + default: http + example: http + rules: + type: array + description: > + Rules set the conditions that are used for target selection. + + - HTTP/S rules include match conditions, session stickiness, and the percentage of incoming requests that should be directed to each target. + + - TCP rules include the percentage of incoming requests that should be directed to each target. + items: + properties: + match_condition: + $ref: "#/components/schemas/ACLBMatchCondition" + service_targets: + type: array + description: | + A service target is a cluster of endpoints that the load balancer directs incoming requests to. + items: + properties: + label: + type: string + description: | + Service Target label. + example: service-target-abc + percentage: + type: integer + description: | + The percentage of incoming requests routed to this service target. + example: 75 + id: + type: integer + description: | + Assigned Service Target id. + example: 12 + ACLBRoute: + type: array + description: > + Routes define how the load balancer directs incoming requests to service targets. After a route is created, you add rules to set match conditions that are used for target selection. + items: + properties: + id: + type: integer + description: > + This routes unique ID. + example: 12345 + readOnly: true + label: + type: string + description: > + The route name. + example: route-a-b + protocol: + type: string + enum: + - http + - tcp + default: http + example: http + rules: + $ref: "#/components/schemas/ACLBRule" + ACLBConfigurationRoute: + type: array + description: > + Cloud Load Balancer Routes. Routes assigned to a load balancer’s configuration define how incoming requests are directed to service targets. + items: + properties: + id: + type: integer + description: > + This routes unique ID. + example: 12345 + label: + type: string + description: > + The route name. + example: route-a-b + ACLBRule: + type: array + description: > + Rules set the conditions that are used for target selection. + + - HTTP/S rules include Match Rules and the percentage of incoming requests that should be directed to each target. + + - TCP rules include the percentage of incoming requests that should be directed to each target. + items: + properties: + match_condition: + type: object + description: > + Match conditions are for HTTP and HTTPS load balancers only, in addition to setting the percentage of incoming requests to a target, match conditions such as `path_prefix`, `path_regex`, `query`, `header`, and `method` can be added to the route rules. A rule consists of a `match_field`, and a pattern to match on called a `match_value`. Each rule can specify only one field or pattern pair. If match match conditions are added for a TCP load balancer, the conditions are ignored. + properties: + hostname: + type: string + description: > + Additional hostname match that is used in the routing decision. Wildcards (*) are supported with the Path Regex Match Type. + example: www.example.com + match_field: + type: string + enum: + - path_prefix + - path_regex + - query + - header + - method + example: path_prefix + match_value: + type: string + description: > + The `match_value` format: + * `path_prefix`: The format of the path rule is: /path1/path2. The initial slash is required, but the trailing slash is not. + * `path_regex`: The format for path regex is a regular expression in RE2 syntax. An example for any jpg file in the /path/ directory would be /path/.*[.]jpg. The initial slash is required. + * `query`: The format for query string is: ?name=value. The query string name must be preceded by a question mark (?). + * `header`: The format for http header is: x-nameheader:value. + * `method`: The request methods include: DELETE, GET, HEAD, POST, and PUT. + example: /my-path + session_stickiness_cookie: + type: string + description: > + The cookie name used to obtain cookie value from downstream HTTP request or the cookie name used by the load balancer to generate new cookie for downstream. If you want the load balancer to generate a cookie, enter a value for `session_stickiness_ttl`. + example: cookie-name + session_stickiness_ttl: + type: integer + description: > + Expiry time in seconds for the HTTP/S load balancer generated cookie. If the TTL is set to zero, the generated cookie is a session cookie only. If a `session_stickiness_ttl` is absent, the origin's cookie is used. + example: 24 + service_targets: + $ref: "#/components/schemas/ACLBServiceTarget" + ACLBRuleServiceTarget: + type: array + description: > + The service targets for this configuration. Service targets consist of a group of endpoints. Requests are directed to service targets using configured routes. The sum of traffic across all service targets must total 100%. + items: + properties: + percentage: + type: integer + description: > + The percentage of incoming requests that should be directed to each target. + example: 50 + minimum: 0 + maximum: 100 + label: + type: string + description: > + Service target's unique label. + protocol: + type: string + enum: + - http + - https + - tcp + default: http + example: http + description: | + The protocol this target is configured to serve. The port protocol, route protocol, and service target protocol for a load balancer configuration must all be the same. + certificate_id: + type: integer + description: | + Service Target CA Certificate identification number. The certificate installed on your endpoints that are used by the load balancer to accept responses from this Service Target. + load_balancing_policy: + type: string + enum: + - round_robin + - least_request + - ring_hash + - random + - maglev + default: roundrobin + description: > + The algorithm this Cloud Load Balancer uses for routing new requests to service targets. Cloud Load Balancer also has a geo-proximity feature for selecting the optimum endpoint. + example: roundrobin + healthcheck: + $ref: "#/components/schemas/ACLBHealthcheck" + ACLBMatchCondition: + type: object + description: > + Match conditions are for HTTP and HTTPS load balancers only, in addition to setting the percentage of incoming requests to a target, match conditions such as `path_prefix`, `path_regex`, `query`, `header`, and `method` can be added to the route rules. A rule consists of a `match_field`, and a pattern to match on called a `match_value`. Each rule can specify only one field or pattern pair. If match match conditions are added for a TCP load balancer, the conditions are ignored. + properties: + hostname: 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: + Additional hostname match that is used in the routing decision. Wildcards (*) are supported with the Path Regex Match Type. + example: www.example.com + match_field: type: string + enum: + - path_prefix + - path_regex + - query + - header + - method + example: path_prefix + match_value: + type: string + description: > + The `match_value` format: + * `path_prefix`: The format of the path rule is: /path1/path2. The initial slash is required, but the trailing slash is not. + * `path_regex`: The format for path regex is a regular expression in RE2 syntax. An example for any jpg file in the /path/ directory would be /path/.*[.]jpg. The initial slash is required. + * `query`: The format for query string is: ?name=value. The query string name must be preceded by a question mark (?). + * `header`: The format for http header is: x-nameheader:value. + * `method`: The request methods include: DELETE, GET, HEAD, POST, and PUT. + example: /my-path + session_stickiness_cookie: + type: string + description: > + The cookie name used to obtain cookie value from downstream HTTP request or the cookie name used by the load balancer to generate new cookie for downstream. If you want the load balancer to generate a cookie, enter a value for `session_stickiness_ttl`. + example: cookie-name + session_stickiness_ttl: + type: integer 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: + Expiry time in seconds for the HTTP/S load balancer generated cookie. If the TTL is set to zero, the generated cookie is a session cookie only. If a `session_stickiness_ttl` is absent, the origin's cookie is used. + ACLBServiceTarget: + type: array + description: > + A service target is a cluster of endpoints that the load balancer directs incoming requests to. + required: + - endpoints + items: + properties: + id: type: integer - example: 9991 - description: > - An array of ManagedCredential IDs that should be used when attempting to - resolve issues with this Service. - created: + description: | + Service Target id. + example: 200 + label: + type: string + description: | + Service Target label. + example: service-target-abc + endpoints: + $ref: "#/components/schemas/ACLBEndpoint" + certificate_id: + type: integer + description: | + Certificate identification number. + example: 50 + protocol: + type: string + description: > + The protocol this target is configured to serve. The protocol this service target is configured to serve. The port protocol, route protocol, and service target protocol for a load balancer configuration must all be the same. + enum: + - http + - tcp + default: http + example: http + load_balancing_policy: + type: string + enum: + - round_robin + - least_request + - ring_hash + - random + - maglev + default: roundrobin + description: > + The algorithm this Cloud Load Balancer uses for routing new requests to service targets. Cloud Load Balancer also has a geo-proximity feature for selecting the optimum endpoint. + example: roundrobin + healthcheck: + $ref: "#/components/schemas/ACLBHealthcheck" + ACLBServiceTargetEndpoint: + type: array + description: > + A service target is a cluster of endpoints that the load balancer directs incoming requests to. + required: + - endpoints + items: + properties: + id: + type: integer + description: | + Service Target id. + example: 200 + label: + type: string + description: | + Service Target label. + example: service-target-abc + endpoints: + type: array + description: > + A service target is a cluster of endpoints that the load balancer directs incoming requests to. At least one endpoint must be added when adding a new service target. + items: + properties: + ip: + type: string + description: | + The public IPv4 or IPv6 address of the endpoint. + example: 192.0.2.10 + host: + type: string + description: | + The host header for HTTP/S requests to the endpoint. + example: example.org + port: + type: integer + description: | + The service target port that the load balancer directs incoming requests to. This is the port that the application is listening on. + example: 443 + rate_capacity: + type: integer + default: 10000 + example: 5000 + description: | + The maximum number of requests/second that can be directed to this endpoint. If the actual number of requests/second exceeds the configured capacity value, requests are distributed to the other endpoints. + health_status: + type: string + description: | + Health status is `up` for healthy service target endpoints and `down` for unhealthy endpoints. + + For TCP, a service target is considered healthy and able to accept incoming requests when there is a successful TCP handshake with the service target. + + For HTTP/S, the service target endpoint is considered healthy, when requests to its path or host return a 2xx or 3xx status code response. + enum: + - up + - down + example: up + certificate_id: + type: integer + description: | + Certificate identification number. + example: 50 + protocol: + type: string + description: > + The protocol this target is configured to serve. The port protocol, route protocols, and service target protocols for a load balancer configuration must all be the same. + enum: + - http + - tcp + default: http + example: http + load_balancing_policy: + type: string + enum: + - round_robin + - least_request + - ring_hash + - random + - maglev + default: roundrobin + description: > + The algorithm this Cloud Load Balancer uses for routing new requests to service targets. Cloud Load Balancer also has a geo-proximity feature for selecting the optimum endpoint. + example: roundrobin + healthcheck: + $ref: "#/components/schemas/ACLBHealthcheck" + ACLBEndpoint: + type: array + description: > + A service target is a cluster of endpoints that the load balancer directs incoming requests to. At least one endpoint must be added when adding a new service target. You can add different service targets and endpoints for different types of requests. Health checks are configured at the service target level and apply to all of the service targets endpoints. + required: + - ip + - port + - rate_capacity + items: + properties: + ip: + type: string + description: | + The public IPv4 or IPv6 address of the endpoint. + host: + type: string + description: | + The host header for HTTP/S requests to the endpoint. + port: + type: integer + description: | + The service target port that the load balancer directs incoming requests to. This is the port that the application is listening on. + rate_capacity: + type: integer + default: 10000 + example: 5000 + description: | + The maximum number of requests/second that can be directed to this endpoint. If the actual number of requests/second exceeds the configured capacity value, requests are distributed to the other endpoints. + ACLBHealthcheck: + type: object + description: | + Health checks query the service targets by performing TCP connections or by making HTTP requests. For TCP, a service target is considered healthy and able to accept incoming requests when there is a successful TCP handshake with the service target. When HTTP/S is used to validate health status, the service target is considered healthy when requests to its path or host return a 2xx or 3xx status code response. + properties: + protocol: type: string - format: date-time - description: When this Managed Service was created. - example: '2018-01-01T00:01:01' - readOnly: true - updated: + description: | + For HTTP service targets, the health check protocol can be HTTP or TCP. For TCP service targets, the health check protocol must be TCP. When set to TCP, `path` and `host` are not applicable. + enum: + - tcp + - http + default: http + example: http + interval: + type: integer + minimum: 1 + default: 10 + example: 5 + description: | + The number of seconds between health checks for this service target. + timeout: + type: integer + description: | + How long to wait (in seconds) before canceling a health check because a connection could not be established with the service target. + minimum: 1 + default: 5 + example: 10 + unhealthy_threshold: + type: integer + description: | + The number of consecutive health checks that must fail before marking a service target as unhealthy. + minimum: 1 + default: 3 + example: 3 + healthy_threshold: + type: integer + description: | + The number of consecutive health checks that must be successful before marking a service target as healthy. + minimum: 1 + default: 3 + example: 2 + path: type: string - format: date-time - description: When this Managed Service was last updated. - example: '2018-03-01T00:01:01' - readOnly: true + description: | + When `protocol` is set to HTTP/S, enter an optional request url path for the health check. When the health check `protocol` is set to TCP, `path` is not applicable. + example: /path/to/endpoint + host: + type: string + description: | + When the `healthcheck` protocol is set to `http`, this is the optional host header sent in the health check request. + When the health check `protocol` is set to TCP, `host` is not applicable. + example: example.com NodeBalancer: type: object description: > @@ -26452,7 +28774,7 @@ components: type: string minLength: 3 maxLength: 32 - pattern: '[a-zA-Z0-9-_]{3,32}' + pattern: "[a-zA-Z0-9-_]{3,32}" description: > This NodeBalancer's label. These must be unique on your Account. example: balancer12345 @@ -26466,7 +28788,7 @@ components: example: us-east readOnly: true x-linode-cli-display: 3 - hostname: + host: type: string description: > This NodeBalancer's hostname, beginning with its IP address and ending with _.ip.linodeusercontent.com_. @@ -26552,8 +28874,8 @@ components: items: type: string example: - - example tag - - another example + - example tag + - another example NodeBalancerConfig: type: object description: > @@ -26588,9 +28910,9 @@ components: protocol: type: string enum: - - http - - https - - tcp + - http + - https + - tcp default: http description: | The protocol this port is configured to serve. @@ -26605,9 +28927,9 @@ components: algorithm: type: string enum: - - roundrobin - - leastconn - - source + - roundrobin + - leastconn + - source default: roundrobin description: > What algorithm this NodeBalancer should use for routing traffic to backends. @@ -26616,9 +28938,9 @@ components: stickiness: type: string enum: - - none - - table - - http_cookie + - none + - table + - http_cookie default: none description: > Controls how session stickiness is handled on this port. @@ -26635,10 +28957,10 @@ components: check: type: string enum: - - none - - connection - - http - - http_body + - none + - connection + - http + - http_body default: none description: > The type of check to perform against backends to ensure they are serving @@ -26715,16 +29037,16 @@ components: * If set to `v2`, the binary header format (Version 2) is used. Requires `tcp` protocol. type: string enum: - - none - - v1 - - v2 + - none + - v1 + - v2 example: none default: none cipher_suite: type: string enum: - - recommended - - legacy + - recommended + - legacy default: recommended description: > What ciphers to use for SSL connections served by this NodeBalancer. @@ -26851,7 +29173,7 @@ components: type: string minLength: 3 maxLength: 32 - pattern: '[a-zA-Z0-9-_.]{3,32}' + pattern: "[a-zA-Z0-9-_.]{3,32}" description: > The label for this node. This is for display purposes only. example: node54321 @@ -26859,9 +29181,9 @@ components: status: type: string enum: - - unknown - - UP - - DOWN + - unknown + - UP + - DOWN description: > The current status of this node, based on the configured checks of its NodeBalancer Config. @@ -26886,10 +29208,10 @@ components: mode: type: string enum: - - accept - - reject - - drain - - backup + - accept + - reject + - drain + - backup description: > The mode this NodeBalancer should use when sending traffic to this backend. @@ -26934,8 +29256,8 @@ components: items: type: number example: - - 1526391300000 - - 0 + - 1526391300000 + - 0 traffic: type: object description: > @@ -26949,8 +29271,8 @@ components: items: type: number example: - - 1526391300000 - - 631.21 + - 1526391300000 + - 631.21 out: type: array description: > @@ -26959,8 +29281,8 @@ components: items: type: number example: - - 1526391300000 - - 103.44 + - 1526391300000 + - 103.44 title: type: string description: > @@ -27001,14 +29323,15 @@ components: type: type: string enum: - - account - - entity_transfer - - linode - - nodebalancer - - promotion - - region - - ticket - - volume + - account + - entity_transfer + - linode + - loadbalancers + - nodebalancer + - promotion + - region + - ticket + - volume description: The type of entity this is related to. example: ticket url: @@ -27045,26 +29368,26 @@ components: type: type: string enum: - - migration_scheduled - - migration_imminent - - migration_pending - - reboot_scheduled - - outage - - payment_due - - ticket_important - - ticket_abuse - - notice - - maintenance - - promotion + - 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 + - minor + - major + - critical description: > The severity of this Notification. This field can be used to decide how prominently to display the Notification, what color @@ -27144,9 +29467,9 @@ components: status: type: string enum: - - active - - disabled - - suspended + - active + - disabled + - suspended description: > The status of this application. `active` by default. example: active @@ -27220,8 +29543,7 @@ components: ObjectStorageObject: type: object description: > - An Object in Object Storage, or a "prefix" that contains one - or more objects when a `delimiter` is used. + An Object in Object Storage, or a "prefix" that contains one or more objects when a `delimiter` is used. properties: name: type: string @@ -27237,32 +29559,18 @@ components: type: string format: date-time description: > - The date and time this object was last modified. `null` if this object - represents a prefix. + 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. + The owner of this object, as a UUID. `null` if this object representsa 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. + The size of this object, in bytes. `null` if this object representsa prefix. example: 123 - 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 ObjectStorageCluster: type: object description: An Object Storage Cluster @@ -27278,8 +29586,8 @@ components: status: type: string enum: - - available - - unavailable + - available + - unavailable description: This cluster's status. example: available region: @@ -27351,15 +29659,15 @@ components: permissions: type: string enum: - - read_write - - read_only + - 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 + - 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: @@ -27425,13 +29733,13 @@ components: readOnly: true format: date-time description: When the Payment was made. - example: '2018-01-15T00:01:01' + 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' + example: "120.50" x-linode-cli-display: 3 PaymentMethod: type: object @@ -27449,7 +29757,7 @@ components: - google_pay - paypal description: The type of Payment Method. - example: 'credit_card' + example: "credit_card" x-linode-cli-display: 2 is_default: type: boolean @@ -27462,17 +29770,17 @@ components: readOnly: true format: date-time description: When the Payment Method was added to the Account. - example: '2018-01-15T00:01:01' + 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' + $ref: "#/components/schemas/CreditCardData" - x-linode-ref-name: "Google Pay" - $ref: '#/components/schemas/GooglePayData' + $ref: "#/components/schemas/GooglePayData" - x-linode-ref-name: "Paypal" - $ref: '#/components/schemas/PayPalData' + $ref: "#/components/schemas/PayPalData" discriminator: propertyName: type CreditCardData: @@ -27532,7 +29840,7 @@ components: PaymentRequest: type: object required: - - usd + - usd description: Payment object request. properties: cvv: @@ -27540,7 +29848,7 @@ components: description: > CVV (Card Verification Value) of the credit card to be used for the Payment. Required if paying by credit card. - example: '123' + example: "123" usd: type: string pattern: ^\$?\d+\.\d{2}$ @@ -27552,7 +29860,7 @@ components: * 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' + example: "$120.50" payment_method_id: type: integer description: > @@ -27561,9 +29869,9 @@ components: PayPal: type: object required: - - cancel_url - - redirect_url - - usd + - cancel_url + - redirect_url + - usd description: > An object representing the staging of a Payment via PayPal. properties: @@ -27577,15 +29885,16 @@ components: example: https://example.org usd: type: string - description: The payment amount in USD. Minimum accepted value of $5 USD. + 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' + example: "120.50" PayPalExecute: type: object required: - - payer_id - - payment_id + - payer_id + - payment_id description: > An object representing an execution of Payment to PayPal to capture the funds and credit your Linode Account. @@ -27628,7 +29937,7 @@ components: such as the Linode CLI, require tokens with access to `*`. Tokens with more restrictive scopes are generally more secure. - example: '*' + example: "*" readOnly: true x-linode-cli-display: 3 created: @@ -27667,7 +29976,7 @@ components: 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' + example: "2018-01-01T13:46:32" readOnly: true Profile: type: object @@ -27784,9 +30093,9 @@ components: lish_auth_method: type: string enum: - - password_keys - - keys_only - - disabled + - password_keys + - keys_only + - disabled description: > The authentication methods that are allowed when connecting to [the Linode Shell (Lish)](/docs/guides/lish/). @@ -27825,8 +30134,8 @@ components: authentication_type: type: string enum: - - password - - github + - 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 @@ -27877,7 +30186,7 @@ components: type: string description: > When this promotion's credits expire. - example: '2018-01-31T23:59:59' + example: "2018-01-31T23:59:59" image_url: type: string description: > @@ -27894,7 +30203,7 @@ components: type: string description: > The amount of credit left for this month for this promotion. - example: "10.00" + example: "10.00" service_type: x-linode-cli-display: 1 type: string @@ -27907,6 +30216,7 @@ components: - linode - linode_disk - linode_memory + - loadbalancer - longview - managed - nodebalancer @@ -27996,12 +30306,12 @@ components: items: type: string description: > - A list of capabilities of this region. + A list of capabilities of this region. example: - - Linodes - - NodeBalancers - - Block Storage - - Object Storage + - Linodes + - NodeBalancers + - Block Storage + - Object Storage readOnly: true x-linode-cli-display: 4 status: @@ -28010,8 +30320,8 @@ components: This region's current operational status. example: ok enum: - - ok - - outage + - ok + - outage readOnly: true x-linode-cli-display: 5 resolvers: @@ -28057,19 +30367,19 @@ components: type: object properties: sda: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdb: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdc: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdd: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sde: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdf: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" sdg: - $ref: '#/components/schemas/Device' + $ref: "#/components/schemas/Device" StackScript: type: object description: > @@ -28120,8 +30430,8 @@ components: items: type: string example: - - linode/debian9 - - linode/debian8 + - linode/debian9 + - linode/debian8 x-linode-cli-display: 4 deployments_total: x-linode-filterable: true @@ -28181,7 +30491,7 @@ components: 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' + $ref: "#/components/schemas/UserDefinedField" readOnly: true example: label: Enter the DB password @@ -28204,27 +30514,27 @@ components: type: array description: CPU usage stats from the last 24 hours. items: - $ref: '#/components/schemas/StatsData' + $ref: "#/components/schemas/StatsData" disk: type: array description: Disk usage stats from the last 24 hours. items: - $ref: '#/components/schemas/StatsData' + $ref: "#/components/schemas/StatsData" swap: type: array description: Swap usage stats from the last 24 hours. items: - $ref: '#/components/schemas/StatsData' + $ref: "#/components/schemas/StatsData" net_in: type: array description: Inbound network traffic stats from the last 24 hours. items: - $ref: '#/components/schemas/StatsData' + $ref: "#/components/schemas/StatsData" net_out: type: array description: Outbound network traffic stats from the last 24 hours. items: - $ref: '#/components/schemas/StatsData' + $ref: "#/components/schemas/StatsData" StatsDataUnavailable: type: array readOnly: true @@ -28271,8 +30581,8 @@ components: items: type: string example: - - screenshot.jpg - - screenshot.txt + - screenshot.jpg + - screenshot.txt closed: x-linode-filterable: true type: string @@ -28281,7 +30591,7 @@ components: readOnly: true description: > The date and time this Ticket was closed. - example: '2015-06-04T16:07:03' + example: "2015-06-04T16:07:03" closable: type: boolean description: > @@ -28346,7 +30656,7 @@ components: readOnly: true description: > The date and time this Ticket was created. - example: '2015-06-04T14:16:44' + example: "2015-06-04T14:16:44" x-linode-cli-display: 4 opened_by: type: string @@ -28360,9 +30670,9 @@ components: readOnly: true description: The current status of this Ticket. enum: - - closed - - new - - open + - closed + - new + - open example: open summary: type: string @@ -28381,7 +30691,7 @@ components: readOnly: true description: > The date and time this Ticket was last updated. - example: '2015-06-04T16:07:03' + example: "2015-06-04T16:07:03" updated_by: type: string nullable: true @@ -28400,7 +30710,7 @@ components: readOnly: true description: > The date and time this Ticket reply was created. - example: '2015-06-02T14:31:41' + example: "2015-06-02T14:31:41" x-linode-cli-display: 3 created_by: type: string @@ -28443,8 +30753,8 @@ components: SupportTicketRequest: type: object required: - - summary - - description + - summary + - description description: > An object representing a created Support Ticket - a question or issue and request for help from the Linode support team. @@ -28657,8 +30967,8 @@ components: - Linode Rebuild ([POST /linode/instances/{linodeId}/rebuild](/docs/api/linode-instances/#linode-rebuild)) - Disk Create ([POST /linode/instances/{linodeId}/disks](/docs/api/linode-instances/#disk-create)) example: - - home-pc - - laptop + - home-pc + - laptop tfa_enabled: type: boolean readOnly: true @@ -28711,17 +31021,17 @@ components: type: string readOnly: true enum: - - successful - - failed + - successful + - failed description: | The result of the most recent login attempt for this User. example: successful UserDefinedField: type: object required: - - label - - name - - example + - label + - name + - example description: > A custom field defined by the User with a special syntax within a StackScript. Derived from the contents of the script. @@ -28841,11 +31151,11 @@ components: description: Single security question and response object for GET operation. properties: id: - $ref: '#/components/schemas/SecurityQuestion/properties/id' + $ref: "#/components/schemas/SecurityQuestion/properties/id" question: - $ref: '#/components/schemas/SecurityQuestion/properties/question' + $ref: "#/components/schemas/SecurityQuestion/properties/question" response: - $ref: '#/components/schemas/SecurityQuestion/properties/response' + $ref: "#/components/schemas/SecurityQuestion/properties/response" SecurityQuestionsPost: type: object description: Security questions and responses object for POST operation. @@ -28857,11 +31167,11 @@ components: description: Single security question and response object for POST operation. properties: question_id: - $ref: '#/components/schemas/SecurityQuestion/properties/id' + $ref: "#/components/schemas/SecurityQuestion/properties/id" response: - $ref: '#/components/schemas/SecurityQuestion/properties/response' + $ref: "#/components/schemas/SecurityQuestion/properties/response" security_question: - $ref: '#/components/schemas/SecurityQuestion/properties/question' + $ref: "#/components/schemas/SecurityQuestion/properties/question" ServiceTransfer: type: object description: > @@ -28887,12 +31197,12 @@ components: default_: white type: string enum: - - accepted - - canceled - - completed - - failed - - pending - - stale + - accepted + - canceled + - completed + - failed + - pending + - stale description: | The status of the transfer request. @@ -28909,19 +31219,19 @@ components: `stale`: The transfer has exceeded its expiration date. It can no longer be accepted or canceled. - example: 'pending' + example: "pending" created: type: string format: date-time description: > When this transfer was created. - example: '2021-02-11T16:37:03' + 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' + example: "2021-02-11T16:37:03" is_sender: x-linode-cli-display: 4 x-linode-filterable: true @@ -28935,7 +31245,7 @@ components: format: date-time description: > When this transfer expires. Transfers will automatically expire 24 hours after creation. - example: '2021-02-12T16:37:03' + example: "2021-02-12T16:37:03" entities: type: object description: > @@ -29014,7 +31324,7 @@ components: Vlans: type: object description: > - A virtual local area network (VLAN) associated with your Account. + A virtual local area network (VLAN) associated with your Account. properties: label: type: string @@ -29030,7 +31340,7 @@ components: **Note:** Currently, a VLAN can only be assigned to a Linode within the same data center region. - example: ap-west + example: ap-west readOnly: true x-linode-cli-display: 1 x-linode-filterable: true @@ -29071,7 +31381,7 @@ components: example: my-volume minLength: 1 maxLength: 32 - pattern: '^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$' + pattern: "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$" x-linode-cli-display: 2 filesystem_path: type: string @@ -29091,9 +31401,9 @@ components: * `resizing` - the Volume is in the process of upgrading its current capacity. enum: - - creating - - active - - resizing + - creating + - active + - resizing example: active readOnly: true x-linode-cli-display: 3 @@ -29109,7 +31419,7 @@ components: x-linode-cli-display: 4 example: 30 region: - $ref: '#/components/schemas/Region/properties/id' + $ref: "#/components/schemas/Region/properties/id" x-linode-cli-display: 5 linode_id: type: integer @@ -29132,13 +31442,13 @@ components: type: string format: date-time description: When this Volume was created. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true updated: type: string format: date-time description: When this Volume was last updated. - example: '2018-01-01T00:01:01' + example: "2018-01-01T00:01:01" readOnly: true tags: x-linode-filterable: true @@ -29149,13 +31459,13 @@ components: items: type: string example: - - example tag - - another example + - example tag + - another example hardware_type: type: string enum: - - hdd - - nvme + - hdd + - nvme description: The storage type of this Volume. example: nvme readOnly: true @@ -29199,14 +31509,14 @@ components: type: array description: A list of subnets associated with the VPC. items: - $ref: '#/components/schemas/VPCSubnet' + $ref: "#/components/schemas/VPCSubnet" created: type: string format: date-time readOnly: true x-linode-filterable: true description: The date-time of VPC creation. - example: '2023-07-11T00:00:00' + example: "2023-07-11T00:00:00" updated: type: string format: date-time @@ -29214,7 +31524,7 @@ components: nullable: true x-linode-filterable: true description: The date-time of the most recent VPC update. - example: '2023-09-11T00:00:00' + example: "2023-09-11T00:00:00" VPCSubnet: type: object description: An object describing a VPC Subnet. @@ -29241,7 +31551,7 @@ components: ipv4: type: string format: ip - # nullable: true + # nullable: true description: | IPv4 range in CIDR canonical form. @@ -29301,7 +31611,7 @@ components: readOnly: true x-linode-filterable: true description: The date-time of VPC Subnet creation. - example: '2023-07-11T00:00:00' + example: "2023-07-11T00:00:00" updated: type: string format: date-time @@ -29309,7 +31619,7 @@ components: nullable: true x-linode-filterable: true description: The date-time of the most recent VPC Subnet update. - example: '2023-09-11T00:00:00' + example: "2023-09-11T00:00:00" WarningObject: type: object description: > From ea8e9711bf325e47fa40c16f5703cf3af27c7e5f Mon Sep 17 00:00:00 2001 From: Chris Verner Date: Wed, 15 May 2024 09:16:23 -0700 Subject: [PATCH 09/10] Fixed version --- openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi.yaml b/openapi.yaml index 81b568e14..b74d476cd 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.1 info: - version: 4.175.0 + version: 4.176.0 title: Linode API license: name: Apache 2.0 From a357ac99b9e3d14f4ca25e2bff6eff71dc65518e Mon Sep 17 00:00:00 2001 From: sandrajsalomone <128553485+sandrajsalomone@users.noreply.github.com> Date: Wed, 15 May 2024 13:37:07 -0400 Subject: [PATCH 10/10] linode disk encryption (#945) Co-authored-by: Matthew Wildman --- openapi.yaml | 71 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 68 insertions(+), 3 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index d8b9b0962..7afbf323f 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -6312,6 +6312,10 @@ paths: summary: Image Create description: | Captures a private gold-master Image from a Linode Disk. + + {{< note type="warning" title="Images Are Not Encrypted">}} + Images are not encrypted even when they are taken from an encrypted disk. When a compute instance is rebuilt from an image, and if the instance has disk encryption enabled, the disk is automatically encrypted. + {{< /note >}} operationId: createImage x-linode-cli-action: create security: @@ -6406,7 +6410,12 @@ paths: - 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. + 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. + + {{< note type="warning" title="Images Are Not Encrypted">}} + Images are not encrypted even when they are taken from an encrypted disk. When a compute instance is rebuilt from an image, and if the instance has disk encryption enabled, the disk is automatically encrypted. + {{< /note >}} + x-linode-cli-action: upload security: - personalAccessToken: [] @@ -6811,7 +6820,8 @@ paths: $ref: "#/components/schemas/LinodeConfigInterfaces" firewall_id: type: integer - description: The `id` of the Firewall to attach this Linode to upon creation. + description: > + The `id` of the Firewall to attach this Linode to upon creation. responses: "200": description: > @@ -6871,6 +6881,7 @@ paths: "label": "linode123", "type": "g6-standard-2", "region": "us-east", + "disk_encryption": "enabled", "group": "Linode-Group", "metadata": { "user_data": "I2Nsb3VkLWNvbmZpZw==" @@ -6887,6 +6898,7 @@ paths: --stackscript_id 10079 \ --stackscript_data '{"gh_username": "linode"}' \ --region us-east \ + --disk_encryption enabled\ --type g6-standard-2 \ --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \ --authorized_users "myUser" \ @@ -7133,7 +7145,11 @@ paths: x-linode-grant: read_write summary: Snapshot Create description: | - Creates a snapshot Backup of a Linode. + Creates a snapshot backup of a Linode. + + {{< note type="warning" title="Backups Are Not Encrypted">}} + 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. + {{< /note >}} **Important:** If you already have a snapshot of this Linode, this is a destructive action. The previous snapshot will be deleted. @@ -7237,6 +7253,11 @@ paths: summary: Backups Enable description: > Enables backups for the specified Linode. + + {{< note type="warning" title="Backups Are Not Encrypted">}} + 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. + {{< /note >}} + tags: - Linode Instances operationId: enableBackups @@ -7344,6 +7365,11 @@ paths: 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 >}} + + {{< note type="warning" title="Backups Are Not Encrypted">}} + 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. + {{< /note >}} + tags: - Linode Instances operationId: restoreBackup @@ -9539,6 +9565,9 @@ paths: `authorized_keys` field. * Linodes utilizing Metadata (`"has_user_data": true`) should include `metadata.user_data` in the rebuild request to continue using the service. + During 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. + 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. @@ -9589,6 +9618,7 @@ paths: -X POST -d '{ "image": "linode/debian9", "root_pass": "aComplexP@ssword", + "disk_encryption": disabled, "authorized_keys": [ "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" ], @@ -9612,6 +9642,7 @@ paths: linode-cli linodes rebuild 123 \ --image "linode/debian9" \ --root_pass aComplex@Password \ + --disk_encryption disabled \ --authorized_keys "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" \ --authorized_users "myUsername" \ --authorized_users "secondaryUsername" \ @@ -23769,6 +23800,15 @@ components: description: When this Disk was last updated. example: "2018-01-01T00:01:01" readOnly: true + disk_encryption: + type: string + description: > + Displays if encryption is enabled on this Disk. + example: enabled + enum: + - enabled + - disabled + readOnly: true DiskRequest: type: object description: Disk object request. @@ -26148,6 +26188,15 @@ components: initiating a [cross data center migration](/docs/api/linode-instances/#dc-migrationpending-host-migration-initiate). x-linode-cli-display: 3 example: us-east + disk_encryption: + type: string + description: > + Local disk encryption ensures that your data stored on compute instances is encrypted. Encryption converts the data on the compute instance into unreadable code. Decryption of the the disk requires other systems within the datacenter. This requirement protects against data leakage if the disk is removed from a datacenter, lost, stolen, recycled or disposed. + enum: + - enabled + - disabled + example: enabled + default: enabled image: x-linode-filterable: true readOnly: true @@ -26872,6 +26921,15 @@ components: Unencoded data must not exceed 65535 bytes, or about 16kb encoded. example: I2Nsb3VkLWNvbmZpZwpwYWNrYWdlX3VwZGF0ZTogdHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IHRydWU= + disk_encryption: + type: string + enum: + - enabled + - disabled + description: > + Local disk encryption ensures that your data stored on compute instances is encrypted. Encryption converts the data on the compute instance into unreadable code. Decryption of the the disk requires other systems within the datacenter. This requirement protects against data leakage if the disk is removed from a datacenter, lost, stolen, recycled or disposed. + + By default, encryption is `enabled` on all compute instances but you can opt-out of implementing this feature. If you opted-out of encrytion or if the compute instance was created proir to the introduction of the local disk encryption support, you can encrypt your data using Rebuild. LinodeStats: type: object description: > @@ -27415,6 +27473,13 @@ components: example: - example tag - another example + disk_encryption: + description: > + For LKE nodepools, `disk-encryption` is automatically `enabled` and cannot be `disabled`. + type: string + example: enabled + enum: + - enabled LKENodeStatus: type: object description: >