From f59b2b8835622abcf1e492b137a1063fcbcb10a2 Mon Sep 17 00:00:00 2001 From: Matt Wildman Date: Thu, 13 Nov 2025 17:28:02 -0500 Subject: [PATCH] Update openapi.json file (2025-11-13) --- openapi.json | 8708 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 7512 insertions(+), 1196 deletions(-) diff --git a/openapi.json b/openapi.json index 699d59d85..4682cc52c 100644 --- a/openapi.json +++ b/openapi.json @@ -54,9 +54,9 @@ } }, "eeuid": { - "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`.", + "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid` as your `euuId`.", "in": "path", - "name": "euuid", + "name": "euuId", "required": true, "schema": { "type": "string" @@ -91,18 +91,6 @@ "file-path": "parameters/event-id-path-39255fcf.yaml" } }, - "id-path": { - "description": "The slug for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", - "in": "path", - "name": "id", - "required": true, - "schema": { - "type": "string" - }, - "x-akamai": { - "file-path": "parameters/id-path.yaml" - } - }, "invoice-id-path": { "description": "The ID of the Invoice.", "in": "path", @@ -198,6 +186,19 @@ "file-path": "parameters/payment-method-id-path-fb39a844.yaml" } }, + "region-id-path": { + "description": "The abbreviated value (\"slug\") for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", + "in": "path", + "name": "regionId", + "required": true, + "schema": { + "example": "us-iad", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/region-id-path.yaml" + } + }, "token-path-f857f5a2": { "description": "The UUID of the Service Transfer.", "in": "path", @@ -1919,202 +1920,6 @@ "file-path": "schemas/added-get-invoices-200.yaml" } }, - "added-get-maintenance-200": { - "additionalProperties": false, - "properties": { - "data": { - "items": { - "additionalProperties": false, - "description": "Information about maintenance affecting an entity.", - "properties": { - "complete_time": { - "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, - "description": { - "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", - "enum": [ - "Scheduled Maintenance", - "Emergency Maintenance" - ], - "example": "Scheduled Maintenance", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, - "entity": { - "additionalProperties": false, - "description": "The entity affected by the maintenance.", - "properties": { - "id": { - "description": "The unique identifier of the entity targeted by the maintenance.", - "example": 1234, - "type": "number" - }, - "label": { - "description": "The name of the entity targeted by the maintenance.", - "example": "demo-linode", - "type": "string" - }, - "type": { - "description": "The type of entity.", - "example": "Linode", - "type": "string" - }, - "url": { - "description": "A combination of the API operation prefix and the entity's `id` that can be used to review the entity.", - "example": "https://api.linode.com/v4/linode/instances/{linodeId}", - "type": "string" - } - }, - "type": "object" - }, - "maintenance_policy_set": { - "description": "__Beta__, __Filterable__ The maintenance policy configured by the user.", - "example": "linode/migrate", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, - "not_before": { - "description": "__Beta__, __Filterable__ The earliest time when the maintenance can start. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, - "reason": { - "description": "The reason maintenance is being performed.", - "example": "This maintenance will allow us to update the BIOS on the host's motherboard.", - "type": "string" - }, - "source": { - "description": "__Beta__ The origin of the maintenance. A `platform` source indicates that the maintenance was initiated by Akamai. A `user` source indicates that the maintenance was initiated by the user.", - "enum": [ - "platform", - "user" - ], - "example": "platform", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, - "start_time": { - "description": "__Beta__, __Filterable__ The time the maintenance started. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, - "status": { - "description": "__Filterable__ The maintenance status. Maintenance progress follows the sequence `pending`, `scheduled`, `started`, and `completed`. A `scheduled` status is unique to Linodes that require a reboot for [QEMU maintenance](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance).", - "enum": [ - "pending", - "scheduled", - "started", - "in-progress", - "completed", - "canceled" - ], - "example": "started", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ] - }, - "x-linode-filterable": true - }, - "type": { - "description": "__Filterable__ The type of maintenance.", - "enum": [ - "reboot", - "cold_migration", - "live_migration", - "migrate", - "power_off_on" - ], - "example": "reboot", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ] - }, - "x-linode-filterable": true - }, - "when": { - "description": "__Filterable__ The start time for the maintenance. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (yyyy-mm-ddThh:mm:ss), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ] - }, - "x-linode-filterable": true - } - }, - "type": "object", - "x-akamai": { - "file-path": "schemas/maintenance.yaml" - } - }, - "type": "array" - }, - "page": { - "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", - "example": 1, - "readOnly": true, - "type": "integer" - }, - "pages": { - "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", - "example": 1, - "readOnly": true, - "type": "integer" - }, - "results": { - "description": "__Read-only__ The total number of results.", - "example": 1, - "readOnly": true, - "type": "integer" - } - }, - "type": "object", - "x-akamai": { - "file-path": "schemas/added-get-maintenance-200.yaml" - } - }, "added-get-notifications-200": { "additionalProperties": false, "properties": { @@ -4308,15 +4113,6 @@ "type": "string", "x-linode-cli-display": 3 }, - "complete_time": { - "description": "__Beta__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "created": { "description": "__Read-only__ When the system created this event.", "example": "2018-01-01T00:01:01", @@ -4325,14 +4121,54 @@ "type": "string", "x-linode-cli-display": 6 }, - "description": { - "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", - "enum": [ - "Scheduled Maintenance", - "Emergency Maintenance" - ], - "example": "Scheduled Maintenance", - "type": "string", + "details": { + "additionalProperties": false, + "description": "__Beta__, __Read-only__ Maintenance details for this event, if any.", + "properties": { + "complete_time": { + "description": "The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string" + }, + "description": { + "description": "Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string" + }, + "maintenance_policy_set": { + "description": "The maintenance policy the user configures for this event.", + "example": "linode/migrate", + "type": "string" + }, + "not_before": { + "description": "The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string" + }, + "source": { + "description": "The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string" + }, + "start_time": { + "description": "The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string" + } + }, + "readOnly": true, + "type": "object", "x-akamai": { "status": "BETA" } @@ -4406,14 +4242,6 @@ "type": "integer", "x-linode-cli-display": 1 }, - "maintenance_policy_set": { - "description": "__Beta__ The maintenance policy configured by the user for this event.", - "example": "linode/migrate", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "message": { "description": "Additional information about the event. This can be a more detailed representation of an event that can help you diagnose non-obvious failures.", "example": "None", @@ -4421,15 +4249,6 @@ "type": "string", "x-linode-cli-display": 9 }, - "not_before": { - "description": "__Beta__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "percent_complete": { "description": "__Read-only__ A percentage estimating the amount of time remaining for an event. Returned as `null` for notification events.", "example": null, @@ -4444,12 +4263,6 @@ "readOnly": true, "type": "string" }, - "read": { - "description": "__Read-only__ If a user on your account has [marked an event as read](https://techdocs.akamai.com/linode-api/reference/post-event-read).", - "example": true, - "readOnly": true, - "type": "boolean" - }, "secondary_entity": { "additionalProperties": false, "description": "__Read-only__ Detailed information about the event's secondary entity, if applicable.", @@ -4485,27 +4298,6 @@ "readOnly": true, "type": "boolean" }, - "source": { - "description": "__Beta__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", - "enum": [ - "platform", - "user" - ], - "example": "platform", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, - "start_time": { - "description": "__Beta__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "status": { "description": "__Read-only__ The current status of this event.", "enum": [ @@ -4752,19 +4544,6 @@ "x-linode-cli-display": 3, "x-linode-filterable": true }, - "complete_time": { - "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "created": { "description": "__Filterable__ When the system created this event.", "example": "2018-01-01T00:01:01", @@ -4778,21 +4557,92 @@ "x-linode-cli-display": 6, "x-linode-filterable": true }, - "description": { - "description": "__Beta__, __Filterable__ Differentiates between scheduled and emergency maintenance.", - "enum": [ - "Scheduled Maintenance", - "Emergency Maintenance" - ], - "example": "Scheduled Maintenance", - "type": "string", + "details": { + "additionalProperties": false, + "description": "__Beta__ Maintenance details for this event, if any.", + "properties": { + "complete_time": { + "description": "__Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "description": { + "description": "__Filterable__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "maintenance_policy_set": { + "description": "__Filterable__ The maintenance policy the user configures for this event.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "not_before": { + "description": "__Filterable__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "source": { + "description": "__Filterable__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "start_time": { + "description": "__Filterable__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", "x-akamai": { - "labels": [ - "Filterable" - ], "status": "BETA" - }, - "x-linode-filterable": true + } }, "duration": { "description": "The number of seconds that it takes for the event to complete.", @@ -4877,18 +4727,6 @@ "x-linode-cli-display": 1, "x-linode-filterable": true }, - "maintenance_policy_set": { - "description": "__Beta__, __Filterable__ The maintenance policy configured by the user for this event.", - "example": "linode/migrate", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "message": { "description": "Additional information about the event. This can be a more detailed representation of an event that can help you diagnose non-obvious failures.", "example": "None", @@ -4896,19 +4734,6 @@ "type": "string", "x-linode-cli-display": 9 }, - "not_before": { - "description": "__Beta__, __Filterable__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "percent_complete": { "description": "A percentage estimating the amount of time remaining for an event. Returned as `null` for notification events.", "example": null, @@ -4921,17 +4746,6 @@ "nullable": true, "type": "string" }, - "read": { - "description": "__Filterable__ If a user on your account has [marked an event as read](https://techdocs.akamai.com/linode-api/reference/post-event-read).", - "example": true, - "type": "boolean", - "x-akamai": { - "labels": [ - "Filterable" - ] - }, - "x-linode-filterable": true - }, "secondary_entity": { "additionalProperties": false, "description": "Detailed information about the event's secondary entity, if applicable.", @@ -4964,35 +4778,6 @@ "example": true, "type": "boolean" }, - "source": { - "description": "__Beta__, __Filterable__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", - "enum": [ - "platform", - "user" - ], - "example": "platform", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, - "start_time": { - "description": "__Beta__, __Filterable__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "status": { "description": "The current status of this event.", "enum": [ @@ -5054,6 +4839,202 @@ "file-path": "schemas/events.yaml" } }, + "get-maintenance-200": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Information about maintenance affecting an entity.", + "properties": { + "complete_time": { + "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "description": { + "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "entity": { + "additionalProperties": false, + "description": "The entity affected by the maintenance.", + "properties": { + "id": { + "description": "The unique identifier of the entity targeted by the maintenance.", + "example": 1234, + "type": "number" + }, + "label": { + "description": "The name of the entity targeted by the maintenance.", + "example": "demo-linode", + "type": "string" + }, + "type": { + "description": "The type of entity.", + "example": "Linode", + "type": "string" + }, + "url": { + "description": "A combination of the API operation prefix and the entity's `id` that can be used to review the entity.", + "example": "https://api.linode.com/v4/linode/instances/{linodeId}", + "type": "string" + } + }, + "type": "object" + }, + "maintenance_policy_set": { + "description": "__Beta__, __Filterable__ The maintenance policy configured by the user.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "not_before": { + "description": "__Beta__, __Filterable__ The earliest time when the maintenance can start. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "reason": { + "description": "The reason maintenance is being performed.", + "example": "This maintenance will allow us to update the BIOS on the host's motherboard.", + "type": "string" + }, + "source": { + "description": "__Beta__ The origin of the maintenance. A `platform` source indicates that the maintenance was initiated by Akamai. A `user` source indicates that the maintenance was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, + "start_time": { + "description": "__Beta__, __Filterable__ The time the maintenance started. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__ The maintenance status. Maintenance progress follows the sequence `pending`, `scheduled`, `started`, and `completed`. A `scheduled` status is unique to Linodes that require a reboot for [QEMU maintenance](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance).", + "enum": [ + "pending", + "scheduled", + "started", + "in-progress", + "completed", + "canceled" + ], + "example": "started", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "type": { + "description": "__Filterable__ The type of maintenance.", + "enum": [ + "reboot", + "cold_migration", + "live_migration", + "migrate", + "power_off_on" + ], + "example": "reboot", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "when": { + "description": "__Filterable__ The start time for the maintenance. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (yyyy-mm-ddThh:mm:ss), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/maintenance.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/get-maintenance-200.yaml" + } + }, "google-pay-data": { "additionalProperties": false, "description": "Google Pay information.", @@ -7151,7 +7132,7 @@ "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "Akamai: Linode API", - "version": "4.212.0" + "version": "4.215.0" }, "openapi": "3.0.1", "paths": { @@ -8559,7 +8540,7 @@ }, "x-linode-cli-command": "account" }, - "/{apiVersion}/account/availability/{id}": { + "/{apiVersion}/account/availability/{regionId}": { "get": { "description": "View the available services for your account, in a specific region.\n\n> \ud83d\udcd8\n>\n> Only account users with _unrestricted_ access can run this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account get-account-availability us-east\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { @@ -8667,9 +8648,9 @@ ] } ], - "summary": "Get a region's service availability", + "summary": "Get available services for a region", "tags": [ - "Account" + "Account availability" ], "x-akamai": { "tabs": [ @@ -8707,22 +8688,23 @@ } }, { - "description": "The slug for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", - "example": "{{id}}", + "description": "The abbreviated value (\"slug\") for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", + "example": "{{regionId}}", "in": "path", - "name": "id", + "name": "regionId", "required": true, "schema": { + "example": "us-iad", "type": "string" }, "x-akamai": { - "file-path": "parameters/id-path.yaml" + "file-path": "parameters/region-id-path.yaml" } } ], "x-akamai": { "file-path": "paths/data-center.yaml", - "path-info": "/{apiVersion}/account/availability/{id}" + "path-info": "/{apiVersion}/account/availability/{regionId}" }, "x-linode-cli-command": "account" }, @@ -9958,9 +9940,9 @@ }, "x-linode-cli-command": "child-account" }, - "/{apiVersion}/account/child-accounts/{euuid}": { + "/{apiVersion}/account/child-accounts/{euuId}": { "get": { - "description": "View a specific child account based on its `euuid`. See [Parent and Child Accounts for Akamai Partners](https://www.linode.com/docs/guides/parent-child-accounts/) for details on these accounts.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by an unrestricted user, or restricted user with the `child_account_access` grant.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account view A1BC2DEF-34GH-567I-J890KLMN12O34P56\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "View a specific child account. See [Parent and Child Accounts for Akamai Partners](https://www.linode.com/docs/guides/parent-child-accounts/) for details on these accounts.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by an unrestricted user, or restricted user with the `child_account_access` grant.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account view A1BC2DEF-34GH-567I-J890KLMN12O34P56\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-child-account" @@ -10193,7 +10175,7 @@ } } }, - "description": "Returns the child-level account for a specified `euuid`." + "description": "Returns the specified child-level account." }, "default": { "content": { @@ -10284,10 +10266,10 @@ } }, { - "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`.", - "example": "{{euuid}}", + "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid` as your `euuId`.", + "example": "{{euuId}}", "in": "path", - "name": "euuid", + "name": "euuId", "required": true, "schema": { "type": "string" @@ -10299,13 +10281,13 @@ ], "x-akamai": { "file-path": "paths/child-account.yaml", - "path-info": "/{apiVersion}/account/child-accounts/{euuid}" + "path-info": "/{apiVersion}/account/child-accounts/{euuId}" }, "x-linode-cli-command": "child-account" }, - "/{apiVersion}/account/child-accounts/{euuid}/token": { + "/{apiVersion}/account/child-accounts/{euuId}/token": { "post": { - "description": "Create a short-lived bearer token for a parent user on a child account, using the `euuid` of that child account. In the context of the API, a parent user on a child account is referred to as a \"proxy user.\" When Akamai provisions your parent-child account environment, a proxy user is automatically set in the child account. It follows a specific naming convention:\n\n _\n\n> \ud83d\udcd8\n>\n> These variables only use the first 15 and 16 characters of these values, respectively.\n\nThe token lets a parent account run API operations through the proxy user, as if they are a child user in the child account.\n\nThese points apply to the use of this operation:\n\n- To create a token, a parent account user needs the `child_account_access` grant. This lets them use the proxy user on the child account. You can run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) on a parent account user to check its `child_account_access` setting. To add this access, you can [update](https://techdocs.akamai.com/linode-api/reference/put-user-grants) the parent account user.\n\n- The created token inherits the permissions of the proxy user. It will never have less.\n\n- The API returns the raw token in the response. You can't get it again, so be sure to store it.\n\nExample workflow:\n\n1. [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) and store the `euuid` for the applicable one.\n2. Run this operation and store the `token` that's created for the proxy user.\n3. As a parent account user with access to the proxy user in the child account, use this `token` to authenticate API operations, as if you were a child user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account create A1BC2DEF-34GH-567I-J890KLMN12O34P56\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Create a short-lived bearer token for a parent user on a specific child account. In the context of the API, a parent user on a child account is referred to as a \"proxy user.\" When Akamai provisions your parent-child account environment, a proxy user is automatically set in the child account. It follows a specific naming convention:\n\n _\n\n> \ud83d\udcd8\n>\n> These variables only use the first 15 and 16 characters of these values, respectively.\n\nThe token lets a parent account run API operations through the proxy user, as if they are a child user in the child account.\n\nThese points apply to the use of this operation:\n\n- To create a token, a parent account user needs the `child_account_access` grant. This lets them use the proxy user on the child account. You can run [List a user's grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants) on a parent account user to check its `child_account_access` setting. To add this access, you can [update](https://techdocs.akamai.com/linode-api/reference/put-user-grants) the parent account user.\n\n- The created token inherits the permissions of the proxy user. It will never have less.\n\n- The API returns the raw token in the response. You can't get it again, so be sure to store it.\n\nExample workflow:\n\n1. [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) and store the `euuid` for the applicable one.\n2. Run this operation and store the `token` that's created for the proxy user.\n3. As a parent account user with access to the proxy user in the child account, use this `token` to authenticate API operations, as if you were a child user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli child-account create A1BC2DEF-34GH-567I-J890KLMN12O34P56\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n child_account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-child-account-token" @@ -10479,10 +10461,10 @@ } }, { - "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid`.", - "example": "{{euuid}}", + "description": "The child account to look up. You can run the [List child accounts](https://techdocs.akamai.com/linode-api/reference/get-child-accounts) operation to find the applicable account and store its `euuid` as your `euuId`.", + "example": "{{euuId}}", "in": "path", - "name": "euuid", + "name": "euuId", "required": true, "schema": { "type": "string" @@ -10494,7 +10476,7 @@ ], "x-akamai": { "file-path": "paths/child-account-token.yaml", - "path-info": "/{apiVersion}/account/child-accounts/{euuid}/token" + "path-info": "/{apiVersion}/account/child-accounts/{euuId}/token" }, "x-linode-cli-command": "child-account" }, @@ -11768,7 +11750,6 @@ "message": "None", "percent_complete": null, "rate": null, - "read": true, "secondary_entity": { "id": "linode/debian9", "label": "linode1234", @@ -11991,19 +11972,6 @@ "x-linode-cli-display": 3, "x-linode-filterable": true }, - "complete_time": { - "description": "__Beta__, __Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "created": { "description": "__Filterable__ When the system created this event.", "example": "2018-01-01T00:01:01", @@ -12017,21 +11985,92 @@ "x-linode-cli-display": 6, "x-linode-filterable": true }, - "description": { - "description": "__Beta__, __Filterable__ Differentiates between scheduled and emergency maintenance.", - "enum": [ - "Scheduled Maintenance", - "Emergency Maintenance" - ], - "example": "Scheduled Maintenance", - "type": "string", + "details": { + "additionalProperties": false, + "description": "__Beta__ Maintenance details for this event, if any.", + "properties": { + "complete_time": { + "description": "__Filterable__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "description": { + "description": "__Filterable__ Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "maintenance_policy_set": { + "description": "__Filterable__ The maintenance policy the user configures for this event.", + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "not_before": { + "description": "__Filterable__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "source": { + "description": "__Filterable__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "start_time": { + "description": "__Filterable__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + } + }, + "type": "object", "x-akamai": { - "labels": [ - "Filterable" - ], "status": "BETA" - }, - "x-linode-filterable": true + } }, "duration": { "description": "The number of seconds that it takes for the event to complete.", @@ -12116,18 +12155,6 @@ "x-linode-cli-display": 1, "x-linode-filterable": true }, - "maintenance_policy_set": { - "description": "__Beta__, __Filterable__ The maintenance policy configured by the user for this event.", - "example": "linode/migrate", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "message": { "description": "Additional information about the event. This can be a more detailed representation of an event that can help you diagnose non-obvious failures.", "example": "None", @@ -12135,19 +12162,6 @@ "type": "string", "x-linode-cli-display": 9 }, - "not_before": { - "description": "__Beta__, __Filterable__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "percent_complete": { "description": "A percentage estimating the amount of time remaining for an event. Returned as `null` for notification events.", "example": null, @@ -12160,17 +12174,6 @@ "nullable": true, "type": "string" }, - "read": { - "description": "__Filterable__ If a user on your account has [marked an event as read](https://techdocs.akamai.com/linode-api/reference/post-event-read).", - "example": true, - "type": "boolean", - "x-akamai": { - "labels": [ - "Filterable" - ] - }, - "x-linode-filterable": true - }, "secondary_entity": { "additionalProperties": false, "description": "Detailed information about the event's secondary entity, if applicable.", @@ -12203,35 +12206,6 @@ "example": true, "type": "boolean" }, - "source": { - "description": "__Beta__, __Filterable__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", - "enum": [ - "platform", - "user" - ], - "example": "platform", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, - "start_time": { - "description": "__Beta__, __Filterable__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ], - "status": "BETA" - }, - "x-linode-filterable": true - }, "status": { "description": "The current status of this event.", "enum": [ @@ -12419,7 +12393,6 @@ "message": "None", "percent_complete": null, "rate": null, - "read": true, "secondary_entity": { "id": "linode/debian9", "label": "linode1234", @@ -12629,15 +12602,6 @@ "type": "string", "x-linode-cli-display": 3 }, - "complete_time": { - "description": "__Beta__ The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "created": { "description": "__Read-only__ When the system created this event.", "example": "2018-01-01T00:01:01", @@ -12646,14 +12610,54 @@ "type": "string", "x-linode-cli-display": 6 }, - "description": { - "description": "__Beta__ Differentiates between scheduled and emergency maintenance.", - "enum": [ - "Scheduled Maintenance", - "Emergency Maintenance" - ], - "example": "Scheduled Maintenance", - "type": "string", + "details": { + "additionalProperties": false, + "description": "__Beta__, __Read-only__ Maintenance details for this event, if any.", + "properties": { + "complete_time": { + "description": "The time the maintenance completed. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string" + }, + "description": { + "description": "Differentiates between scheduled and emergency maintenance.", + "enum": [ + "Scheduled Maintenance", + "Emergency Maintenance" + ], + "example": "Scheduled Maintenance", + "type": "string" + }, + "maintenance_policy_set": { + "description": "The maintenance policy the user configures for this event.", + "example": "linode/migrate", + "type": "string" + }, + "not_before": { + "description": "The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string" + }, + "source": { + "description": "The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", + "enum": [ + "platform", + "user" + ], + "example": "platform", + "type": "string" + }, + "start_time": { + "description": "The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and individual ISO 8601 timestamps. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", + "example": "2020-07-09T00:01:01", + "format": "date-time", + "type": "string" + } + }, + "readOnly": true, + "type": "object", "x-akamai": { "status": "BETA" } @@ -12727,14 +12731,6 @@ "type": "integer", "x-linode-cli-display": 1 }, - "maintenance_policy_set": { - "description": "__Beta__ The maintenance policy configured by the user for this event.", - "example": "linode/migrate", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "message": { "description": "Additional information about the event. This can be a more detailed representation of an event that can help you diagnose non-obvious failures.", "example": "None", @@ -12742,15 +12738,6 @@ "type": "string", "x-linode-cli-display": 9 }, - "not_before": { - "description": "__Beta__ The scheduled start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "percent_complete": { "description": "__Read-only__ A percentage estimating the amount of time remaining for an event. Returned as `null` for notification events.", "example": null, @@ -12765,12 +12752,6 @@ "readOnly": true, "type": "string" }, - "read": { - "description": "__Read-only__ If a user on your account has [marked an event as read](https://techdocs.akamai.com/linode-api/reference/post-event-read).", - "example": true, - "readOnly": true, - "type": "boolean" - }, "secondary_entity": { "additionalProperties": false, "description": "__Read-only__ Detailed information about the event's secondary entity, if applicable.", @@ -12806,27 +12787,6 @@ "readOnly": true, "type": "boolean" }, - "source": { - "description": "__Beta__ The origin of the event. A `platform` source indicates that the event was initiated by Akamai. A `user` source indicates that the event was initiated by the user.", - "enum": [ - "platform", - "user" - ], - "example": "platform", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, - "start_time": { - "description": "__Beta__ The actual start time for the event. This field is [filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) based on these parameters:\n\n- A single ISO 8601 timestamp (`yyyy-mm-ddThh:mm:ss`), which returns only matches for that value.\n\n- Pairs of operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single ISO 8601 timestamp. The `+or` operator accepts an array of values that can consist of single date-time strings or dictionaries of inequality operator pairs.", - "example": "2020-07-09T00:01:01", - "format": "date-time", - "type": "string", - "x-akamai": { - "status": "BETA" - } - }, "status": { "description": "__Read-only__ The current status of this event.", "enum": [ @@ -14587,7 +14547,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-maintenance-200.yaml" + "file-path": "schemas/get-maintenance-200.yaml" } }, "x-example": { @@ -16255,7 +16215,7 @@ }, "/{apiVersion}/account/oauth-clients/{clientId}/thumbnail": { "get": { - "description": "Returns the PNG thumbnail for this OAuth Client. This is a publicly viewable endpoint, and can be accessed without authentication.", + "description": "Returns the PNG thumbnail for this OAuth client. This is a publicly viewable operation, and you can access it without authentication.", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-client-thumbnail" @@ -16312,13 +16272,13 @@ }, "summary": "Get the OAuth client's thumbnail", "tags": [ - "Client thumbnail" + "OAuth client" ], "x-linode-cli-action": "client-thumbnail", "x-linode-cli-skip": true }, "put": { - "description": "Upload a thumbnail for a client you own. You must upload a PNG image file that will be returned when the thumbnail is retrieved. This image will be publicly viewable.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Upload a thumbnail for a client you own. You need to upload a PNG image file that the Linode API returns when the thumbnail is retrieved. This image is publicly viewable.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-client-thumbnail" @@ -16404,7 +16364,7 @@ ], "summary": "Update the OAuth client's thumbnail", "tags": [ - "Client thumbnail" + "OAuth client" ], "x-akamai": { "tabs": [ @@ -20227,7 +20187,7 @@ ], "summary": "Enable Linode Managed", "tags": [ - "Settings" + "Account settings" ], "x-akamai": { "tabs": [ @@ -20266,7 +20226,7 @@ } ], "x-akamai": { - "file-path": "paths/managed-enable.yaml", + "file-path": "paths/account-settings-managed-enable.yaml", "path-info": "/{apiVersion}/account/settings/managed-enable" }, "x-linode-cli-command": "account" @@ -25923,7 +25883,7 @@ }, "/{apiVersion}/databases/mysql/instances": { "post": { - "description": "**Provision a MySQL Managed Database**\n\nUse this operation to create a new MySQL Managed Database.\n\n- Restricted users need the `add_databases` [user grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n\n- New instances can take 10 to 15 minutes to deploy.\n\n- When you create a new MySQL Managed Database, our partner [Aiven](https://aiven.io/docs/platform/concepts/cloud-security#data-encryption) automatically enables disk encryption on each cluster.\n\n- All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.\n\n- All Managed Databases include automatic updates, which apply security patches to the underlying operating system of the MySQL Managed Database. Configure the maintenance window for these updates with the [Update a managed MySQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-mysql-instance) operation.\n\n- If your database cluster is configured with a single node, downtime occurs during maintenance updates. You should adjust the window to match a time that's the least disruptive to your application and users. Also consider upgrading to a [high availability](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters#high-availability) plan to avoid any maintenance downtime.\n\n- Major upgrades are optional until the service reaches end of service, and can be done in place.\n\n- **Beta**. You can create a MySQL Managed Database in a Virtual Private Cloud (VPC) using the `private_network` object in the request. This support is in beta. Talk to your Akamai account team for more details.\n\n > \ud83d\udcd8\n >\n > Currently, VPC subnets associated with Managed Database instances don't automatically block outbound connections outside the subnet. To limit network exposure, you should configure Cloud Firewall rules to explicitly deny outbound connections beyond the intended subnet. For more details on configuring rules, see the [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) documentation.\n\n- A successful request triggers a `database_create` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n**Restore a MySQL Managed Database**\n\nInclude the `fork` object in the request to target a backed-up database. Your user needs `read_write` access to the target database and its status can be `active`, `degraded`, or `failed`.\n\n> \ud83d\udcd8\n>\n> Restoring from a backup creates a second running cluster, which incurs billing. Delete the first cluster after the restore is complete, to avoid this billing.\n\n\n<>\n\n---\n\n\n- __CLI for create operation__.\n\n ```\n linode-cli databases mysql-create \\\n --label example-db1 \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine mysql/8.0.26 \\\n --engine_config.binlog_retention_period 60 \\\n --engine_config.mysql.connect_timeout 10 \\\n --engine_config.mysql.default_time_zone +03:00 \\\n --ssl_connection true \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "**Provision a MySQL Managed Database**\n\nUse this operation to create a new MySQL Managed Database.\n\n- Restricted users need the `add_databases` [user grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n\n- New instances can take 10 to 15 minutes to deploy.\n\n- When you create a new MySQL Managed Database, our partner [Aiven](https://aiven.io/docs/platform/concepts/cloud-security#data-encryption) automatically enables disk encryption on each cluster.\n\n- All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.\n\n- All Managed Databases include automatic updates, which apply security patches to the underlying operating system of the MySQL Managed Database. Configure the maintenance window for these updates with the [Update a managed MySQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-mysql-instance) operation.\n\n- If your database cluster is configured with a single node, downtime occurs during maintenance updates. You should adjust the window to match a time that's the least disruptive to your application and users. Also consider upgrading to a [high availability](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters#high-availability) plan to avoid any maintenance downtime.\n\n- Major upgrades are optional until the service reaches end of service, and can be done in place.\n\n- A successful request triggers a `database_create` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n**Beta** **Virtual Private Cloud (VPC) support**\n\nYou can create a MySQL Managed Database in a VPC using the `private_network` object in the request. Talk to your Akamai account team for more details.\n\n> \ud83d\udcd8\n>\n> Currently, VPC subnets associated with Managed Database instances don't automatically block outbound connections outside the subnet. To limit network exposure, you should configure Cloud Firewall rules to explicitly deny outbound connections beyond the intended subnet. For more details on configuring rules, see the [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) documentation.\n\n**Restore a MySQL Managed Database**\n\nInclude the `fork` object in the request to target a backed-up database. Your user needs `read_write` access to the target database and its status can be `active`, `degraded`, or `failed`.\n\n> \ud83d\udcd8\n>\n> Restoring from a backup creates a second running cluster, which incurs billing. Delete the first cluster after the restore is complete, to avoid this billing.\n\n\n<>\n\n---\n\n\n- __CLI for create operation__.\n\n ```\n linode-cli databases mysql-create \\\n --label example-db1 \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine mysql/8.0.26 \\\n --engine_config.binlog_retention_period 60 \\\n --engine_config.mysql.connect_timeout 10 \\\n --engine_config.mysql.default_time_zone +03:00 \\\n --ssl_connection true \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-databases-mysql-instances" @@ -30223,7 +30183,7 @@ }, "/{apiVersion}/databases/mysql/instances/{instanceId}/patch": { "post": { - "description": "Apply security patches and updates to the underlying operating system of the MySQL Managed Database. This function runs during regular maintenance windows, which you can configure with the [Update a managed MySQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-mysql-instance) operation.\n\n- The user needs `read_write` [user grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants) access to the database.\n\n- The database's status meeds to be `active`.\n\n- If your database cluster is configured with a single node, downtime occurs during maintenance updates. Consider upgrading to a [high availability](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters#high-availability) plan to avoid any maintenance downtime.\n\n- Major upgrades are optional until the service reaches end of service, and can be done in place.\n\n- A successful request triggers a `database_upgrade` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-patch 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Apply security patches and updates to the underlying operating system of the MySQL Managed Database. This function runs during regular maintenance windows, which you can configure with the [Update a managed MySQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-mysql-instance) operation.\n\n- The user needs `read_write` [user grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants) access to the database.\n\n- The database's status needs to be `active`.\n\n- If your database cluster is configured with a single node, downtime occurs during maintenance updates. Consider upgrading to a [high availability](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters#high-availability) plan to avoid any maintenance downtime.\n\n- Major upgrades are optional until the service reaches end of service, and can be done in place.\n\n- A successful request triggers a `database_upgrade` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases mysql-patch 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-databases-mysql-instance-patch" @@ -32649,7 +32609,7 @@ }, "/{apiVersion}/databases/postgresql/instances": { "post": { - "description": "**Provision a PostgreSQL Managed Database**\n\nUse this operation to create a new PostgreSQL Managed Database.\n\n- Restricted users need the `add_databases` [user grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n\n- New instances can take 10 to 15 minutes to deploy.\n\n- When you create a new PostgreSQL Managed Database, our partner [Aiven](https://aiven.io/docs/platform/concepts/cloud-security#data-encryption) automatically enables disk encryption on each cluster.\n\n- All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.\n\n- All Managed Databases include automatic updates, which apply security patches to the underlying operating system of the PostgreSQL Managed Database. Configure the maintenance window for these updates with the [Update a managed PostgreSQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-postgre-sql-instance) operation.\n\n- If your database cluster is configured with a single node, downtime occurs during maintenance updates. Adjust the window to match a time that's the least disruptive to your application and users. Also consider upgrading to a [high availability](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters#high-availability) plan to avoid any maintenance downtime.\n\n- Major upgrades are optional until the service reaches end of service, and can be done in place.\n\n- A successful request triggers a `database_create` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n- You can create a PostgreSQL Managed Database in a Virtual Private Cloud (VPC) using the `private_network` object in the request. This support is in beta. Talk to your Akamai account team for more details.\n\n > \ud83d\udcd8\n >\n > Currently, VPC subnets associated with Managed Database instances don't automatically block outbound connections outside the subnet. To limit network exposure, you should configure Cloud Firewall rules to explicitly deny outbound connections beyond the intended subnet. For more details on configuring rules, see the [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) documentation.\n\n**Restore a PostgreSQL Managed Database**\n\nInclude the `fork` object in the request to target a backed-up database. Your user needs `read_write` access to the target database and its status can be `active`, `degraded`, or `failed`.\n\n> \ud83d\udcd8\n>\n> Restoring from a backup creates a second running cluster, which incurs billing. Delete the first cluster after the restore is complete, to avoid this billing.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-create \\\n --label example-db \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine postgresql/13.2 \\\n --engine_config.shared_buffers_percentage 41.5 \\\n --engine_config.pg.autovacuum_analyze_scale_factor 0.0 \\\n --engine_config.pg.autovacuum_vacuum_cost_delay 60 \\\n --engine_config.pg.pg_partman_bgw.interval 3600 \\\n --engine_config.pg.pg_partman_bgw.role myrolename \\\n --engine_config.pglookout.max_failover_replication_time_lag 60 \\\n --ssl_connection true \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "**Provision a PostgreSQL Managed Database**\n\nUse this operation to create a new PostgreSQL Managed Database.\n\n- Restricted users need the `add_databases` [user grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n\n- New instances can take 10 to 15 minutes to deploy.\n\n- When you create a new PostgreSQL Managed Database, our partner [Aiven](https://aiven.io/docs/platform/concepts/cloud-security#data-encryption) automatically enables disk encryption on each cluster.\n\n- All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.\n\n- All Managed Databases include automatic updates, which apply security patches to the underlying operating system of the PostgreSQL Managed Database. Configure the maintenance window for these updates with the [Update a managed PostgreSQL database](https://techdocs.akamai.com/linode-api/reference/put-databases-postgre-sql-instance) operation.\n\n- If your database cluster is configured with a single node, downtime occurs during maintenance updates. Adjust the window to match a time that's the least disruptive to your application and users. Also consider upgrading to a [high availability](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters#high-availability) plan to avoid any maintenance downtime.\n\n- Major upgrades are optional until the service reaches end of service, and can be done in place.\n\n- A successful request triggers a `database_create` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n**Beta** **Virtual Private Cloud (VPC) support**\n\nYou can create a PostgreSQL Managed Database in a VPC using the `private_network` object in the request. Talk to your Akamai account team for more details.\n\n> \ud83d\udcd8\n>\n> Currently, VPC subnets associated with Managed Database instances don't automatically block outbound connections outside the subnet. To limit network exposure, you should configure Cloud Firewall rules to explicitly deny outbound connections beyond the intended subnet. For more details on configuring rules, see the [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) documentation.\n\n**Restore a PostgreSQL Managed Database**\n\nInclude the `fork` object in the request to target a backed-up database. Your user needs `read_write` access to the target database and its status can be `active`, `degraded`, or `failed`.\n\n> \ud83d\udcd8\n>\n> Restoring from a backup creates a second running cluster, which incurs billing. Delete the first cluster after the restore is complete, to avoid this billing.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli databases postgresql-create \\\n --label example-db \\\n --region us-east \\\n --type g6-dedicated-2 \\\n --cluster_size 3 \\\n --engine postgresql/13.2 \\\n --engine_config.shared_buffers_percentage 41.5 \\\n --engine_config.pg.autovacuum_analyze_scale_factor 0.0 \\\n --engine_config.pg.autovacuum_vacuum_cost_delay 60 \\\n --engine_config.pg.pg_partman_bgw.interval 3600 \\\n --engine_config.pg.pg_partman_bgw.role myrolename \\\n --engine_config.pglookout.max_failover_replication_time_lag 60 \\\n --ssl_connection true \\\n --allow_list 203.0.113.1 \\\n --allow_list 192.0.1.0/24\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n databases:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-databases-postgre-sql-instances" @@ -33010,7 +32970,7 @@ "type": "integer" }, "pg_partman_bgw.role": { - "description": "Controls which role to use for `pg_partman`` scheduled background tasks.", + "description": "Controls which role to use for `pg_partman` scheduled background tasks.", "example": "myrolename", "type": "string" }, @@ -33665,7 +33625,7 @@ "type": "integer" }, "pg_partman_bgw.role": { - "description": "Controls which role to use for `pg_partman`` scheduled background tasks.", + "description": "Controls which role to use for `pg_partman` scheduled background tasks.", "example": "myrolename", "type": "string" }, @@ -34620,7 +34580,7 @@ "type": "integer" }, "pg_partman_bgw.role": { - "description": "Controls which role to use for `pg_partman`` scheduled background tasks.", + "description": "Controls which role to use for `pg_partman` scheduled background tasks.", "example": "myrolename", "type": "string" }, @@ -35570,7 +35530,7 @@ "type": "integer" }, "pg_partman_bgw.role": { - "description": "Controls which role to use for `pg_partman`` scheduled background tasks.", + "description": "Controls which role to use for `pg_partman` scheduled background tasks.", "example": "myrolename", "type": "string" }, @@ -36417,7 +36377,7 @@ "type": "integer" }, "pg_partman_bgw.role": { - "description": "Controls which role to use for `pg_partman`` scheduled background tasks.", + "description": "Controls which role to use for `pg_partman` scheduled background tasks.", "example": "myrolename", "type": "string" }, @@ -37094,7 +37054,7 @@ "type": "integer" }, "pg_partman_bgw.role": { - "description": "Controls which role to use for `pg_partman`` scheduled background tasks.", + "description": "Controls which role to use for `pg_partman` scheduled background tasks.", "example": "myrolename", "type": "string" }, @@ -42909,7 +42869,7 @@ }, "/{apiVersion}/images": { "post": { - "description": "Captures a private, gold-master image from a Linode disk and stores it for later use.\n\n> \ud83d\udcd8\n>\n> This operation has specific requirements for use. Check out its [workflow](https://techdocs.akamai.com/linode-api/reference/capture-an-image) for details.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images create \\\n --label this_is_a_label \\\n --description \"A longer description \\\n of the image\" \\\n --disk_id 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\nlinodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Captures a private, gold-master image from a Linode disk and stores it for later use.\n\n> \ud83d\udc4d There's a tutorial\n>\n> This operation has specific requirements for use. Check out its [workflow](https://techdocs.akamai.com/linode-api/reference/capture-an-image) for details.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images create \\\n --label this_is_a_label \\\n --description \"A longer description \\\n of the image\" \\\n --disk_id 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\nlinodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-image" @@ -43006,7 +42966,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": false, "readOnly": true, "type": "boolean", @@ -43031,7 +42991,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "2026-07-01T04:00:00", "format": "date-time", "nullable": true, @@ -43054,39 +43014,39 @@ "x-linode-cli-display": 1 }, "image_sharing": { - "description": "This object represents the sharing status of an image.", + "description": "Details about image sharing.", "oneOf": [ { "additionalProperties": false, "example": { "shared_by": null, "shared_with": { - "image_sharegroup_list_url": "/images/private/15/sharegroups", - "sharegroup_count": 0 + "sharegroup_count": 0, + "sharegroup_list_url": "/images/private/15/sharegroups" } }, "properties": { "shared_by": { - "description": "This field is `null` in this case, meaning the image is not shared by any group. The `shared_with` field provides details on the image's share group.", + "description": "This field is `null` in this case, meaning the image is not shared by any group. See the `shared_with` field for details on the image's share group.", "nullable": true, "type": "object" }, "shared_with": { "additionalProperties": false, - "description": "Specifies the group that the image is shared with, including the count of share groups and a URL to view the share groups.", + "description": "Specifies the group that the image is shared with, including the number of share groups and a URL to view the share groups' list.", "properties": { - "image_sharegroup_list_url": { - "description": "A URL to view the list of share groups the image is shared with.", - "type": "string" - }, "sharegroup_count": { "description": "The number of share groups the image is shared with.", "type": "integer" + }, + "sharegroup_list_url": { + "description": "A URL to view the list of share groups the image is shared with.", + "type": "string" } }, "required": [ "sharegroup_count", - "image_sharegroup_list_url" + "sharegroup_list_url" ], "type": "object" } @@ -43112,23 +43072,23 @@ "properties": { "shared_by": { "additionalProperties": false, - "description": "This object contains the details of the share group that is sharing the image. The share group details are specified in this object.", + "description": "Specifies the details of the share group that is sharing the image.", "properties": { "sharegroup_id": { - "description": "The ID of the share group.", + "description": "The share group's identifier.", "type": "integer" }, "sharegroup_label": { - "description": "A label linked to the share group.", + "description": "The share group's descriptive name.", "type": "string" }, "sharegroup_uuid": { - "description": "The unique identifier of the share group.", + "description": "The share group's unique identifier.", "format": "uuid", "type": "string" }, "source_image_id": { - "description": "The ID of the source image being shared. This can be null if no specific source image is being referenced.", + "description": "The source image's slug identifier. `null` if no specific source image is referenced.", "nullable": true, "type": "string" } @@ -43142,7 +43102,7 @@ "type": "object" }, "shared_with": { - "description": "This field is null in this case, meaning the image is not shared with anyone. The details of sharing are contained in the `shared_by` field.", + "description": "This field is `null` in this case, meaning the image is not shared with anyone. See the `shared_by` fields for additional details about this shared image.", "nullable": true, "type": "object" } @@ -43157,7 +43117,7 @@ ] }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": false, "readOnly": true, "type": "boolean", @@ -43170,15 +43130,21 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": false, "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" ] }, + "x-linode-cli-display": 11, "x-linode-filterable": true }, "label": { @@ -43284,10 +43250,11 @@ "x-linode-cli-display": 9 }, "type": { - "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance.", + "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", "enum": [ "manual", - "automatic" + "automatic", + "shared" ], "example": "manual", "readOnly": true, @@ -43508,7 +43475,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": false, "readOnly": true, "type": "boolean", @@ -43533,7 +43500,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "2026-07-01T04:00:00", "format": "date-time", "nullable": true, @@ -43556,39 +43523,39 @@ "x-linode-cli-display": 1 }, "image_sharing": { - "description": "This object represents the sharing status of an image.", + "description": "Details about image sharing.", "oneOf": [ { "additionalProperties": false, "example": { "shared_by": null, "shared_with": { - "image_sharegroup_list_url": "/images/private/15/sharegroups", - "sharegroup_count": 0 + "sharegroup_count": 0, + "sharegroup_list_url": "/images/private/15/sharegroups" } }, "properties": { "shared_by": { - "description": "This field is `null` in this case, meaning the image is not shared by any group. The `shared_with` field provides details on the image's share group.", + "description": "This field is `null` in this case, meaning the image is not shared by any group. See the `shared_with` field for details on the image's share group.", "nullable": true, "type": "object" }, "shared_with": { "additionalProperties": false, - "description": "Specifies the group that the image is shared with, including the count of share groups and a URL to view the share groups.", + "description": "Specifies the group that the image is shared with, including the number of share groups and a URL to view the share groups' list.", "properties": { - "image_sharegroup_list_url": { - "description": "A URL to view the list of share groups the image is shared with.", - "type": "string" - }, "sharegroup_count": { "description": "The number of share groups the image is shared with.", "type": "integer" + }, + "sharegroup_list_url": { + "description": "A URL to view the list of share groups the image is shared with.", + "type": "string" } }, "required": [ "sharegroup_count", - "image_sharegroup_list_url" + "sharegroup_list_url" ], "type": "object" } @@ -43614,23 +43581,23 @@ "properties": { "shared_by": { "additionalProperties": false, - "description": "This object contains the details of the share group that is sharing the image. The share group details are specified in this object.", + "description": "Specifies the details of the share group that is sharing the image.", "properties": { "sharegroup_id": { - "description": "The ID of the share group.", + "description": "The share group's identifier.", "type": "integer" }, "sharegroup_label": { - "description": "A label linked to the share group.", + "description": "The share group's descriptive name.", "type": "string" }, "sharegroup_uuid": { - "description": "The unique identifier of the share group.", + "description": "The share group's unique identifier.", "format": "uuid", "type": "string" }, "source_image_id": { - "description": "The ID of the source image being shared. This can be null if no specific source image is being referenced.", + "description": "The source image's slug identifier. `null` if no specific source image is referenced.", "nullable": true, "type": "string" } @@ -43644,7 +43611,7 @@ "type": "object" }, "shared_with": { - "description": "This field is null in this case, meaning the image is not shared with anyone. The details of sharing are contained in the `shared_by` field.", + "description": "This field is `null` in this case, meaning the image is not shared with anyone. See the `shared_by` fields for additional details about this shared image.", "nullable": true, "type": "object" } @@ -43659,7 +43626,7 @@ ] }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": false, "readOnly": true, "type": "boolean", @@ -43672,15 +43639,21 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": false, "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" ] }, + "x-linode-cli-display": 11, "x-linode-filterable": true }, "label": { @@ -43786,10 +43759,11 @@ "x-linode-cli-display": 9 }, "type": { - "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance.", + "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", "enum": [ "manual", - "automatic" + "automatic", + "shared" ], "example": "manual", "readOnly": true, @@ -43934,14 +43908,4710 @@ ] } ], - "summary": "List images", + "summary": "List images", + "tags": [ + "Images" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli images list", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": [ + "list", + "ls" + ], + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images.yaml", + "path-info": "/{apiVersion}/images" + }, + "x-linode-cli-command": "images" + }, + "/{apiVersion}/images/sharegroups": { + "post": { + "description": "Creates a group to share images with other users. \n\n- Include existing `images` in the request or [Add images to a share group](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-images) later. Run the [Get an image](https://techdocs.akamai.com/linode-api/reference/get-image) operation to see the existing images' `id` values. If needed, [Create an image](https://techdocs.akamai.com/linode-api/reference/post-image) or [Upload an image](https://techdocs.akamai.com/linode-api/reference/post-upload-image).\n\n- You can set a `label` and `description` for the group and each image, visible to all group members. \n\n- If omitted, the shared image keeps the original `label` and `description`. Note that when you [Update the original image](https://techdocs.akamai.com/linode-api/reference/put-image), it has no effect on shared image's details within any groups.\n\n- Run the [Add members to a share group](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-members) to include other users in the group. Use the group's `uuid` from the response to [Create a token](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens) for user authentication.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups create --label \"my_label\" --description \"my_description\" \\\n --images '[{\"id\": \"private/15\", \"label\": \"Linux Debian\", \"description\": \"Official Debian Linux image for server deployment\"}]'\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/post-sharegroups" + }, + "operationId": "post-sharegroups", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "description": { + "description": "A detailed description of this share group.", + "example": "{{description}}", + "type": "string" + }, + "images": { + "description": "A list of image's details, including the ID, label, and description.", + "items": { + "additionalProperties": false, + "properties": { + "description": { + "description": "The image's description within the share group.", + "example": "Official Debian Linux image for server deployment", + "type": "string" + }, + "id": { + "description": "The private image\u2019s unique slug identifier.", + "example": "private/7", + "type": "string" + }, + "label": { + "description": "The image's name within the share group.", + "example": "Linux Debian", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "label": { + "description": "The share group's descriptive name.", + "example": "{{label}}", + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/post-sharegroup.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup.json" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The share group's details.", + "properties": { + "created": { + "description": "__Read-only__ When this share group was created.", + "example": "2025-04-14T22:44:02", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A detailed description of this share group.", + "example": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation", + "nullable": true, + "type": "string", + "x-linode-cli-display": 4 + }, + "expiry": { + "description": "__Read-only__ When the share group expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 1, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "images_count": { + "description": "__Read-only__ The total number of images currently belonging to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 6 + }, + "is_suspended": { + "description": "__Read-only__ If `true`, the share group is currently suspended.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 5 + }, + "label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string", + "x-linode-cli-display": 2 + }, + "members_count": { + "description": "__Read-only__ The number of users with access to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 7 + }, + "updated": { + "description": "__Read-only__ When this share group was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "1533863e-16a4-47b5-b829-ac0f35c13278", + "format": "uuid", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + } + }, + "required": [ + "id", + "uuid", + "label", + "description", + "is_suspended", + "created", + "updated", + "expiry", + "images_count", + "members_count" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/sharegroup.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-200.json" + } + } + }, + "description": "New share group created successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Create a share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups create --label \"my_label\" --description \"my_description\" \\\n --images '[{\"id\": \"private/15\", \"label\": \"Linux Debian\", \"description\": \"Official Debian Linux image for server deployment\"}]'", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "create", + "x-linode-cli-skip": true + }, + "get": { + "description": "Lists all owned groups with shared images.\n\n> \ud83d\udcd8\n>\n> This operation doesn't list groups you're a member of. Run [Get a token's share group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-by-token) to find these share groups using your membership token.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroups" + }, + "operationId": "get-sharegroups", + "parameters": [ + { + "description": "The page of a collection to return.", + "example": "{{page}}", + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "example": 6, + "minimum": 1, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/page-offset.yaml" + } + }, + { + "description": "The number of items to return per page.", + "example": "{{page_size}}", + "in": "query", + "name": "page_size", + "schema": { + "default": 100, + "example": 50, + "maximum": 500, + "minimum": 25, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/page-size.yaml" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "The share group's details.", + "properties": { + "created": { + "description": "__Read-only__ When this share group was created.", + "example": "2025-04-14T22:44:02", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The share group's detailed description.", + "example": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation", + "nullable": true, + "type": "string", + "x-linode-cli-display": 4 + }, + "expiry": { + "description": "__Read-only__ When the share group expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 1, + "type": "integer", + "x-linode-cli-display": 1 + }, + "images_count": { + "description": "__Read-only__ The total number of images currently belonging to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 6 + }, + "is_suspended": { + "description": "__Read-only__ Indicates whether the share group is currently suspended.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 5 + }, + "label": { + "description": "__Filterable__ The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "members_count": { + "description": "__Read-only__ The number of users with access to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 7 + }, + "updated": { + "description": "__Read-only__ When this share group was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "The share group's unique identifier used for membership token management.", + "example": "1533863e-16a4-47b5-b829-ac0f35c13278", + "format": "uuid", + "type": "string", + "x-linode-cli-display": 3 + } + }, + "required": [ + "id", + "uuid", + "label", + "description", + "is_suspended", + "created", + "updated", + "expiry", + "images_count", + "members_count" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/sharegroups.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "data", + "page", + "pages", + "results" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-sharegroups-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-images-200.json" + } + } + }, + "description": "A paginated list of sharegroups." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "List share groups", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups list", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": [ + "list", + "ls" + ], + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroups.yaml", + "path-info": "/{apiVersion}/images/sharegroups", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/tokens": { + "post": { + "description": "Creates a single-use membership token for users who want to join a share group with custom images.\n\n- Before creating a token, get the share group's UUID from its owner. The owner can run [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) or [Get a share group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup) to get the group's UUID. If needed, [Create a share group](https://techdocs.akamai.com/linode-api/reference/post-sharegroups) and share the UUID with the user.\n\n- Share the `token` from the response with the share group owner. The owner can later use the token to [Add members to a share group](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-members) and manage the users' membership within the group.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups token-create --label \"my_token\" --valid_for_sharegroup_uuid \"abc123\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens" + }, + "operationId": "post-sharegroup-tokens", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "label": { + "description": "The token's descriptive name.", + "example": "{{label}}", + "type": "string" + }, + "valid_for_sharegroup_uuid": { + "description": "The unique identifier of the share group you want to create a token for.", + "example": "{{valid_for_sharegroup_uuid}}", + "type": "string" + } + }, + "required": [ + "valid_for_sharegroup_uuid" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/post-sharegroup-token.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-tokens.json" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The share group membership token's details.", + "properties": { + "created": { + "description": "__Read-only__ When the token was created.", + "example": "2025-08-04T10:09:09", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When this token expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "The token's descriptive name.", + "example": "Backend Services - Engineering", + "nullable": true, + "type": "string", + "x-linode-cli-display": 2 + }, + "sharegroup_label": { + "description": "__Read-only__ The share group's descriptive name.", + "example": "DevOps Base Images", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 5 + }, + "status": { + "description": "__Read-only__ The membership token's status:\n\n- `pending`: The token has been created but is not yet active.\n- `active`: The token is currently active and usable.\n- `revoked`: The token has been deleted and is no longer valid.\n- `expired`: The token has passed its validity period and is no longer usable.", + "enum": [ + "pending", + "active", + "revoked", + "expired" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "token": { + "description": "__Read-only__ The single-use JWT membership token encoded as a string. It consists of three parts: header, payload, and signature. Shared image groups owners can use it to [Add members to a share group](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-members).", + "example": "eyJhbGciOiJIUzI1 ... VNKDTt2yEiJVGSos", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 7 + }, + "token_uuid": { + "description": "__Read-only__ The membership token's unique identifier.", + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ When the token was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "valid_for_sharegroup_uuid": { + "description": "__Read-only__ The unique identifier of the share group you created a token for.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 4 + } + }, + "required": [ + "token", + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry", + "valid_for_sharegroup_uuid", + "sharegroup_uuid", + "sharegroup_label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/post-sharegroup-token-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-tokens-200.json" + } + } + }, + "description": "Token generated successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Create a token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups token-create --label \"my_token\" --valid_for_sharegroup_uuid \"abc123\"", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "token-create", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "get": { + "description": "Get details about all the user's tokens.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups tokens-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-user-tokens" + }, + "operationId": "get-user-tokens", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "ImageShareGroupMemberTokens object.", + "properties": { + "created": { + "description": "__Read-only__ The creation time of this token.", + "example": "2025-08-04T10:09:09", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ The time when this token expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "__Filterable__ A short description of the token.", + "example": "Backend Services - Engineering", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "sharegroup_label": { + "description": "__Filterable__, __Read-only__ Associated share group label.", + "example": "DevOps Base Images", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + }, + "sharegroup_uuid": { + "description": "__Filterable__, __Read-only__ The unique identifier of the share group you created a token for.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 5, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__, __Read-only__ Represents the current token status.\n\n- `pending`: The token has been created but is not yet active.\n- `active`: The token is currently active and usable.\n- `revoked`: The token has been deleted and is no longer valid.\n- `expired`: The token has passed its validity period and is no longer usable.", + "enum": [ + "pending", + "active", + "revoked", + "expired" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "token_uuid": { + "description": "__Read-only__ A unique identifier for the token, used to reference it after creation.", + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ The time when this token was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "valid_for_sharegroup_uuid": { + "description": "__Filterable__, __Read-only__ UUID identifying the associated share group.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry", + "valid_for_sharegroup_uuid", + "sharegroup_uuid", + "sharegroup_label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/tokens.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "data", + "page", + "pages", + "results" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-sharegroup-tokens-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-tokens-200.json" + } + } + }, + "description": "Returns a paginated list of the tokens." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "List a user's tokens", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups tokens-list", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "tokens-list", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroup-tokens.yaml", + "path-info": "/{apiVersion}/images/sharegroups/tokens", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/tokens/{tokenUuid}": { + "get": { + "description": "Get details about a membership token as a share group member. Run this operation to check the `status` of a pending membership request or your current group membership.\n\n- To get the `token_uuid`, run the [List tokens](https://techdocs.akamai.com/linode-api/reference/get-user-tokens) or [Create a token](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens) operation to generate one for the share group you want to join.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups token-view abc123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup-token" + }, + "operationId": "get-sharegroup-token", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "ImageShareGroupMemberTokens object.", + "properties": { + "created": { + "description": "__Read-only__ When this token was created.", + "example": "2025-08-04T10:09:09", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When this token expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "A short description of the token.", + "example": "Backend Services - Engineering", + "type": "string", + "x-linode-cli-display": 2 + }, + "sharegroup_label": { + "description": "__Read-only__ The share group's descriptive name.", + "example": "DevOps Base Images", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 5 + }, + "status": { + "description": "__Read-only__ Represents the current token status.\n\n- `pending`: The token has been created but is not yet active.\n- `active`: The token is currently active and usable.\n- `revoked`: The token has been deleted and is no longer valid.\n- `expired`: The token has passed its validity period and is no longer usable.", + "enum": [ + "pending", + "active", + "revoked", + "expired" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "token_uuid": { + "description": "__Read-only__ A unique identifier for the token, used to reference it after creation.", + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ When this token was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "valid_for_sharegroup_uuid": { + "description": "__Read-only__ The unique identifier of the share group you created a token for.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 4 + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry", + "valid_for_sharegroup_uuid", + "sharegroup_uuid", + "sharegroup_label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/token.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-token-200.json" + } + } + }, + "description": "A single token object." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "Get a token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups token-view abc123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "token-view", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "put": { + "description": "Updates the `label` of an existing membership token for a share group member or a pending membership.\n\nTo get the `token_uuid`, run the [List tokens](https://techdocs.akamai.com/linode-api/reference/get-user-tokens) or [Create a token](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens) operation to generate one for the share group you want to join.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups token-update abc123 --label \"new_label\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/put-sharegroup-token" + }, + "operationId": "put-sharegroup-token", + "requestBody": { + "content": { + "application/json": { + "schema": { + "description": "The membership token's details to update.", + "properties": { + "label": { + "description": "The descriptive name of the token.", + "example": "{{label}}", + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/put-sharegroup-token.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-token.json" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "ImageShareGroupMemberTokens object.", + "properties": { + "created": { + "description": "__Read-only__ When this token was created.", + "example": "2025-08-04T10:09:09", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When this token expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "A short description of the token.", + "example": "Backend Services - Engineering", + "type": "string", + "x-linode-cli-display": 2 + }, + "sharegroup_label": { + "description": "__Read-only__ The share group's descriptive name.", + "example": "DevOps Base Images", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 5 + }, + "status": { + "description": "__Read-only__ Represents the current token status.\n\n- `pending`: The token has been created but is not yet active.\n- `active`: The token is currently active and usable.\n- `revoked`: The token has been deleted and is no longer valid.\n- `expired`: The token has passed its validity period and is no longer usable.", + "enum": [ + "pending", + "active", + "revoked", + "expired" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "token_uuid": { + "description": "__Read-only__ A unique identifier for the token, used to reference it after creation.", + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ When this token was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "valid_for_sharegroup_uuid": { + "description": "__Read-only__ The unique identifier of the share group you created a token for.", + "example": "e1d0e58b-f89f-4237-84ab-b82077342359", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 4 + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry", + "valid_for_sharegroup_uuid", + "sharegroup_uuid", + "sharegroup_label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/token.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-token-200.json" + } + } + }, + "description": "Token updated successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Update a token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups token-update abc123 --label \"new_label\"", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "token-update", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "delete": { + "description": "Removes an existing membership token for a share group member or a pending membership.\n\n- To get the `token_uuid`, run the [List tokens](https://techdocs.akamai.com/linode-api/reference/get-user-tokens) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups token-delete abc123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/delete-sharegroup-token" + }, + "operationId": "delete-sharegroup-token", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "The API responds with an empty object.", + "maxProperties": 0, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-empty-obj.yaml" + } + }, + "x-example": { + "x-ref": "../examples/delete-sharegroup-token-200.json" + } + } + }, + "description": "Token deleted successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Delete a token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups token-delete abc123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "token-delete", + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "A unique identifier for the token, used to reference it after creation.", + "example": "{{tokenUuid}}", + "in": "path", + "name": "tokenUuid", + "required": true, + "schema": { + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "format": "uuid", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/token-uuid-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroups-tokens-id.yaml", + "path-info": "/{apiVersion}/images/sharegroups/tokens/{tokenUuid}", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/tokens/{tokenUuid}/sharegroup": { + "get": { + "description": "Gets details about a share group you're a member of. \n\nTo get the `token_uuid`, run the [Get a token](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-token) or [Create a token](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens) for the share group you want to join and share it with the group owner. You have to be accepted as a share group member before running this operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups view-by-token abc123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup-by-token" + }, + "operationId": "get-sharegroup-by-token", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The share group's details.", + "properties": { + "created": { + "description": "__Read-only__ When this share group was created.", + "example": "2025-04-14T22:44:02", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A detailed description of this share group.", + "example": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation", + "nullable": true, + "type": "string", + "x-linode-cli-display": 4 + }, + "id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 1, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "is_suspended": { + "description": "__Read-only__ If `true`, the share group is currently suspended.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 5 + }, + "label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string", + "x-linode-cli-display": 2 + }, + "updated": { + "description": "__Read-only__ When this share group was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "1533863e-16a4-47b5-b829-ac0f35c13278", + "format": "uuid", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + } + }, + "required": [ + "id", + "uuid", + "label", + "description", + "is_suspended", + "created", + "updated" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-sharegroup.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-200.json" + } + } + }, + "description": "A single share group object." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "Get a token's share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups view-by-token abc123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "view-by-token", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "A unique identifier for the token, used to reference it after creation.", + "example": "{{tokenUuid}}", + "in": "path", + "name": "tokenUuid", + "required": true, + "schema": { + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "format": "uuid", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/token-uuid-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroups-tokens-id-sharegroup.yaml", + "path-info": "/{apiVersion}/images/sharegroups/tokens/{tokenUuid}/sharegroup", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/tokens/{tokenUuid}/sharegroup/images": { + "get": { + "description": "Lists all the shared images a member can access within a share group, using a membership token. To get the `token_uuid`, run the [Get a token](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-token) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups images-list-by-token abc123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup-images-by-token" + }, + "operationId": "get-sharegroup-images-by-token", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "The shared image's details.", + "properties": { + "capabilities": { + "description": "__Read-only__ A list of the possible capabilities of this image.", + "example": [ + "cloud-init", + "distributed-sites" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 7 + }, + "created": { + "description": "__Read-only__ When this image share was created.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "created_by": { + "description": "__Read-only__ The shared image creator's username.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "string" + }, + "deprecated": { + "description": "__Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "The shared image's detailed description.", + "example": "Official Debian Linux image for server deployment", + "type": "string", + "x-linode-cli-display": 3 + }, + "eol": { + "description": "__Read-only__ The time of the public image's planned removal from service. `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ Only images created automatically from a deleted compute instance (`type=automatic`) expire, `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The shared image's unique idenfifier.", + "example": "shared/1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "image_sharing": { + "additionalProperties": false, + "description": "__Read-only__ Sharing information for the image, including who it was shared by and with.", + "properties": { + "shared_by": { + "properties": { + "sharegroup_id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 3, + "readOnly": true, + "type": "integer" + }, + "sharegroup_label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string" + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "8d64b99e-92f7-4c7b-a616-8f622fffb94c", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "source_image_id": { + "description": "__Read-only__ The source image's slug identifier.", + "example": "private/15", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "type": "object" + }, + "shared_with": { + "description": "Details about who this image was shared with.", + "example": null, + "nullable": true, + "type": "object" + } + }, + "readOnly": true, + "type": "object" + }, + "is_public": { + "description": "__Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 8 + }, + "is_shared": { + "description": "__Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], + "example": "none", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 9 + }, + "label": { + "description": "__Filterable__ The shared image's name.", + "example": "Linux Debian", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "regions": { + "description": "__Filterable__, __Read-only__ Details on the regions where this image is stored. See [Regions and images](https://techdocs.akamai.com/cloud-computing/docs/images#regions-and-images) for full details on support for `regions`.", + "items": { + "additionalProperties": false, + "properties": { + "region": { + "description": "The unique identifier for the core compute region where this image is stored.", + "example": "us-iad", + "type": "string" + }, + "status": { + "description": "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`.", + "enum": [ + "available", + "creating", + "pending", + "pending deletion", + "pending replication", + "replicating" + ], + "example": "available", + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-akamai": { + "labels": [ + "Filterable" + ] + } + }, + "size": { + "description": "__Read-only__ The minimum size in MB this image needs to deploy.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 4 + }, + "status": { + "description": "__Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.", + "enum": [ + "creating", + "pending_upload", + "available" + ], + "example": "available", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "tags": { + "description": "__Filterable__, __Read-only__ The shared image's organizational tags. A tag can be from 3 to 100 characters long, and each image can include up to 500 tags.", + "example": [ + "repair-image", + "fix-1" + ], + "items": { + "maxLength": 100, + "minLength": 3, + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "readOnly": true, + "type": "array", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 10, + "x-linode-filterable": true + }, + "total_size": { + "description": "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 5 + }, + "type": { + "description": "__Filterable__, __Read-only__ Indicates how the image was created. It's always `shared` for images in a shared group. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", + "enum": [ + "manual", + "automatic", + "shared" + ], + "example": "shared", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "updated": { + "description": "__Read-only__ When this image share was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "__Read-only__ The upstream distribution vendor, `null` for private and shared images.", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "id", + "tags", + "type", + "description", + "label", + "created", + "updated", + "size", + "status", + "capabilities", + "is_public", + "is_shared", + "deprecated", + "regions", + "total_size", + "image_sharing", + "created_by", + "expiry", + "eol", + "vendor" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/imageshares.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "data", + "page", + "pages", + "results" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-sharegroup-token-images-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-token-images-200.json" + } + } + }, + "description": "A paginated list of shared images in a share group." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "List images by token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups images-list-by-token abc123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "images-list-by-token", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "A unique identifier for the token, used to reference it after creation.", + "example": "{{tokenUuid}}", + "in": "path", + "name": "tokenUuid", + "required": true, + "schema": { + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "format": "uuid", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/token-uuid-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroups-tokens-id-sharegroup-images.yaml", + "path-info": "/{apiVersion}/images/sharegroups/tokens/{tokenUuid}/sharegroup/images", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/{sharegroupId}": { + "get": { + "description": "Get information about an owned share group. Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n- If the `sharegroupId` in the request body belongs to a group you don't own, calling this API will result in a 404 error.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups view 1234\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup" + }, + "operationId": "get-sharegroup", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The share group's details.", + "properties": { + "created": { + "description": "__Read-only__ When this share group was created.", + "example": "2025-04-14T22:44:02", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A detailed description of this share group.", + "example": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation", + "nullable": true, + "type": "string", + "x-linode-cli-display": 4 + }, + "expiry": { + "description": "__Read-only__ When the share group expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 1, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "images_count": { + "description": "__Read-only__ The total number of images currently belonging to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 6 + }, + "is_suspended": { + "description": "__Read-only__ If `true`, the share group is currently suspended.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 5 + }, + "label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string", + "x-linode-cli-display": 2 + }, + "members_count": { + "description": "__Read-only__ The number of users with access to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 7 + }, + "updated": { + "description": "__Read-only__ When this share group was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "1533863e-16a4-47b5-b829-ac0f35c13278", + "format": "uuid", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + } + }, + "required": [ + "id", + "uuid", + "label", + "description", + "is_suspended", + "created", + "updated", + "expiry", + "images_count", + "members_count" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/sharegroup.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-200.json" + } + } + }, + "description": "A single share group object." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "Get a share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups view 1234", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "view", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "put": { + "description": "Updates the details of a share group you own. Run this operation to edit the `label` or `description` of a particular sharegroup.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n- You can update either of the fields, but when you provide a new `label`, make sure that it's not an empty string.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups update 1234 --label \"new_label\" --description \"A new description.\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/put-sharegroup" + }, + "operationId": "put-sharegroup", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The share group's details to update.", + "properties": { + "description": { + "description": "A detailed description of this share group.", + "example": "{{description}}", + "type": "string" + }, + "label": { + "description": "The share group's descriptive name.", + "example": "{{label}}", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/put-sharegroup.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-200.json" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The share group's details.", + "properties": { + "created": { + "description": "__Read-only__ When this share group was created.", + "example": "2025-04-14T22:44:02", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A detailed description of this share group.", + "example": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation", + "nullable": true, + "type": "string", + "x-linode-cli-display": 4 + }, + "expiry": { + "description": "__Read-only__ When the share group expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 1, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "images_count": { + "description": "__Read-only__ The total number of images currently belonging to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 6 + }, + "is_suspended": { + "description": "__Read-only__ If `true`, the share group is currently suspended.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 5 + }, + "label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string", + "x-linode-cli-display": 2 + }, + "members_count": { + "description": "__Read-only__ The number of users with access to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 7 + }, + "updated": { + "description": "__Read-only__ When this share group was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "1533863e-16a4-47b5-b829-ac0f35c13278", + "format": "uuid", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + } + }, + "required": [ + "id", + "uuid", + "label", + "description", + "is_suspended", + "created", + "updated", + "expiry", + "images_count", + "members_count" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/sharegroup.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-200.json" + } + } + }, + "description": "The updated share group." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Update a share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups update 1234 --label \"new_label\" --description \"A new description.\"", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "update", + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, + "delete": { + "description": "Deletes an owned share group. All shared group members lose access to the images within the group upon deletion.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups delete 1234\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/delete-sharegroup" + }, + "operationId": "delete-sharegroup", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "The API responds with an empty object.", + "maxProperties": 0, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-empty-obj.yaml" + } + }, + "x-example": { + "x-ref": "../examples/delete-sharegroup-200.json" + } + } + }, + "description": "Share group delete successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Delete a share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups delete 1234", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": [ + "delete", + "rm" + ], + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "The share group's unique identifier assigned after creating it. Not to be confused with the group's `uuid`.", + "example": "{{sharegroupId}}", + "in": "path", + "name": "sharegroupId", + "required": true, + "schema": { + "example": 54321, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/sharegroup-id-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroup-id.yaml", + "path-info": "/{apiVersion}/images/sharegroups/{sharegroupId}", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/{sharegroupId}/images": { + "post": { + "description": "Adds images to an existing group where you can share them with other members.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n- Run the [Get an image](https://techdocs.akamai.com/linode-api/reference/get-image) operation to see the existing images' `id` values. If needed, [Create an image](https://techdocs.akamai.com/linode-api/reference/post-image) or [Upload an image](https://techdocs.akamai.com/linode-api/reference/post-upload-image).\n\n- You can set a `label` and `description` for each image, visible to all group members. If omitted, the shared image keeps the original image's details. Note that when you [Update the original image](https://techdocs.akamai.com/linode-api/reference/put-image), it has no effect on a shared image's details within any groups.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups image-add 123 \\\n --images '[{\"id\": \"private/15\", \"label\": \"Linux Debian\", \"description\": \"Official Debian Linux image for server deployment\"}]'\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/post-sharegroup-images" + }, + "operationId": "post-sharegroup-images", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "images": { + "items": { + "additionalProperties": false, + "properties": { + "description": { + "description": "The image's description within the share group.", + "example": "Official Debian Linux image for server deployment", + "type": "string" + }, + "id": { + "description": "The private image\u2019s unique slug identifier.", + "example": "private/15", + "type": "string" + }, + "label": { + "description": "The image's name within the share group.", + "example": "Linux Debian", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "images" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/post-sharegroup-images.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-images.json" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The shared image's details.", + "properties": { + "capabilities": { + "description": "__Read-only__ A list of the possible capabilities of this image.", + "example": [ + "cloud-init", + "distributed-sites" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 7 + }, + "created": { + "description": "__Read-only__ When this image was shared.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "created_by": { + "description": "__Read-only__ The shared image creator's username.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "string" + }, + "deprecated": { + "description": "__Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "The shared image's detailed description.", + "example": "Official Debian Linux image for server deployment", + "type": "string", + "x-linode-cli-display": 3 + }, + "eol": { + "description": "__Read-only__ The time of the public image's planned removal from service. `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ Only images created automatically from a deleted compute instance (`type=automatic`) expire, `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The shared image\u2019s unique slug identifier.", + "example": "shared/1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "image_sharing": { + "additionalProperties": false, + "description": "__Read-only__ The image's sharing details, including the share group and source image data. ", + "properties": { + "shared_by": { + "properties": { + "sharegroup_id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 3, + "readOnly": true, + "type": "integer" + }, + "sharegroup_label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string" + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "8d64b99e-92f7-4c7b-a616-8f622fffb94c", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "source_image_id": { + "description": "__Read-only__ The source image's slug identifier.", + "example": "private/15", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "type": "object" + }, + "shared_with": { + "description": "The share group's and source image details.", + "example": null, + "nullable": true, + "type": "object" + } + }, + "readOnly": true, + "type": "object" + }, + "is_public": { + "description": "__Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 8 + }, + "is_shared": { + "description": "__Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], + "example": "none", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 9 + }, + "label": { + "description": "The shared image's name.", + "example": "Linux Debian", + "type": "string", + "x-linode-cli-display": 2 + }, + "regions": { + "description": "__Read-only__ Details on the regions where this image is stored. See [Regions and images](https://techdocs.akamai.com/cloud-computing/docs/images#regions-and-images) for full details on support for `regions`.", + "items": { + "additionalProperties": false, + "properties": { + "region": { + "description": "The unique identifier for the core compute region where this image is stored.", + "example": "us-iad", + "type": "string" + }, + "status": { + "description": "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`.", + "enum": [ + "available", + "creating", + "pending", + "pending deletion", + "pending replication", + "replicating" + ], + "example": "available", + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "size": { + "description": "__Read-only__ The minimum size in MB this image needs to deploy.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 4 + }, + "status": { + "description": "__Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.", + "enum": [ + "creating", + "pending_upload", + "available" + ], + "example": "available", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "tags": { + "description": "__Read-only__ The shared image's organizational tags. A tag can be from 3 to 100 characters long, and each image can include up to 500 tags.", + "example": [ + "repair-image", + "fix-1" + ], + "items": { + "maxLength": 100, + "minLength": 3, + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 10 + }, + "total_size": { + "description": "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 5 + }, + "type": { + "description": "__Read-only__ Indicates how the image was created. It's always `shared` for images in a shared group. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", + "enum": [ + "manual", + "automatic", + "shared" + ], + "example": "shared", + "readOnly": true, + "type": "string" + }, + "updated": { + "description": "__Read-only__ When this shared image was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "__Read-only__ The upstream distribution vendor, `null` for private and shared images.", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "id", + "tags", + "type", + "description", + "label", + "created", + "updated", + "size", + "status", + "capabilities", + "is_public", + "is_shared", + "deprecated", + "regions", + "total_size", + "image_sharing", + "created_by", + "expiry", + "eol", + "vendor" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/imageshare.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-images-200.json" + } + } + }, + "description": "Image added successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Add images to a share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups image-add 123 \\\n --images '[{\"id\": \"private/15\", \"label\": \"Linux Debian\", \"description\": \"Official Debian Linux image for server deployment\"}]'", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "image-add", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "get": { + "description": "Get the details about images shared in a particular group you own.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups images-list 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup-images" + }, + "operationId": "get-sharegroup-images", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "The shared image's details.", + "properties": { + "capabilities": { + "description": "__Read-only__ A list of the possible capabilities of this image.", + "example": [ + "cloud-init", + "distributed-sites" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 7 + }, + "created": { + "description": "__Read-only__ When this image share was created.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "created_by": { + "description": "__Read-only__ The shared image creator's username.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "string" + }, + "deprecated": { + "description": "__Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "The shared image's detailed description.", + "example": "Official Debian Linux image for server deployment", + "type": "string", + "x-linode-cli-display": 3 + }, + "eol": { + "description": "__Read-only__ The time of the public image's planned removal from service. `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ Only images created automatically from a deleted compute instance (`type=automatic`) expire, `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The shared image's unique idenfifier.", + "example": "shared/1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "image_sharing": { + "additionalProperties": false, + "description": "__Read-only__ Sharing information for the image, including who it was shared by and with.", + "properties": { + "shared_by": { + "properties": { + "sharegroup_id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 3, + "readOnly": true, + "type": "integer" + }, + "sharegroup_label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string" + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "8d64b99e-92f7-4c7b-a616-8f622fffb94c", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "source_image_id": { + "description": "__Read-only__ The source image's slug identifier.", + "example": "private/15", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "type": "object" + }, + "shared_with": { + "description": "Details about who this image was shared with.", + "example": null, + "nullable": true, + "type": "object" + } + }, + "readOnly": true, + "type": "object" + }, + "is_public": { + "description": "__Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 8 + }, + "is_shared": { + "description": "__Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], + "example": "none", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 9 + }, + "label": { + "description": "__Filterable__ The shared image's name.", + "example": "Linux Debian", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "regions": { + "description": "__Filterable__, __Read-only__ Details on the regions where this image is stored. See [Regions and images](https://techdocs.akamai.com/cloud-computing/docs/images#regions-and-images) for full details on support for `regions`.", + "items": { + "additionalProperties": false, + "properties": { + "region": { + "description": "The unique identifier for the core compute region where this image is stored.", + "example": "us-iad", + "type": "string" + }, + "status": { + "description": "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`.", + "enum": [ + "available", + "creating", + "pending", + "pending deletion", + "pending replication", + "replicating" + ], + "example": "available", + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-akamai": { + "labels": [ + "Filterable" + ] + } + }, + "size": { + "description": "__Read-only__ The minimum size in MB this image needs to deploy.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 4 + }, + "status": { + "description": "__Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.", + "enum": [ + "creating", + "pending_upload", + "available" + ], + "example": "available", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "tags": { + "description": "__Filterable__, __Read-only__ The shared image's organizational tags. A tag can be from 3 to 100 characters long, and each image can include up to 500 tags.", + "example": [ + "repair-image", + "fix-1" + ], + "items": { + "maxLength": 100, + "minLength": 3, + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "readOnly": true, + "type": "array", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 10, + "x-linode-filterable": true + }, + "total_size": { + "description": "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 5 + }, + "type": { + "description": "__Filterable__, __Read-only__ Indicates how the image was created. It's always `shared` for images in a shared group. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", + "enum": [ + "manual", + "automatic", + "shared" + ], + "example": "shared", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "updated": { + "description": "__Read-only__ When this image share was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "__Read-only__ The upstream distribution vendor, `null` for private and shared images.", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "id", + "tags", + "type", + "description", + "label", + "created", + "updated", + "size", + "status", + "capabilities", + "is_public", + "is_shared", + "deprecated", + "regions", + "total_size", + "image_sharing", + "created_by", + "expiry", + "eol", + "vendor" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/imageshares.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "data", + "page", + "pages", + "results" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-sharegroups-images-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-images-200.json" + } + } + }, + "description": "Returns a paginated list of shared images within a given group." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "List shared images by group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups images-list 123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "images-list", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "The share group's unique identifier assigned after creating it. Not to be confused with the group's `uuid`.", + "example": "{{sharegroupId}}", + "in": "path", + "name": "sharegroupId", + "required": true, + "schema": { + "example": 54321, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/sharegroup-id-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroup-id-images.yaml", + "path-info": "/{apiVersion}/images/sharegroups/{sharegroupId}/images", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/{sharegroupId}/images/{imageId}": { + "put": { + "description": "Updates the details of an image shared within a share group. Run this operation to edit the `label` and `description` of a particular shared image.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group. To get the `imageID`, run the [List shared images by group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-images) operation.\n\n- You can update either of the fields, but when you provide a new `label`, make sure that it's not an empty string.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups image-update 123 1234 --label \"new_label\" --description \"A new description.\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/put-sharegroup-imageshare" + }, + "operationId": "put-sharegroup-imageshare", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The shared image's details you want to update.", + "properties": { + "description": { + "description": "A detailed description of this image share.", + "example": "{{description}}", + "type": "string" + }, + "label": { + "description": "The shared image's descriptive name.", + "example": "{{label}}", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/put-sharegroup-imageshare.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-imageshare-200.json" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The shared image's details.", + "properties": { + "capabilities": { + "description": "__Read-only__ A list of the possible capabilities of this image.", + "example": [ + "cloud-init", + "distributed-sites" + ], + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 7 + }, + "created": { + "description": "__Read-only__ When this image was shared.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "created_by": { + "description": "__Read-only__ The shared image creator's username.", + "example": null, + "nullable": true, + "readOnly": true, + "type": "string" + }, + "deprecated": { + "description": "__Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "The shared image's detailed description.", + "example": "Official Debian Linux image for server deployment", + "type": "string", + "x-linode-cli-display": 3 + }, + "eol": { + "description": "__Read-only__ The time of the public image's planned removal from service. `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ Only images created automatically from a deleted compute instance (`type=automatic`) expire, `null` for private images.", + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "__Read-only__ The shared image\u2019s unique slug identifier.", + "example": "shared/1", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "image_sharing": { + "additionalProperties": false, + "description": "__Read-only__ The image's sharing details, including the share group and source image data. ", + "properties": { + "shared_by": { + "properties": { + "sharegroup_id": { + "description": "__Read-only__ The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 3, + "readOnly": true, + "type": "integer" + }, + "sharegroup_label": { + "description": "The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string" + }, + "sharegroup_uuid": { + "description": "__Read-only__ The share group's unique identifier used for membership token management.", + "example": "8d64b99e-92f7-4c7b-a616-8f622fffb94c", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "source_image_id": { + "description": "__Read-only__ The source image's slug identifier.", + "example": "private/15", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "type": "object" + }, + "shared_with": { + "description": "The share group's and source image details.", + "example": null, + "nullable": true, + "type": "object" + } + }, + "readOnly": true, + "type": "object" + }, + "is_public": { + "description": "__Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", + "example": true, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 8 + }, + "is_shared": { + "description": "__Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], + "example": "none", + "nullable": true, + "readOnly": true, + "type": "string", + "x-linode-cli-display": 9 + }, + "label": { + "description": "The shared image's name.", + "example": "Linux Debian", + "type": "string", + "x-linode-cli-display": 2 + }, + "regions": { + "description": "__Read-only__ Details on the regions where this image is stored. See [Regions and images](https://techdocs.akamai.com/cloud-computing/docs/images#regions-and-images) for full details on support for `regions`.", + "items": { + "additionalProperties": false, + "properties": { + "region": { + "description": "The unique identifier for the core compute region where this image is stored.", + "example": "us-iad", + "type": "string" + }, + "status": { + "description": "The status of the image in this `region`. Possible values are `available`, `creating`, `pending`, `pending deletion`, `pending replication`, or `replicating`.", + "enum": [ + "available", + "creating", + "pending", + "pending deletion", + "pending replication", + "replicating" + ], + "example": "available", + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "size": { + "description": "__Read-only__ The minimum size in MB this image needs to deploy.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 4 + }, + "status": { + "description": "__Read-only__ The current status of the image. Possible values are `available`, `creating`, and `pending_upload`.", + "enum": [ + "creating", + "pending_upload", + "available" + ], + "example": "available", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 6 + }, + "tags": { + "description": "__Read-only__ The shared image's organizational tags. A tag can be from 3 to 100 characters long, and each image can include up to 500 tags.", + "example": [ + "repair-image", + "fix-1" + ], + "items": { + "maxLength": 100, + "minLength": 3, + "type": "string" + }, + "maxItems": 500, + "minItems": 0, + "readOnly": true, + "type": "array", + "x-linode-cli-display": 10 + }, + "total_size": { + "description": "__Read-only__ The total size in bytes of all instances of this image, in all `regions`.", + "example": 256, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 5 + }, + "type": { + "description": "__Read-only__ Indicates how the image was created. It's always `shared` for images in a shared group. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", + "enum": [ + "manual", + "automatic", + "shared" + ], + "example": "shared", + "readOnly": true, + "type": "string" + }, + "updated": { + "description": "__Read-only__ When this shared image was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "__Read-only__ The upstream distribution vendor, `null` for private and shared images.", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "id", + "tags", + "type", + "description", + "label", + "created", + "updated", + "size", + "status", + "capabilities", + "is_public", + "is_shared", + "deprecated", + "regions", + "total_size", + "image_sharing", + "created_by", + "expiry", + "eol", + "vendor" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/imageshare.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-imageshare-200.json" + }, + "x-linode-cli-subtables": [ + "regions" + ] + } + }, + "description": "The shared image's updated details." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Update a shared image", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups image-update 123 1234 --label \"new_label\" --description \"A new description.\"", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "image-update", + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, + "delete": { + "description": "Revokes access to a shared image within an owned group for all members.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group. To get the `imageID`, run the [List shared images by group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-images) operation.\n\n- To add a private image back to a share group, run the [Add images to a share group](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-images).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups image-remove 123 1234\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/delete-sharegroup-imageshare" + }, + "operationId": "delete-sharegroup-imageshare", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "The API responds with an empty object.", + "maxProperties": 0, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-empty-obj.yaml" + } + }, + "x-example": { + "x-ref": "../examples/delete-sharegroup-imageshare-200.json" + } + } + }, + "description": "Image access deleted successfully from share group." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Revoke access to a shared image", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups image-remove 123 1234", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "image-remove", + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "The share group's unique identifier assigned after creating it. Not to be confused with the group's `uuid`.", + "example": "{{sharegroupId}}", + "in": "path", + "name": "sharegroupId", + "required": true, + "schema": { + "example": 54321, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/sharegroup-id-path.yaml" + } + }, + { + "description": "Slug identifier assigned to the shared image upon sharing.", + "example": "{{imageId}}", + "in": "path", + "name": "imageId", + "required": true, + "schema": { + "example": "shared/7", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/image-id-path-w-shared-slug.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroups-id-images-id.yaml", + "path-info": "/{apiVersion}/images/sharegroups/{sharegroupId}/images/{imageId}", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/{sharegroupId}/members": { + "post": { + "description": "Adds users to existing shared private image groups as a group owner.\n\n- Adding new members to share groups requires a single-use token. The user who wants to join a share group should run [Create a token](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens) and share the `token` from the response with the group owner.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups member-add 123 --token \"abc123\" --label \"my_sharegroup_member\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/post-sharegroup-members" + }, + "operationId": "post-sharegroup-members", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "label": { + "description": "The share group member's descriptive name.", + "example": "{{label}}", + "type": "string" + }, + "token": { + "description": "The single-use JWT membership token encoded as a string. It consists of three parts: header, payload, and signature. If needed, the user should [Create a token](https://techdocs.akamai.com/linode-api/reference/post-sharegroup-tokens) and share it with the group owner before joining.", + "example": "{{token}}", + "type": "string" + } + }, + "required": [ + "token", + "label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/post-sharegroup-members.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-members.json" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The shared group membership's details.", + "properties": { + "created": { + "description": "__Read-only__ When the user became the share group's member.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When the user's share group membership expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "The share group member's descriptive name.", + "example": "Engineering - Backend", + "type": "string", + "x-linode-cli-display": 2 + }, + "status": { + "description": "__Read-only__ The current membership status. Share group members can be `active` or `revoked`. Revoked members' data remains available for two weeks after they left a share group.", + "enum": [ + "active", + "revoked" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "token_uuid": { + "description": "__Read-only__ The membership token's unique identifier. Not to be confused with the `token` needed to add a member to the share group.", + "example": "4591075e-4ba8-43c9-a521-928c3d4a135d", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ When the user's share group membership was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/membership.yaml" + } + }, + "x-example": { + "x-ref": "../examples/post-sharegroup-members-200.json" + } + } + }, + "description": "Member added successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Add members to a share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups member-add 123 --token \"abc123\" --label \"my_sharegroup_member\"", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "member-add", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "get": { + "description": "Get the details about all members in a particular share group you own.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups members-list 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup-members" + }, + "operationId": "get-sharegroup-members", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "The shared group membership's details.", + "properties": { + "created": { + "description": "__Read-only__ When the user became the share group's member.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When the user's share group membership expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "__Filterable__ The share group member's descriptive name.", + "example": "Engineering - Backend", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "status": { + "description": "__Filterable__, __Read-only__ The current membership status. Share group members can be `active` or `revoked`. Revoked members' data remains available for two weeks after they left a share group.", + "enum": [ + "active", + "revoked" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "token_uuid": { + "description": "__Filterable__, __Read-only__ The membership token's unique identifier. Not to be confused with the `token` needed to add a member to the share group.", + "example": "4591075e-4ba8-43c9-a521-928c3d4a135d", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "updated": { + "description": "__Read-only__ When the user's share group membership was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/memberships.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "data", + "page", + "pages", + "results" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-sharegroups-members-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-members-200.json" + } + } + }, + "description": "Returns a paginated list of the current members linked to the targeted share group." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "List members by share group", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups members-list 123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "members-list", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "The share group's unique identifier assigned after creating it. Not to be confused with the group's `uuid`.", + "example": "{{sharegroupId}}", + "in": "path", + "name": "sharegroupId", + "required": true, + "schema": { + "example": 54321, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/sharegroup-id-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-sharegroup-id-members.yaml", + "path-info": "/{apiVersion}/images/sharegroups/{sharegroupId}/members", + "status": "BETA" + }, + "x-linode-cli-command": "image-sharegroups" + }, + "/{apiVersion}/images/sharegroups/{sharegroupId}/members/{tokenUuid}": { + "get": { + "description": "Get details about a membership token as a share group owner. Run this operation to check the `status` of a pending membership request or a current group member.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n- Get the `token_uuid` from the user who wants to join your share group or run the [List members by share group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-members) operation for details on current group members.\n\n- To get details about a token as a current or pending group member, run the [Get a token](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-token) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups member-view 123 abc123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-sharegroup-member-token" + }, + "operationId": "get-sharegroup-member-token", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The shared group membership's details.", + "properties": { + "created": { + "description": "__Read-only__ When the user became the share group's member.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When the user's share group membership expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "The share group member's descriptive name.", + "example": "Engineering - Backend", + "type": "string", + "x-linode-cli-display": 2 + }, + "status": { + "description": "__Read-only__ The current membership status. Share group members can be `active` or `revoked`. Revoked members' data remains available for two weeks after they left a share group.", + "enum": [ + "active", + "revoked" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "token_uuid": { + "description": "__Read-only__ The membership token's unique identifier. Not to be confused with the `token` needed to add a member to the share group.", + "example": "4591075e-4ba8-43c9-a521-928c3d4a135d", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ When the user's share group membership was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/membership.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-sharegroup-member-token-200.json" + } + } + }, + "description": "A single token object." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "Get a membership token", "tags": [ - "Images" + "Image sharing" ], "x-akamai": { "tabs": [ { - "syntax": "linode-cli images list", + "syntax": "linode-cli image-sharegroups member-view 123 abc123", "title": "CLI", "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" }, @@ -43952,12 +48622,285 @@ } ] }, - "x-linode-cli-action": [ - "list", - "ls" - ], + "x-linode-cli-action": "member-view", + "x-linode-cli-skip": true, "x-linode-redoc-load-ids": true }, + "put": { + "description": "Updates an existing membership token for a group owner. You can change each token's `label` that will be visible only to you, such as when you [Get members by share group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-members).\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n- Run the [List members by share group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-members) operation to get the `token_uuid` for a current group member.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups member-update 123 abc123 --label \"new_label\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/put-sharegroup-member-token" + }, + "operationId": "put-sharegroup-member-token", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The updated membership token's details.", + "properties": { + "label": { + "description": "The membership token's descriptive name.", + "example": "{{label}}", + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/put-sharegroup-member-token.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-member-token-200.json" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "The shared group membership's details.", + "properties": { + "created": { + "description": "__Read-only__ When the user became the share group's member.", + "example": "2025-08-04T10:07:59", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "expiry": { + "description": "__Read-only__ When the user's share group membership expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "label": { + "description": "The share group member's descriptive name.", + "example": "Engineering - Backend", + "type": "string", + "x-linode-cli-display": 2 + }, + "status": { + "description": "__Read-only__ The current membership status. Share group members can be `active` or `revoked`. Revoked members' data remains available for two weeks after they left a share group.", + "enum": [ + "active", + "revoked" + ], + "example": "active", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 3 + }, + "token_uuid": { + "description": "__Read-only__ The membership token's unique identifier. Not to be confused with the `token` needed to add a member to the share group.", + "example": "4591075e-4ba8-43c9-a521-928c3d4a135d", + "readOnly": true, + "type": "string", + "x-linode-cli-display": 1 + }, + "updated": { + "description": "__Read-only__ When the user's share group membership was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + } + }, + "required": [ + "token_uuid", + "status", + "label", + "created", + "updated", + "expiry" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/membership.yaml" + } + }, + "x-example": { + "x-ref": "../examples/put-sharegroup-member-token-200.json" + } + } + }, + "description": "The updated membership token's details." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Update a membership token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups member-update 123 abc123 --label \"new_label\"", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "member-update", + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, + "delete": { + "description": "Revokes a membership token accepted into a share group. Members with `revoked` status immediately lose access to shared images, and can't deploy them anymore.\n\n- Run the [List share groups](https://techdocs.akamai.com/linode-api/reference/get-sharegroups) operation to get the `id` you should use as the `(sharegroupId)` path parameter that identifies an existing share group.\n\n- Run the [List members by share group](https://techdocs.akamai.com/linode-api/reference/get-sharegroup-members) operation to get the `token_uuid` for a current group member. After revoking a membership, you can run this operation to check its status.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli image-sharegroups member-delete 123 abc123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/delete-sharegroup-member-token" + }, + "operationId": "delete-sharegroup-member-token", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "The API responds with an empty object.", + "maxProperties": 0, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-empty-obj.yaml" + } + }, + "x-example": { + "x-ref": "../examples/delete-sharegroup-member-token-200.json" + } + } + }, + "description": "Token revoked successfully." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_write" + ] + } + ], + "summary": "Revoke a membership token", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli image-sharegroups member-delete 123 abc123", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_write", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "member-delete", + "x-linode-cli-skip": true, + "x-linode-grant": "read_write" + }, "parameters": [ { "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", @@ -43975,17 +48918,47 @@ "x-akamai": { "file-path": "parameters/api-version-path.yaml" } + }, + { + "description": "The share group's unique identifier assigned after creating it. Not to be confused with the group's `uuid`.", + "example": "{{sharegroupId}}", + "in": "path", + "name": "sharegroupId", + "required": true, + "schema": { + "example": 54321, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/sharegroup-id-path.yaml" + } + }, + { + "description": "A unique identifier for the token, used to reference it after creation.", + "example": "{{tokenUuid}}", + "in": "path", + "name": "tokenUuid", + "required": true, + "schema": { + "example": "13428362-5458-4dad-b14b-8d0d4d648f8c", + "format": "uuid", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/token-uuid-path.yaml" + } } ], "x-akamai": { - "file-path": "paths/images.yaml", - "path-info": "/{apiVersion}/images" + "file-path": "paths/images-sharegroups-id-members-id.yaml", + "path-info": "/{apiVersion}/images/sharegroups/{sharegroupId}/members/{tokenUuid}", + "status": "BETA" }, - "x-linode-cli-command": "images" + "x-linode-cli-command": "image-sharegroups" }, "/{apiVersion}/images/upload": { "post": { - "description": "Creates a new private image container and returns a URL as the `upload_to` object in the response. Use this URL to upload your own disk image to the container.\n\n> \ud83d\udcd8\n>\n> This operation has specific requirements for use. Check out its [workflow](https://techdocs.akamai.com/linode-api/reference/upload-an-image) for details.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n # Run the operation to just get the upload_to URL\nlinode-cli images upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east\n\n# Upload the image file in a single step\nlinode-cli image-upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east \\\n /path/to/image-file.img.gz\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a new private image container and returns a URL as the `upload_to` object in the response. Use this URL to upload your own disk image to the container.\n\n> \ud83d\udc4d There's a tutorial\n>\n> This operation has specific requirements for use. Check out its [workflow](https://techdocs.akamai.com/linode-api/reference/upload-an-image) for details.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n # Run the operation to just get the upload_to URL\nlinode-cli images upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east\n\n# Upload the image file in a single step\nlinode-cli image-upload \\\n --description \"Optional details about the Image\" \\\n --label \"Example Image\" \\\n --region us-east \\\n /path/to/image-file.img.gz\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-upload-image" @@ -44090,7 +49063,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": false, "readOnly": true, "type": "boolean", @@ -44115,7 +49088,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "2026-07-01T04:00:00", "format": "date-time", "nullable": true, @@ -44138,39 +49111,39 @@ "x-linode-cli-display": 1 }, "image_sharing": { - "description": "This object represents the sharing status of an image.", + "description": "Details about image sharing.", "oneOf": [ { "additionalProperties": false, "example": { "shared_by": null, "shared_with": { - "image_sharegroup_list_url": "/images/private/15/sharegroups", - "sharegroup_count": 0 + "sharegroup_count": 0, + "sharegroup_list_url": "/images/private/15/sharegroups" } }, "properties": { "shared_by": { - "description": "This field is `null` in this case, meaning the image is not shared by any group. The `shared_with` field provides details on the image's share group.", + "description": "This field is `null` in this case, meaning the image is not shared by any group. See the `shared_with` field for details on the image's share group.", "nullable": true, "type": "object" }, "shared_with": { "additionalProperties": false, - "description": "Specifies the group that the image is shared with, including the count of share groups and a URL to view the share groups.", + "description": "Specifies the group that the image is shared with, including the number of share groups and a URL to view the share groups' list.", "properties": { - "image_sharegroup_list_url": { - "description": "A URL to view the list of share groups the image is shared with.", - "type": "string" - }, "sharegroup_count": { "description": "The number of share groups the image is shared with.", "type": "integer" + }, + "sharegroup_list_url": { + "description": "A URL to view the list of share groups the image is shared with.", + "type": "string" } }, "required": [ "sharegroup_count", - "image_sharegroup_list_url" + "sharegroup_list_url" ], "type": "object" } @@ -44196,23 +49169,23 @@ "properties": { "shared_by": { "additionalProperties": false, - "description": "This object contains the details of the share group that is sharing the image. The share group details are specified in this object.", + "description": "Specifies the details of the share group that is sharing the image.", "properties": { "sharegroup_id": { - "description": "The ID of the share group.", + "description": "The share group's identifier.", "type": "integer" }, "sharegroup_label": { - "description": "A label linked to the share group.", + "description": "The share group's descriptive name.", "type": "string" }, "sharegroup_uuid": { - "description": "The unique identifier of the share group.", + "description": "The share group's unique identifier.", "format": "uuid", "type": "string" }, "source_image_id": { - "description": "The ID of the source image being shared. This can be null if no specific source image is being referenced.", + "description": "The source image's slug identifier. `null` if no specific source image is referenced.", "nullable": true, "type": "string" } @@ -44226,7 +49199,7 @@ "type": "object" }, "shared_with": { - "description": "This field is null in this case, meaning the image is not shared with anyone. The details of sharing are contained in the `shared_by` field.", + "description": "This field is `null` in this case, meaning the image is not shared with anyone. See the `shared_by` fields for additional details about this shared image.", "nullable": true, "type": "object" } @@ -44241,7 +49214,7 @@ ] }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": false, "readOnly": true, "type": "boolean", @@ -44254,15 +49227,21 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": false, "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" ] }, + "x-linode-cli-display": 11, "x-linode-filterable": true }, "label": { @@ -44368,10 +49347,11 @@ "x-linode-cli-display": 9 }, "type": { - "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance.", + "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", "enum": [ "manual", - "automatic" + "automatic", + "shared" ], "example": "manual", "readOnly": true, @@ -44590,7 +49570,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": false, "readOnly": true, "type": "boolean", @@ -44615,7 +49595,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "2026-07-01T04:00:00", "format": "date-time", "nullable": true, @@ -44638,39 +49618,39 @@ "x-linode-cli-display": 1 }, "image_sharing": { - "description": "This object represents the sharing status of an image.", + "description": "Details about image sharing.", "oneOf": [ { "additionalProperties": false, "example": { "shared_by": null, "shared_with": { - "image_sharegroup_list_url": "/images/private/15/sharegroups", - "sharegroup_count": 0 + "sharegroup_count": 0, + "sharegroup_list_url": "/images/private/15/sharegroups" } }, "properties": { "shared_by": { - "description": "This field is `null` in this case, meaning the image is not shared by any group. The `shared_with` field provides details on the image's share group.", + "description": "This field is `null` in this case, meaning the image is not shared by any group. See the `shared_with` field for details on the image's share group.", "nullable": true, "type": "object" }, "shared_with": { "additionalProperties": false, - "description": "Specifies the group that the image is shared with, including the count of share groups and a URL to view the share groups.", + "description": "Specifies the group that the image is shared with, including the number of share groups and a URL to view the share groups' list.", "properties": { - "image_sharegroup_list_url": { - "description": "A URL to view the list of share groups the image is shared with.", - "type": "string" - }, "sharegroup_count": { "description": "The number of share groups the image is shared with.", "type": "integer" + }, + "sharegroup_list_url": { + "description": "A URL to view the list of share groups the image is shared with.", + "type": "string" } }, "required": [ "sharegroup_count", - "image_sharegroup_list_url" + "sharegroup_list_url" ], "type": "object" } @@ -44696,23 +49676,23 @@ "properties": { "shared_by": { "additionalProperties": false, - "description": "This object contains the details of the share group that is sharing the image. The share group details are specified in this object.", + "description": "Specifies the details of the share group that is sharing the image.", "properties": { "sharegroup_id": { - "description": "The ID of the share group.", + "description": "The share group's identifier.", "type": "integer" }, "sharegroup_label": { - "description": "A label linked to the share group.", + "description": "The share group's descriptive name.", "type": "string" }, "sharegroup_uuid": { - "description": "The unique identifier of the share group.", + "description": "The share group's unique identifier.", "format": "uuid", "type": "string" }, "source_image_id": { - "description": "The ID of the source image being shared. This can be null if no specific source image is being referenced.", + "description": "The source image's slug identifier. `null` if no specific source image is referenced.", "nullable": true, "type": "string" } @@ -44726,7 +49706,7 @@ "type": "object" }, "shared_with": { - "description": "This field is null in this case, meaning the image is not shared with anyone. The details of sharing are contained in the `shared_by` field.", + "description": "This field is `null` in this case, meaning the image is not shared with anyone. See the `shared_by` fields for additional details about this shared image.", "nullable": true, "type": "object" } @@ -44741,7 +49721,7 @@ ] }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": false, "readOnly": true, "type": "boolean", @@ -44754,15 +49734,21 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": false, "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" ] }, + "x-linode-cli-display": 11, "x-linode-filterable": true }, "label": { @@ -44868,10 +49854,11 @@ "x-linode-cli-display": 9 }, "type": { - "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance.", + "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", "enum": [ "manual", - "automatic" + "automatic", + "shared" ], "example": "manual", "readOnly": true, @@ -45053,7 +50040,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": "{{deprecated}}", "readOnly": true, "type": "boolean", @@ -45078,7 +50065,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "{{eol}}", "format": "date-time", "nullable": true, @@ -45101,7 +50088,7 @@ "x-linode-cli-display": 1 }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": "{{is_public}}", "readOnly": true, "type": "boolean", @@ -45114,10 +50101,15 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": "{{is_shared}}", "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" @@ -45316,7 +50308,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": false, "readOnly": true, "type": "boolean", @@ -45341,7 +50333,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "2026-07-01T04:00:00", "format": "date-time", "nullable": true, @@ -45364,39 +50356,39 @@ "x-linode-cli-display": 1 }, "image_sharing": { - "description": "This object represents the sharing status of an image.", + "description": "Details about image sharing.", "oneOf": [ { "additionalProperties": false, "example": { "shared_by": null, "shared_with": { - "image_sharegroup_list_url": "/images/private/15/sharegroups", - "sharegroup_count": 0 + "sharegroup_count": 0, + "sharegroup_list_url": "/images/private/15/sharegroups" } }, "properties": { "shared_by": { - "description": "This field is `null` in this case, meaning the image is not shared by any group. The `shared_with` field provides details on the image's share group.", + "description": "This field is `null` in this case, meaning the image is not shared by any group. See the `shared_with` field for details on the image's share group.", "nullable": true, "type": "object" }, "shared_with": { "additionalProperties": false, - "description": "Specifies the group that the image is shared with, including the count of share groups and a URL to view the share groups.", + "description": "Specifies the group that the image is shared with, including the number of share groups and a URL to view the share groups' list.", "properties": { - "image_sharegroup_list_url": { - "description": "A URL to view the list of share groups the image is shared with.", - "type": "string" - }, "sharegroup_count": { "description": "The number of share groups the image is shared with.", "type": "integer" + }, + "sharegroup_list_url": { + "description": "A URL to view the list of share groups the image is shared with.", + "type": "string" } }, "required": [ "sharegroup_count", - "image_sharegroup_list_url" + "sharegroup_list_url" ], "type": "object" } @@ -45422,23 +50414,23 @@ "properties": { "shared_by": { "additionalProperties": false, - "description": "This object contains the details of the share group that is sharing the image. The share group details are specified in this object.", + "description": "Specifies the details of the share group that is sharing the image.", "properties": { "sharegroup_id": { - "description": "The ID of the share group.", + "description": "The share group's identifier.", "type": "integer" }, "sharegroup_label": { - "description": "A label linked to the share group.", + "description": "The share group's descriptive name.", "type": "string" }, "sharegroup_uuid": { - "description": "The unique identifier of the share group.", + "description": "The share group's unique identifier.", "format": "uuid", "type": "string" }, "source_image_id": { - "description": "The ID of the source image being shared. This can be null if no specific source image is being referenced.", + "description": "The source image's slug identifier. `null` if no specific source image is referenced.", "nullable": true, "type": "string" } @@ -45452,7 +50444,7 @@ "type": "object" }, "shared_with": { - "description": "This field is null in this case, meaning the image is not shared with anyone. The details of sharing are contained in the `shared_by` field.", + "description": "This field is `null` in this case, meaning the image is not shared with anyone. See the `shared_by` fields for additional details about this shared image.", "nullable": true, "type": "object" } @@ -45467,7 +50459,7 @@ ] }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": false, "readOnly": true, "type": "boolean", @@ -45480,15 +50472,21 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": false, "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" ] }, + "x-linode-cli-display": 11, "x-linode-filterable": true }, "label": { @@ -45594,10 +50592,11 @@ "x-linode-cli-display": 9 }, "type": { - "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance.", + "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", "enum": [ "manual", - "automatic" + "automatic", + "shared" ], "example": "manual", "readOnly": true, @@ -45950,7 +50949,7 @@ "type": "string" }, "deprecated": { - "description": "__Filterable__, __Read-only__ Whether this image is deprecated. Only public images can be deprecated.", + "description": "__Filterable__, __Read-only__ A `true` value indicates a deprecated image. Only public images can be deprecated.", "example": false, "readOnly": true, "type": "boolean", @@ -45975,7 +50974,7 @@ "x-linode-cli-display": 4 }, "eol": { - "description": "__Read-only__ The date of the public image's planned removal from service. This is `null` for private images.", + "description": "__Read-only__ The time of the public image's planned removal from service. This is `null` for private images.", "example": "2026-07-01T04:00:00", "format": "date-time", "nullable": true, @@ -45998,39 +50997,39 @@ "x-linode-cli-display": 1 }, "image_sharing": { - "description": "This object represents the sharing status of an image.", + "description": "Details about image sharing.", "oneOf": [ { "additionalProperties": false, "example": { "shared_by": null, "shared_with": { - "image_sharegroup_list_url": "/images/private/15/sharegroups", - "sharegroup_count": 0 + "sharegroup_count": 0, + "sharegroup_list_url": "/images/private/15/sharegroups" } }, "properties": { "shared_by": { - "description": "This field is `null` in this case, meaning the image is not shared by any group. The `shared_with` field provides details on the image's share group.", + "description": "This field is `null` in this case, meaning the image is not shared by any group. See the `shared_with` field for details on the image's share group.", "nullable": true, "type": "object" }, "shared_with": { "additionalProperties": false, - "description": "Specifies the group that the image is shared with, including the count of share groups and a URL to view the share groups.", + "description": "Specifies the group that the image is shared with, including the number of share groups and a URL to view the share groups' list.", "properties": { - "image_sharegroup_list_url": { - "description": "A URL to view the list of share groups the image is shared with.", - "type": "string" - }, "sharegroup_count": { "description": "The number of share groups the image is shared with.", "type": "integer" + }, + "sharegroup_list_url": { + "description": "A URL to view the list of share groups the image is shared with.", + "type": "string" } }, "required": [ "sharegroup_count", - "image_sharegroup_list_url" + "sharegroup_list_url" ], "type": "object" } @@ -46056,23 +51055,23 @@ "properties": { "shared_by": { "additionalProperties": false, - "description": "This object contains the details of the share group that is sharing the image. The share group details are specified in this object.", + "description": "Specifies the details of the share group that is sharing the image.", "properties": { "sharegroup_id": { - "description": "The ID of the share group.", + "description": "The share group's identifier.", "type": "integer" }, "sharegroup_label": { - "description": "A label linked to the share group.", + "description": "The share group's descriptive name.", "type": "string" }, "sharegroup_uuid": { - "description": "The unique identifier of the share group.", + "description": "The share group's unique identifier.", "format": "uuid", "type": "string" }, "source_image_id": { - "description": "The ID of the source image being shared. This can be null if no specific source image is being referenced.", + "description": "The source image's slug identifier. `null` if no specific source image is referenced.", "nullable": true, "type": "string" } @@ -46086,7 +51085,7 @@ "type": "object" }, "shared_with": { - "description": "This field is null in this case, meaning the image is not shared with anyone. The details of sharing are contained in the `shared_by` field.", + "description": "This field is `null` in this case, meaning the image is not shared with anyone. See the `shared_by` fields for additional details about this shared image.", "nullable": true, "type": "object" } @@ -46101,7 +51100,7 @@ ] }, "is_public": { - "description": "__Filterable__, __Read-only__ Revealed as `true` if the image is a public distribution image. Private, account-specific images are listed as `false`.", + "description": "__Filterable__, __Read-only__ A `true` value if the image is a public distribution image. A `false` value indicates private, account-specific images.", "example": false, "readOnly": true, "type": "boolean", @@ -46114,15 +51113,21 @@ "x-linode-filterable": true }, "is_shared": { - "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "description": "__Filterable__, __Read-only__ A `true` value for shared private images. `none` for images shared within a group.", + "enum": [ + true, + false, + "none" + ], "example": false, "readOnly": true, - "type": "boolean", + "type": "string", "x-akamai": { "labels": [ "Filterable" ] }, + "x-linode-cli-display": 11, "x-linode-filterable": true }, "label": { @@ -46228,10 +51233,11 @@ "x-linode-cli-display": 9 }, "type": { - "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance.", + "description": "__Filterable__, __Read-only__ How the image was created. Create a `manual` image at any time. An `automatic` image is created automatically from a deleted compute instance. Other users within share groups can access a `shared` image.", "enum": [ "manual", - "automatic" + "automatic", + "shared" ], "example": "manual", "readOnly": true, @@ -46410,6 +51416,267 @@ }, "x-linode-cli-command": "images" }, + "/{apiVersion}/images/{imageId}/sharegroups": { + "get": { + "description": "Lists all owned share groups where a given private image is currently shared. Run the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation. Store the `id` for the target image as your `{imageId}`, for use in this operation's URL path.\n\n> \ud83d\udcd8\n>\n> This operation returns an empty list for shared and distribution image IDs.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images sharegroups-list private/12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n images:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-images-sharegroups-image" + }, + "operationId": "get-images-sharegroups-image", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "The share group's details.", + "properties": { + "created": { + "description": "__Read-only__ When this share group was created.", + "example": "2025-04-14T22:44:02", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The share group's detailed description.", + "example": "Group of base operating system images and engineers used for CI/CD pipelines and infrastructure automation", + "nullable": true, + "type": "string", + "x-linode-cli-display": 4 + }, + "expiry": { + "description": "__Read-only__ When the share group expires.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "id": { + "description": "The share group's numeric identifier, used primarily as path parameters in URLs.", + "example": 1, + "type": "integer", + "x-linode-cli-display": 1 + }, + "images_count": { + "description": "__Read-only__ The total number of images currently belonging to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 6 + }, + "is_suspended": { + "description": "__Read-only__ Indicates whether the share group is currently suspended.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-linode-cli-display": 5 + }, + "label": { + "description": "__Filterable__ The share group's descriptive name.", + "example": "DevOps Base Images", + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "members_count": { + "description": "__Read-only__ The number of users with access to the share group.", + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 7 + }, + "updated": { + "description": "__Read-only__ When this share group was last updated.", + "example": null, + "format": "date-time", + "nullable": true, + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "The share group's unique identifier used for membership token management.", + "example": "1533863e-16a4-47b5-b829-ac0f35c13278", + "format": "uuid", + "type": "string", + "x-linode-cli-display": 3 + } + }, + "required": [ + "id", + "uuid", + "label", + "description", + "is_suspended", + "created", + "updated", + "expiry", + "images_count", + "members_count" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/sharegroups.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "data", + "page", + "pages", + "results" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/get-images-sharegroups-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-images-sharegroups-image-200.json" + } + } + }, + "description": "Returns a paginated list of share groups." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "images:read_only" + ] + } + ], + "summary": "List share groups by image", + "tags": [ + "Image sharing" + ], + "x-akamai": { + "tabs": [ + { + "syntax": "linode-cli images sharegroups-list private/12345", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "images:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "sharegroups-list", + "x-linode-cli-skip": true, + "x-linode-redoc-load-ids": true + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "allowReserved": false, + "description": "Slug identifier assigned to the private image upon creation. This identifier includes a slash (`/`), which must be URL-encoded in requests to prevent breaking the URL structure.", + "example": "{{imageId}}", + "in": "path", + "name": "imageId", + "required": true, + "schema": { + "example": "private/7", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/image-id-path-w-private-slug.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/images-id-sharegroups.yaml", + "path-info": "/{apiVersion}/images/{imageId}/sharegroups", + "status": "BETA" + }, + "x-linode-cli-command": "images" + }, "/{apiVersion}/linode/instances": { "post": { "description": "Creates a Linode Instance on your Account. In order for this request to complete successfully, your User must have the `add_linodes` grant. Creating a new Linode will incur a charge on your Account.\n\nLinodes can be created using one of the available Types. Run [List Linode types](https://techdocs.akamai.com/linode-api/reference/get-linode-types) to get more information about each Type's specs and cost.\n\nLinodes can be created in any one of our available Regions, which are accessible from the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation.\n\nIn an effort to fight spam, Linode restricts outbound connections on ports 25, 465, and 587 on all Linodes for new accounts created after November 5th, 2019. For more information, see our guide on [Running a Mail Server](https://www.linode.com/docs/guides/running-a-mail-server/).\n\n__Important__. You must be an unrestricted User in order to add or modify tags on Linodes.\n\nLinodes can be created in a number of ways:\n\n- Using a Linode Public Image distribution or a Private Image you created based on another Linode.\n\n - Run the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images.\n\n - The Linode will be `running` after it completes `provisioning`.\n - A default config with two Disks, one being a 512 swap disk, is created.\n - `swap_size` can be used to customize the swap disk size.\n - Requires a `root_pass` be supplied to use for the root User's Account.\n - It is recommended to supply SSH keys for the root User using the `authorized_keys` field.\n - You may also supply a list of usernames via the `authorized_users` field.\n - These users must have an SSH Key associated with your Profile first. See the [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key)) operation for more information.\n\n- Using cloud-init with [Metadata](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata/).\n - Automate system configuration and software installation by providing a base-64 encoded [cloud-config](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata-cloud-config/) file.\n - Requires a compatible Image. You can determine compatible Images by checking for `cloud-init` under `capabilities` when running [List images](https://techdocs.akamai.com/linode-api/reference/get-images).\n - Requires a compatible Region. You can determine compatible Regions by checking for `Metadata` under `capabilities` when running [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions).\n\n- Using a StackScript.\n\n - Run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts) for a list of available StackScripts.\n - The Linode will be `running` after it completes `provisioning`.\n - Requires a compatible Image to be supplied.\n - Run [Get a StackScript](https://techdocs.akamai.com/linode-api/reference/get-stack-script) for compatible Images.\n - Requires a `root_pass` be supplied to use for the root User's Account.\n - It is recommended to supply SSH keys for the root User using the `authorized_keys` field.\n - You may also supply a list of usernames via the `authorized_users` field.\n - These users must have an SSH Key associated with your Profile first. See [Add an SSH key](https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key) for more information.\n\n- Using one of your other Linode's backups.\n - You must create a Linode large enough to accommodate the Backup's size.\n - The Disks and Config will match that of the Linode that was backed up.\n - The `root_pass` will match that of the Linode that was backed up.\n\n- Attached to a private VLAN.\n - Review the `interfaces` property of the [Request Body Schema](https://techdocs.akamai.com/linode-api/reference/post-linode-instance) for details.\n - For more information, see our guide on [Getting Started with VLANs](https://www.linode.com/docs/products/networking/vlans/get-started/).\n\n- Create an empty Linode.\n - The Linode will remain `offline` and must be manually started.\n - Run [Boot a Linode](https://techdocs.akamai.com/linode-api/reference/post-boot-linode-instance).\n - Disks and Configs must be created manually.\n - This is only recommended for advanced use cases.\n\nDepending on your [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings), you can choose between legacy configuration interfaces or Linode interfaces when creating a Linode. Only one type of interface is allowed per Linode. The `interface_generation` field lets you select one interface type for new Linodes when both legacy and Linode interfaces options are available on your account. If a Linode is configured with a Linode interface, legacy configuration interfaces can no longer be used on that Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes create \\\n --label linode123 \\\n --root_pass aComplex@Password \\\n --booted true \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}' \\\n --region us-east \\\n --disk_encryption enabled\\\n --placement_group.id 528 \\\n --type g6-standard-2 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --metadata.user_data \"I2Nsb3VkLWNvbmZpZw==\" \\\n --firewall_id 9000\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", @@ -46468,6 +51735,7 @@ "image": { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" }, "maintenance_policy": { @@ -47309,11 +52577,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -47989,11 +53257,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -48594,11 +53862,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -49201,11 +54469,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "{{image}}", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -49670,11 +54938,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -52258,11 +57526,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -53654,7 +58922,7 @@ ], "summary": "Create a configuration profile", "tags": [ - "Configurations" + "Configuration profiles" ], "x-akamai": { "tabs": [ @@ -54227,7 +59495,7 @@ ], "summary": "List configuration profiles", "tags": [ - "Configurations" + "Configuration profiles" ], "x-akamai": { "tabs": [ @@ -54812,7 +60080,7 @@ ], "summary": "Get a configuration profile", "tags": [ - "Configurations" + "Configuration profiles" ], "x-akamai": { "tabs": [ @@ -55828,7 +61096,7 @@ ], "summary": "Update a configuration profile", "tags": [ - "Configurations" + "Configuration profiles" ], "x-akamai": { "tabs": [ @@ -55922,7 +61190,7 @@ ], "summary": "Delete a configuration profile", "tags": [ - "Configurations" + "Configuration profiles" ], "x-akamai": { "tabs": [ @@ -57507,7 +62775,7 @@ }, "/{apiVersion}/linode/instances/{linodeId}/disks": { "post": { - "description": "Add a new disk to an existing Linode. You can create an empty disk to manually configure it later. You can also target a stored `image` to build the disk using a pre-configured file system--either through an image you've [created](https://techdocs.akamai.com/linode-api/reference/create-an-image) or via a StackScript. For added security with all disks, you should supply SSH keys for the disk's `root_pass` user, using the `authorized_keys` field.\n\n> \ud83d\udcd8\n>\n> A Linode can have up to 50 disks.\n\n**Empty disks**\n\n- When creating an empty disk, a `label` is required.\n\n- The default file system for an empty disk is `ext4`.\n\n**Disks created from an `image`**\n\n- A `root_pass` is required for a disk created from a stored image.\n\n- A created disk inherits both the `label` and the `filesystem` from the target `image`, unless you specify otherwise.\n\n- We offer an example workflow to [create a disk using a stored image](https://techdocs.akamai.com/linode-api/reference/deploy-an-image).\n\n**Disks created from a StackScript**\n\n- You can run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts) to review available StackScripts.\n\n- You need to include a StackScript-compatible `image` when creating the disk. Run [Get a StackScript](https://techdocs.akamai.com/linode-api/reference/get-stack-script) to review available images.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes disk-create 123 \\\n --size 1300 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --root_pass aComplex@Password \\\n --image \"linode/debian9\" \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}'\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Add a new disk to an existing Linode. You can create an empty disk to manually configure it later. You can also target a stored `image` to build the disk using a pre-configured file system--either through an image you've [created](https://techdocs.akamai.com/linode-api/reference/post-image) or via a StackScript. For added security with all disks, you should supply SSH keys for the disk's `root_pass` user, using the `authorized_keys` field.\n\n> \ud83d\udcd8\n>\n> A Linode can have up to 50 disks.\n\n**Empty disks**\n\n- When creating an empty disk, a `label` is required.\n\n- The default file system for an empty disk is `ext4`.\n\n**Disks created from an `image`**\n\n- A `root_pass` is required for a disk created from a stored image.\n\n- A created disk inherits both the `label` and the `filesystem` from the target `image`, unless you specify otherwise.\n\n- We offer an example workflow to [create a disk using a stored image](https://techdocs.akamai.com/linode-api/reference/deploy-an-image).\n\n**Disks created from a StackScript**\n\n- You can run [List StackScripts](https://techdocs.akamai.com/linode-api/reference/get-stack-scripts) to review available StackScripts.\n\n- You need to include a StackScript-compatible `image` when creating the disk. Run [Get a StackScript](https://techdocs.akamai.com/linode-api/reference/get-stack-script) to review available images.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes disk-create 123 \\\n --size 1300 \\\n --authorized_keys \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\" \\\n --authorized_users \"myUser\" \\\n --authorized_users \"secondaryUser\" \\\n --root_pass aComplex@Password \\\n --image \"linode/debian9\" \\\n --stackscript_id 10079 \\\n --stackscript_data '{\"gh_username\": \"linode\"}'\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-add-linode-disk" @@ -57562,6 +62830,7 @@ "image": { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" }, "label": { @@ -59588,7 +64857,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -60150,7 +65419,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -62227,6 +67496,309 @@ }, "x-linode-cli-command": "linodes" }, + "/{apiVersion}/linode/instances/{linodeId}/interfaces/history": { + "get": { + "description": "__Beta__ Lists the history of network interfaces by version for a Linode. This operation is for Linode interfaces, and not for legacy configuration profile interfaces.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes interface-history-list $linodeId\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "externalDocs": { + "description": "See documentation for this operation in Akamai's Linode API", + "url": "https://techdocs.akamai.com/linode-api/reference/get-linode-interface-history" + }, + "operationId": "get-linode-interface-history", + "responses": { + "200": { + "content": { + "application/json": { + "example": { + "data": [ + { + "created": "2025-08-01T00:01:01", + "interface_data": { + "created": "2024-01-01T00:01:01", + "default_route": { + "ipv4": true, + "ipv6": true + }, + "id": 1234, + "mac_address": "22:00:AB:CD:EF:01", + "public": { + "ipv4": { + "addresses": [ + { + "address": "172.29.234.138", + "primary": true + } + ], + "shared": [ + { + "address": "172.26.212.79", + "linode_id": 12345 + } + ] + }, + "ipv6": { + "ranges": [ + { + "range": "2001:DB8::/64", + "route_target": "2600:3c09::ff:feab:cdef" + }, + { + "range": "2001:DB8::/64", + "route_target": "2600:3c09::ff:feab:cdef" + } + ], + "shared": [ + { + "range": "2001:DB8::/64", + "route_target": null + } + ], + "slaac": [ + { + "address": "2600:3c09::ff:feab:cdef2", + "prefix": 64 + } + ] + } + }, + "updated": "2024-01-01T00:01:01", + "version": 3, + "vlan": null, + "vpc": null + }, + "interface_history_id": 3, + "interface_id": 221, + "linode_id": 22, + "version": 1 + } + ], + "page": 1, + "pages": 1, + "results": 1 + }, + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Returns a paginated list of all available versions for all interfaces (as full objects) on the Linode. A new entry is added to this list each time a change is made to any interface.", + "properties": { + "created": { + "description": "__Filterable__, __Read-only__ When this version was created. Use `created` to determine which settings an interface prevously had.", + "example": "2025-08-01T00:01:01", + "format": "date-time", + "readOnly": true, + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 6, + "x-linode-filterable": true + }, + "interface_data": { + "description": "The JSON body returned in response to a successful `PUT`, `POST`, or `DELETE` operation on the interface.", + "example": {}, + "type": "string", + "x-linode-cli-display": 5 + }, + "interface_history_id": { + "description": "__Filterable__, __Read-only__ The unique ID for this history version.", + "example": 1, + "readOnly": true, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 1, + "x-linode-filterable": true + }, + "interface_id": { + "description": "__Filterable__, __Read-only__ The network interface defined in the `version`.", + "example": 221, + "readOnly": true, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 2, + "x-linode-filterable": true + }, + "linode_id": { + "description": "__Filterable__, __Read-only__ The Linode the `interface_id` belongs to.", + "example": 22, + "readOnly": true, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "version": { + "description": "__Filterable__, __Read-only__ The network interface's version. The first version from a `POST` is `1`. The version number is incremented when the network interface configuration is changed.", + "example": 1, + "readOnly": true, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 4, + "x-linode-filterable": true + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/history.yaml" + } + }, + "type": "array" + }, + "page": { + "description": "__Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "pages": { + "description": "__Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination).", + "example": 1, + "readOnly": true, + "type": "integer" + }, + "results": { + "description": "__Read-only__ The total number of results.", + "example": 1, + "readOnly": true, + "type": "integer" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/added-get-linode-interfaces-history-200.yaml" + } + } + } + }, + "description": "Returns a paginated list of network interface versions for a Linode." + }, + "default": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "errors": { + "items": { + "additionalProperties": false, + "description": "An object for describing a single error that occurred during the processing of a request.", + "properties": { + "field": { + "description": "The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request.", + "example": "fieldname", + "type": "string" + }, + "reason": { + "description": "What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully.", + "example": "fieldname must be a valid value", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/error-object.yaml" + } + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "description": "See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes." + } + }, + "security": [ + { + "personalAccessToken": [] + }, + { + "oauth": [ + "linodes:read_only" + ] + } + ], + "summary": "List a Linode's network interface history", + "tags": [ + "Linode interfaces" + ], + "x-akamai": { + "status": "BETA", + "tabs": [ + { + "syntax": "linode-cli linodes interface-history-list $linodeId", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + }, + { + "syntax": "linodes:read_only", + "title": "OAuth scopes", + "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" + } + ] + }, + "x-linode-cli-action": "interface-history-list", + "x-linode-grant": "read_only" + }, + "parameters": [ + { + "description": "__Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4", + "v4beta" + ], + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-path.yaml" + } + }, + { + "description": "The `id` of the Linode.", + "example": "{{linodeId}}", + "in": "path", + "name": "linodeId", + "required": true, + "schema": { + "example": 234, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/linode-id.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/linode-interface-history.yaml", + "path-info": "/{apiVersion}/linode/instances/{linodeId}/interfaces/history" + }, + "x-linode-cli-command": "linodes" + }, "/{apiVersion}/linode/instances/{linodeId}/interfaces/settings": { "get": { "description": "__Beta__ Lists a Linode's interface settings, including Network Helper and default route settings. This operation is for Linode interfaces, not for legacy configuration profile interfaces.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes interfaces-settings-list $linodeId\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes: read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", @@ -64810,7 +70382,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -67804,6 +73376,7 @@ "image": { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" }, "maintenance_policy": { @@ -68079,11 +73652,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -69342,7 +74915,7 @@ ] } ], - "summary": "Get Linode statistics", + "summary": "Get daily Linode statistics", "tags": [ "Statistics" ], @@ -69399,7 +74972,7 @@ }, "/{apiVersion}/linode/instances/{linodeId}/stats/{year}/{month}": { "get": { - "description": "Returns statistics for a specific month. The year/month values must be either a date in the past, or the current month. If the current month, statistics will be retrieved for the past 30 days.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns CPU, IO, IPv4, and IPv6 statistics for your Linode for a specific month. If the `{year}` and `{month}` are set to the current month, the API returns statistics for the past 30 days.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-linode-stats-by-year-month" @@ -69654,7 +75227,7 @@ ] } ], - "summary": "Get monthly statistics", + "summary": "Get a month's Linode statistics", "tags": [ "Statistics" ], @@ -69710,10 +75283,12 @@ "required": true, "schema": { "example": 2024, + "maximum": 2037, + "minimum": 2000, "type": "integer" }, "x-akamai": { - "file-path": "parameters/year-path-6f345986.yaml" + "file-path": "parameters/year-path.yaml" } }, { @@ -69832,9 +75407,9 @@ ] } ], - "summary": "Get a network transfer", + "summary": "Get this month's network transfer stats", "tags": [ - "Network transfers" + "Statistics" ], "x-akamai": { "tabs": [ @@ -69894,7 +75469,7 @@ }, "/{apiVersion}/linode/instances/{linodeId}/transfer/{year}/{month}": { "get": { - "description": "Returns a Linode's network transfer statistics for a specific month. The year/month values must be either a date in the past, or the current month.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a Linode's network transfer pool statistics for a specific month. If the `{year}` and `{month}` are set to the current month, the API returns statistics for the past 30 days.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-linode-transfer-by-year-month" @@ -69987,7 +75562,7 @@ ], "summary": "Get monthly network transfer stats", "tags": [ - "Network transfer statistics" + "Statistics" ], "x-akamai": { "tabs": [ @@ -70047,7 +75622,7 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/year-path-dda8c8e5.yaml" + "file-path": "parameters/year-path.yaml" } }, { @@ -70836,7 +76411,7 @@ }, "/{apiVersion}/linode/instances/{linodeId}/volumes": { "get": { - "description": "View Block Storage Volumes attached to this Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes volumes 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "View the Block Storage volumes attached to this Linode.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli linodes volumes 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-linode-volumes" @@ -70880,6 +76455,32 @@ "200": { "content": { "application/json": { + "example": { + "data": [ + { + "created": "2025-01-01T00:01:01", + "encryption": "enabled", + "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume", + "hardware_type": "nvme", + "id": 12345, + "io_ready": true, + "label": "Video-file-storage", + "linode_id": 12346, + "linode_label": "linode123", + "region": "us-iad", + "size": 30, + "status": "active", + "tags": [ + "example tag", + "another example" + ], + "updated": "2025-01-01T00:01:01" + } + ], + "page": 1, + "pages": 1, + "results": 1 + }, "schema": { "additionalProperties": false, "properties": { @@ -70890,7 +76491,7 @@ "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -70929,6 +76530,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -70960,13 +76567,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -71009,7 +76616,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -71046,13 +76653,10 @@ "x-akamai": { "file-path": "schemas/added-get-linode-volumes-200.yaml" } - }, - "x-example": { - "x-ref": "../examples/get-linode-volumes-200.json" } } }, - "description": "Returns an array of Block Storage Volumes attached to this Linode." + "description": "Returns the Block Storage volumes attached to this Linode." }, "default": { "content": { @@ -71966,7 +77570,7 @@ "images" ], "x-akamai": { - "file-path": "schemas/added-post-add-stack-script.yaml" + "file-path": "schemas/post-add-stack-script.yaml" } }, "x-example": { @@ -72532,7 +78136,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-stack-scripts-200.yaml" + "file-path": "schemas/get-stack-scripts-200.yaml" } }, "x-example": { @@ -74442,6 +80046,15 @@ "type": "integer", "x-linode-cli-display": 4 }, + "disk_encryption": { + "description": "Local disk encryption setting for this LKE node pool.", + "enum": [ + "enabled", + "disabled" + ], + "example": "disabled", + "type": "string" + }, "disks": { "description": "This node pool's custom disk layout. Each item in this array will create a new disk partition for each node in this node pool.\n\n> \ud83d\udcd8\n>\n> Omit this field, except for special use cases. The disks specified here are partitions in _addition_ to the primary partition and reduce the size of the primary partition. This can lead to stability problems for the node.\n\n - The custom disk layout is applied to each node in this node pool.\n\n - The maximum number of custom disk partitions that can be configured is 7.\n\n - Once the requested disk partitions are allocated, the remaining disk space is allocated to the node's boot disk.\n\n - A node pool's custom disk layout is immutable over the lifetime of the node pool.", "items": { @@ -74701,7 +80314,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-lke-cluster.yaml" + "file-path": "schemas/post-lke-cluster.yaml" } }, "x-example": { @@ -75186,7 +80799,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-lke-clusters-200.yaml" + "file-path": "schemas/get-lke-clusters-200.yaml" } }, "x-example": { @@ -75673,7 +81286,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-put-lke-cluster.yaml" + "file-path": "schemas/put-lke-cluster.yaml" } }, "x-example": { @@ -76028,7 +81641,7 @@ } ], "x-akamai": { - "file-path": "paths/cluster.yaml", + "file-path": "paths/lke-cluster.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}" }, "x-linode-cli-command": "lke" @@ -76085,7 +81698,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-lke-cluster-api-endpoints-200.yaml" + "file-path": "schemas/get-lke-cluster-api-endpoints-200.yaml" } }, "x-example": { @@ -76195,7 +81808,7 @@ } ], "x-akamai": { - "file-path": "paths/api-endpoints.yaml", + "file-path": "paths/lke-api-endpoints.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/api-endpoints" }, "x-linode-cli-command": "lke" @@ -76291,7 +81904,7 @@ } ], "x-akamai": { - "file-path": "schemas/added-get-lke-cluster-control-plane.yaml" + "file-path": "schemas/get-lke-cluster-control-plane.yaml" } } } @@ -76429,7 +82042,7 @@ ], "summary": "Get the control plane access control list", "tags": [ - "LKE Control Plane ACL" + "Control Plane ACL" ], "x-akamai": { "tabs": [ @@ -76600,7 +82213,7 @@ } ], "x-akamai": { - "file-path": "schemas/added-get-lke-cluster-control-plane.yaml" + "file-path": "schemas/get-lke-cluster-control-plane.yaml" } } } @@ -76738,7 +82351,7 @@ ], "summary": "Update the control plane access control list", "tags": [ - "LKE Control Plane ACL" + "Control Plane ACL" ], "x-akamai": { "tabs": [ @@ -76913,7 +82526,7 @@ ], "summary": "Delete the control plane access control list", "tags": [ - "LKE Control Plane ACL" + "Control Plane ACL" ], "x-akamai": { "tabs": [ @@ -76964,7 +82577,7 @@ } ], "x-akamai": { - "file-path": "paths/control-plane-acl.yaml", + "file-path": "paths/lke-control-plane-acl.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/control_plane_acl" }, "x-linode-cli-command": "lke" @@ -76992,7 +82605,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-lke-cluster-dashboard-200.yaml" + "file-path": "schemas/get-lke-cluster-dashboard-200.yaml" } }, "x-example": { @@ -77102,7 +82715,7 @@ } ], "x-akamai": { - "file-path": "paths/dashboard.yaml", + "file-path": "paths/lke-dashboard.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/dashboard" }, "x-linode-cli-command": "lke" @@ -77130,7 +82743,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-lke-cluster-kubeconfig-200.yaml" + "file-path": "schemas/get-lke-cluster-kubeconfig-200.yaml" } }, "x-example": { @@ -77333,7 +82946,7 @@ } ], "x-akamai": { - "file-path": "paths/kubeconfig.yaml", + "file-path": "paths/lke-kubeconfig.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/kubeconfig" }, "x-linode-cli-command": "lke" @@ -77592,7 +83205,7 @@ } ], "x-akamai": { - "file-path": "paths/cluster-node.yaml", + "file-path": "paths/lke-node.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/nodes/{nodeId}" }, "x-linode-cli-command": "lke" @@ -77737,7 +83350,7 @@ } ], "x-akamai": { - "file-path": "paths/node-recycle.yaml", + "file-path": "paths/lke-node-recycle.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/nodes/{nodeId}/recycle" }, "x-linode-cli-command": "lke" @@ -77793,6 +83406,15 @@ "type": "integer", "x-linode-cli-display": 4 }, + "disk_encryption": { + "description": "Local disk encryption setting for this LKE node pool.", + "enum": [ + "enabled", + "disabled" + ], + "example": "disabled", + "type": "string" + }, "disks": { "description": "This node pool's custom disk layout. Each item in this array will create a new disk partition for each node in this node pool.\n\n> \ud83d\udcd8\n>\n> Omit this field, except for special use cases. The disks specified here are partitions in _addition_ to the primary partition and reduce the size of the primary partition. This can lead to stability problems for the node.\n\n - The custom disk layout is applied to each node in this node pool.\n\n - The maximum number of custom disk partitions that can be configured is 7.\n\n - Once the requested disk partitions are allocated, the remaining disk space is allocated to the node's boot disk.\n\n - A node pool's custom disk layout is immutable over the lifetime of the node pool.", "items": { @@ -77964,7 +83586,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-lke-cluster-pools.yaml" + "file-path": "schemas/post-lke-cluster-pools.yaml" } }, "x-example": { @@ -78027,7 +83649,8 @@ "disabled" ], "example": "disabled", - "type": "string" + "type": "string", + "x-linode-cli-display": 9 }, "disks": { "description": "This node pool's custom disk layout.", @@ -78361,7 +83984,8 @@ "disabled" ], "example": "disabled", - "type": "string" + "type": "string", + "x-linode-cli-display": 9 }, "disks": { "description": "This node pool's custom disk layout.", @@ -78581,7 +84205,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-lke-cluster-pools-200.yaml" + "file-path": "schemas/get-lke-cluster-pools-200.yaml" } }, "x-example": { @@ -78691,7 +84315,7 @@ } ], "x-akamai": { - "file-path": "paths/cluster-pools.yaml", + "file-path": "paths/lke-pools.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/pools" }, "x-linode-cli-command": "lke" @@ -78756,7 +84380,8 @@ "disabled" ], "example": "disabled", - "type": "string" + "type": "string", + "x-linode-cli-display": 9 }, "disks": { "description": "This node pool's custom disk layout.", @@ -79126,7 +84751,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-put-lke-node-pool.yaml" + "file-path": "schemas/put-lke-node-pool.yaml" } }, "x-example": { @@ -79188,7 +84813,8 @@ "disabled" ], "example": "disabled", - "type": "string" + "type": "string", + "x-linode-cli-display": 9 }, "disks": { "description": "This node pool's custom disk layout.", @@ -79563,7 +85189,7 @@ } ], "x-akamai": { - "file-path": "paths/pool.yaml", + "file-path": "paths/lke-pool.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/pools/{poolId}" }, "x-linode-cli-command": "lke" @@ -79709,7 +85335,7 @@ } ], "x-akamai": { - "file-path": "paths/pool-recycle.yaml", + "file-path": "paths/lke-pool-recycle.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/pools/{poolId}/recycle" }, "x-linode-cli-command": "lke" @@ -79841,7 +85467,7 @@ } ], "x-akamai": { - "file-path": "paths/cluster-recycle.yaml", + "file-path": "paths/lke-cluster-recycle.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/recycle" }, "x-linode-cli-command": "lke" @@ -79875,7 +85501,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-lke-cluster-regenerate.yaml" + "file-path": "schemas/post-lke-cluster-regenerate.yaml" } }, "x-example": { @@ -80004,7 +85630,7 @@ } ], "x-akamai": { - "file-path": "paths/regenerate.yaml", + "file-path": "paths/lke-cluster-regenerate.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/regenerate" }, "x-linode-cli-command": "lke" @@ -80085,7 +85711,7 @@ ], "summary": "Delete a service token", "tags": [ - "Service tokens" + "LKE service tokens" ], "x-akamai": { "tabs": [ @@ -80136,7 +85762,7 @@ } ], "x-akamai": { - "file-path": "paths/service-token.yaml", + "file-path": "paths/lke-service-token.yaml", "path-info": "/{apiVersion}/lke/clusters/{clusterId}/servicetoken" }, "x-linode-cli-command": "lke" @@ -80936,13 +86562,13 @@ }, "schema": { "additionalProperties": false, - "description": "__Read-only__ LKE versions for standard tier.", + "description": "LKE versions for standard tier.", "properties": { "data": { "description": "__Read-only__ LKE versions for standard tier.", "items": { "additionalProperties": false, - "description": "__Read-only__ LKE version.", + "description": "LKE version.", "properties": { "id": { "description": "__Read-only__ A Kubernetes version number available for deployment to a Kubernetes cluster in the format of <major>.<minor>, and the latest supported patch version.", @@ -80952,7 +86578,6 @@ "type": "string" } }, - "readOnly": true, "required": [ "id" ], @@ -80985,10 +86610,9 @@ "type": "integer" } }, - "readOnly": true, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-lke-versions-200.yaml" + "file-path": "schemas/get-lke-versions-200.yaml" } }, "x-example": { @@ -81086,7 +86710,7 @@ } ], "x-akamai": { - "file-path": "paths/versions.yaml", + "file-path": "paths/lke-versions.yaml", "path-info": "/{apiVersion}/lke/versions" }, "x-linode-cli-command": "lke" @@ -81108,7 +86732,7 @@ }, "schema": { "additionalProperties": false, - "description": "__Read-only__ LKE version.", + "description": "LKE version.", "properties": { "id": { "description": "__Read-only__ A Kubernetes version number available for deployment to a Kubernetes cluster in the format of <major>.<minor>, and the latest supported patch version.", @@ -81118,7 +86742,6 @@ "type": "string" } }, - "readOnly": true, "required": [ "id" ], @@ -81236,7 +86859,7 @@ } ], "x-akamai": { - "file-path": "paths/version.yaml", + "file-path": "paths/lke-version.yaml", "path-info": "/{apiVersion}/lke/versions/{version}" }, "x-linode-cli-command": "lke" @@ -81492,7 +87115,7 @@ ], "summary": "Create a Longview client", "tags": [ - "Clients" + "Longview clients" ], "x-akamai": { "tabs": [ @@ -81669,7 +87292,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-longview-clients-200.yaml" + "file-path": "schemas/get-longview-clients-200.yaml" } }, "x-example": { @@ -81728,7 +87351,7 @@ ], "summary": "List Longview clients", "tags": [ - "Clients" + "Longview clients" ], "x-akamai": { "tabs": [ @@ -81929,7 +87552,7 @@ ], "summary": "Get a Longview client", "tags": [ - "Clients" + "Longview clients" ], "x-akamai": { "tabs": [ @@ -82198,7 +87821,7 @@ ], "summary": "Update a Longview client", "tags": [ - "Clients" + "Longview clients" ], "x-akamai": { "tabs": [ @@ -82292,7 +87915,7 @@ ], "summary": "Delete a Longview client", "tags": [ - "Clients" + "Longview clients" ], "x-akamai": { "tabs": [ @@ -82478,7 +88101,7 @@ ], "summary": "Get a Longview plan", "tags": [ - "Plans" + "Longview plans" ], "x-akamai": { "tabs": [ @@ -82655,7 +88278,7 @@ ], "summary": "Update a Longview plan", "tags": [ - "Plans" + "Longview plans" ], "x-akamai": { "tabs": [ @@ -82693,14 +88316,14 @@ } ], "x-akamai": { - "file-path": "paths/plan.yaml", + "file-path": "paths/longview-plan.yaml", "path-info": "/{apiVersion}/longview/plan" }, "x-linode-cli-command": "longview" }, "/{apiVersion}/longview/subscriptions": { "get": { - "description": "Returns a paginated list of available Longview Subscriptions. This is a public endpoint and requires no authentication.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli longview subscriptions-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "Returns a paginated list of available Longview subscriptions. This is a public endpoint and requires no authentication.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli longview subscriptions-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-longview-subscriptions" @@ -82829,7 +88452,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-longview-subscriptions-200.yaml" + "file-path": "schemas/get-longview-subscriptions-200.yaml" } }, "x-example": { @@ -82837,7 +88460,7 @@ } } }, - "description": "A paginated list of Longview Subscriptions." + "description": "A paginated list of Longview subscriptions." }, "default": { "content": { @@ -82878,7 +88501,7 @@ }, "summary": "List Longview subscriptions", "tags": [ - "Subscriptions" + "Longview subscriptions" ], "x-akamai": { "tabs": [ @@ -82911,7 +88534,7 @@ } ], "x-akamai": { - "file-path": "paths/subscriptions.yaml", + "file-path": "paths/longview-subscriptions.yaml", "path-info": "/{apiVersion}/longview/subscriptions" }, "x-linode-cli-command": "longview" @@ -83032,7 +88655,7 @@ }, "summary": "Get a Longview subscription", "tags": [ - "Subscriptions" + "Longview subscriptions" ], "x-akamai": { "tabs": [ @@ -83078,7 +88701,7 @@ } ], "x-akamai": { - "file-path": "paths/subscription.yaml", + "file-path": "paths/longview-subscription.yaml", "path-info": "/{apiVersion}/longview/subscriptions/{subscriptionId}" }, "x-linode-cli-command": "longview" @@ -83502,7 +89125,7 @@ }, "/{apiVersion}/managed/contacts": { "post": { - "description": "Creates a Managed Contact. A Managed Contact is someone Linode special forces can contact in the course of attempting to resolve an issue with a Managed Service.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-create \\\n --name \"John Doe\" \\\n --email \"john.doe@example.org\" \\\n --phone.primary \"123-456-7890\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a managed contact. When investigating or resolving an issue with a service monitor, Akamai Support may reach out to this contact.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-create \\\n --name \"John Doe\" \\\n --email \"john.doe@example.org\" \\\n --phone.primary \"123-456-7890\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-managed-contact" @@ -83732,7 +89355,7 @@ ], "summary": "Create a managed contact", "tags": [ - "Contacts" + "Managed contacts" ], "x-akamai": { "tabs": [ @@ -83752,7 +89375,7 @@ "x-linode-grant": "unrestricted only" }, "get": { - "description": "Returns a paginated list of Managed Contacts on your Account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contacts-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of managed contacts on your account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contacts-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-contacts" @@ -83900,7 +89523,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-contacts-200.yaml" + "file-path": "schemas/get-managed-contacts-200.yaml" } }, "x-example": { @@ -83959,7 +89582,7 @@ ], "summary": "List managed contacts", "tags": [ - "Contacts" + "Managed contacts" ], "x-akamai": { "tabs": [ @@ -83998,14 +89621,14 @@ } ], "x-akamai": { - "file-path": "paths/contacts.yaml", + "file-path": "paths/managed-contacts.yaml", "path-info": "/{apiVersion}/managed/contacts" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/contacts/{contactId}": { "get": { - "description": "Returns a single Managed Contact.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-view 567\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a single managed contact.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-view 567\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-contact" @@ -84148,7 +89771,7 @@ ], "summary": "Get a managed contact", "tags": [ - "Contacts" + "Managed contacts" ], "x-akamai": { "tabs": [ @@ -84168,7 +89791,7 @@ "x-linode-grant": "unrestricted only" }, "put": { - "description": "Updates information about a Managed Contact. This operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-update 567 \\\n --name \"John Doe\" \\\n --email \"john.doe@example.org\" \\\n --phone.primary \"123-456-7890\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Updates information for a managed contact.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-update 567 \\\n --name \"John Doe\" \\\n --email \"john.doe@example.org\" \\\n --phone.primary \"123-456-7890\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-managed-contact" @@ -84399,7 +90022,7 @@ ], "summary": "Update a managed contact", "tags": [ - "Contacts" + "Managed contacts" ], "x-akamai": { "tabs": [ @@ -84419,7 +90042,7 @@ "x-linode-grant": "unrestricted only" }, "delete": { - "description": "Deletes a Managed Contact.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-delete 567\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Deletes a managed contact.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed contact-delete 567\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-managed-contact" @@ -84493,7 +90116,7 @@ ], "summary": "Delete a managed contact", "tags": [ - "Contacts" + "Managed contacts" ], "x-akamai": { "tabs": [ @@ -84546,14 +90169,14 @@ } ], "x-akamai": { - "file-path": "paths/contact.yaml", + "file-path": "paths/managed-contact.yaml", "path-info": "/{apiVersion}/managed/contacts/{contactId}" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/credentials": { "post": { - "description": "Creates a Managed Credential. A Managed Credential is stored securely to allow Linode special forces to access your Managed Services and resolve issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-create \\\n --label prod-password-1 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a managed credential to store usernames and passwords for applications running on your Linode. Akamai Support can use these credentials to access your applications when investigating or resolving issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-create \\\n --label prod-password-1 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-managed-credential" @@ -84621,7 +90244,7 @@ "password" ], "x-akamai": { - "file-path": "schemas/added-post-managed-credential.yaml" + "file-path": "schemas/post-managed-credential.yaml" } }, "x-example": { @@ -84725,7 +90348,7 @@ ], "summary": "Create a managed credential", "tags": [ - "Credentials" + "Managed credentials" ], "x-akamai": { "tabs": [ @@ -84745,7 +90368,7 @@ "x-linode-grant": "unrestricted only" }, "get": { - "description": "Returns a paginated list of Managed Credentials on your Account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credentials-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of managed credentials on your account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credentials-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-credentials" @@ -84850,7 +90473,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-credentials-200.yaml" + "file-path": "schemas/get-managed-credentials-200.yaml" } }, "x-example": { @@ -84909,7 +90532,7 @@ ], "summary": "List managed credentials", "tags": [ - "Credentials" + "Managed credentials" ], "x-akamai": { "tabs": [ @@ -84948,14 +90571,14 @@ } ], "x-akamai": { - "file-path": "paths/credentials.yaml", + "file-path": "paths/managed-credentials.yaml", "path-info": "/{apiVersion}/managed/credentials" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/credentials/sshkey": { "get": { - "description": "Returns the unique SSH public key assigned to your Linode account's Managed service. If you [add this public key](https://www.linode.com/docs/products/services/managed/get-started/#adding-the-public-key) to a Linode on your account, Linode special forces will be able to log in to the Linode with this key when attempting to resolve issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-sshkey-view\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns the unique SSH public key assigned to Linode Managed on your account. If you [add this public key](https://techdocs.akamai.com/cloud-computing/docs/configure-ssh-access-for-linode-managed) to a Linode on your account, Akamai Support can securely access that Linode to help resolve any issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-sshkey-view\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-ssh-key" @@ -84979,7 +90602,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-ssh-key-200.yaml" + "file-path": "schemas/get-managed-ssh-key-200.yaml" } }, "x-example": { @@ -85184,7 +90807,7 @@ ], "summary": "Get a managed credential", "tags": [ - "Credentials" + "Managed credentials" ], "x-akamai": { "tabs": [ @@ -85349,7 +90972,7 @@ ], "summary": "Update a managed credential", "tags": [ - "Credentials" + "Managed credentials" ], "x-akamai": { "tabs": [ @@ -85402,14 +91025,14 @@ } ], "x-akamai": { - "file-path": "paths/credential.yaml", + "file-path": "paths/managed-credential.yaml", "path-info": "/{apiVersion}/managed/credentials/{credentialId}" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/credentials/{credentialId}/revoke": { "post": { - "description": "Deletes a Managed Credential. Linode special forces will no longer have access to this Credential when attempting to resolve issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-revoke 9991\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Deletes a managed credential. Akamai Support will no longer have access to this credential when investigating or resolving issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-revoke 9991\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-managed-credential-revoke" @@ -85483,7 +91106,7 @@ ], "summary": "Delete a managed credential", "tags": [ - "Credentials" + "Managed credentials" ], "x-akamai": { "tabs": [ @@ -85536,14 +91159,14 @@ } ], "x-akamai": { - "file-path": "paths/revoke.yaml", + "file-path": "paths/managed-credential-revoke.yaml", "path-info": "/{apiVersion}/managed/credentials/{credentialId}/revoke" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/credentials/{credentialId}/update": { "post": { - "description": "Updates the username and password for a Managed Credential.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-update-username-password 9991 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Updates the username and password for a managed credential.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed credential-update-username-password 9991 \\\n --username johndoe \\\n --password s3cur3P@ssw0rd\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-managed-credential-username-password" @@ -85573,7 +91196,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-managed-credential-username-password.yaml" + "file-path": "schemas/post-managed-credential-username-password.yaml" } }, "x-example": { @@ -85651,7 +91274,7 @@ ], "summary": "Update a managed credential's username and password", "tags": [ - "Credentials" + "Managed credentials" ], "x-akamai": { "tabs": [ @@ -85704,14 +91327,14 @@ } ], "x-akamai": { - "file-path": "paths/update.yaml", + "file-path": "paths/managed-credential-update.yaml", "path-info": "/{apiVersion}/managed/credentials/{credentialId}/update" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/issues": { "get": { - "description": "Returns a paginated list of recent and ongoing issues detected on your Managed Services.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed issues-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of recent and ongoing issues detected on your service monitors.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed issues-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-issues" @@ -85854,7 +91477,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-issues-200.yaml" + "file-path": "schemas/get-managed-issues-200.yaml" } }, "x-example": { @@ -85913,7 +91536,7 @@ ], "summary": "List managed issues", "tags": [ - "Issues" + "Managed issues" ], "x-akamai": { "tabs": [ @@ -85952,14 +91575,14 @@ } ], "x-akamai": { - "file-path": "paths/issues.yaml", + "file-path": "paths/managed-issues.yaml", "path-info": "/{apiVersion}/managed/issues" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/issues/{issueId}": { "get": { - "description": "Returns a single Issue that is impacting or did impact one of your Managed Services.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed issue-view 823\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a single issue affecting one of your service monitors.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed issue-view 823\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-issue" @@ -86097,7 +91720,7 @@ ], "summary": "Get a managed issue", "tags": [ - "Issues" + "Managed issues" ], "x-akamai": { "tabs": [ @@ -86150,14 +91773,14 @@ } ], "x-akamai": { - "file-path": "paths/issue.yaml", + "file-path": "paths/managed-issue.yaml", "path-info": "/{apiVersion}/managed/issues/{issueId}" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/linode-settings": { "get": { - "description": "Returns a paginated list of Managed Settings for your Linodes. There will be one entry per Linode on your Account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed linode-settings-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of managed settings for your Linodes (one entry per Linode).\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed linode-settings-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-linode-settings" @@ -86299,7 +91922,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-linode-settings-200.yaml" + "file-path": "schemas/get-managed-linode-settings-200.yaml" } }, "x-example": { @@ -86358,7 +91981,7 @@ ], "summary": "List managed Linode settings", "tags": [ - "Linode settings" + "Managed Linode settings" ], "x-akamai": { "tabs": [ @@ -86397,14 +92020,14 @@ } ], "x-akamai": { - "file-path": "paths/linode-settings.yaml", + "file-path": "paths/managed-linode-settings.yaml", "path-info": "/{apiVersion}/managed/linode-settings" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/linode-settings/{linodeId}": { "get": { - "description": "Returns a single Linode's Managed settings.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed linode-setting-view 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns the managed settings for a single Linode.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed linode-setting-view 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-linode-setting" @@ -86541,7 +92164,7 @@ ], "summary": "Get a Linode's managed settings", "tags": [ - "Managed settings" + "Managed Linode settings" ], "x-akamai": { "tabs": [ @@ -86561,7 +92184,7 @@ "x-linode-grant": "unrestricted only" }, "put": { - "description": "Updates a single Linode's Managed settings. This operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed linode-setting-update \\\n 7833234 \\\n --ssh.access true \\\n --ssh.user linode \\\n --ssh.port 22 \\\n --ssh.ip 203.0.113.1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Updates the managed settings for a Linode.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed linode-setting-update \\\n 7833234 \\\n --ssh.access true \\\n --ssh.user linode \\\n --ssh.port 22 \\\n --ssh.ip 203.0.113.1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-managed-linode-setting" @@ -86780,7 +92403,7 @@ ], "summary": "Update a Linode's managed settings", "tags": [ - "Managed settings" + "Managed Linode settings" ], "x-akamai": { "tabs": [ @@ -86833,14 +92456,14 @@ } ], "x-akamai": { - "file-path": "paths/linode-settings-per-linode.yaml", + "file-path": "paths/managed-linode-settings-per-linode.yaml", "path-info": "/{apiVersion}/managed/linode-settings/{linodeId}" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/services": { "post": { - "description": "Creates a Managed Service. Linode Managed will begin monitoring this service and reporting and attempting to resolve any Issues.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-create \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is \\\n my-cool-application\" \\\n --credentials 9991\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a service monitor. Linode Managed monitors this service and alerts Akamai Support when issues are detected.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-create \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is \\\n my-cool-application\" \\\n --credentials 9991\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-managed-service" @@ -86979,7 +92602,7 @@ "timeout" ], "x-akamai": { - "file-path": "schemas/added-post-managed-service.yaml" + "file-path": "schemas/post-managed-service.yaml" } }, "x-example": { @@ -87169,7 +92792,7 @@ ], "summary": "Create a managed service", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -87189,7 +92812,7 @@ "x-linode-grant": "unrestricted only" }, "get": { - "description": "Returns a paginated list of Managed Services on your Account. These are the services Linode Managed is monitoring and will report and attempt to resolve issues with.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed services-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of service monitors on your account. These are the services on your Linodes monitored by Linode Managed.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed services-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-services" @@ -87346,7 +92969,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-services-200.yaml" + "file-path": "schemas/get-managed-services-200.yaml" } }, "x-example": { @@ -87405,7 +93028,7 @@ ], "summary": "List managed services", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -87444,14 +93067,14 @@ } ], "x-akamai": { - "file-path": "paths/services.yaml", + "file-path": "paths/managed-service-monitors.yaml", "path-info": "/{apiVersion}/managed/services" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/services/{serviceId}": { "get": { - "description": "Returns information about a single Managed Service on your Account.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-view 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns the configuration settings for a single service monitor.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-view 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-service" @@ -87635,9 +93258,9 @@ ] } ], - "summary": "Get a managed service", + "summary": "Get a managed service monitor", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -87657,7 +93280,7 @@ "x-linode-grant": "unrestricted only" }, "put": { - "description": "Updates information about a Managed Service.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-update 9994 \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is my-cool-application\" \\\n --credentials 9991\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Updates a service monitor's configuration settings.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-update 9994 \\\n --service_type url \\\n --label prod-1 \\\n --address \"https://example.org\" \\\n --timeout 30 \\\n --body \"it worked\" \\\n --consultation_group on-call \\\n --notes \"The service name is my-cool-application\" \\\n --credentials 9991\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-managed-service" @@ -87972,9 +93595,9 @@ ] } ], - "summary": "Update a managed service", + "summary": "Update a managed service monitor", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -87994,7 +93617,7 @@ "x-linode-grant": "unrestricted only" }, "delete": { - "description": "Deletes a Managed Service. This service will no longer be monitored by Linode Managed.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-delete 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Deletes a service monitor, so that the service is no longer monitored by Linode Managed.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-delete 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-managed-service" @@ -88066,9 +93689,9 @@ ] } ], - "summary": "Delete a managed service", + "summary": "Delete a managed service monitor", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -88121,14 +93744,14 @@ } ], "x-akamai": { - "file-path": "paths/service.yaml", + "file-path": "paths/managed-service-monitor.yaml", "path-info": "/{apiVersion}/managed/services/{serviceId}" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/services/{serviceId}/disable": { "post": { - "description": "Temporarily disables monitoring of a Managed Service.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-disable 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Temporarily disables monitoring of a service on a managed Linode.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-disable 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-disable-managed-service" @@ -88312,9 +93935,9 @@ ] } ], - "summary": "Disable a managed service", + "summary": "Disable a managed service monitor", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -88367,14 +93990,14 @@ } ], "x-akamai": { - "file-path": "paths/disable.yaml", + "file-path": "paths/managed-service-monitor-disable.yaml", "path-info": "/{apiVersion}/managed/services/{serviceId}/disable" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/services/{serviceId}/enable": { "post": { - "description": "Enables monitoring of a Managed Service.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-enable 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Enables monitoring of a service on a managed Linode.\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed service-enable 9994\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-enable-managed-service" @@ -88558,9 +94181,9 @@ ] } ], - "summary": "Enable a managed service", + "summary": "Enable a managed service monitor", "tags": [ - "Services" + "Managed service monitors" ], "x-akamai": { "tabs": [ @@ -88613,14 +94236,14 @@ } ], "x-akamai": { - "file-path": "paths/service-enable.yaml", + "file-path": "paths/managed-service-monitor-enable.yaml", "path-info": "/{apiVersion}/managed/services/{serviceId}/enable" }, "x-linode-cli-command": "managed" }, "/{apiVersion}/managed/stats": { "get": { - "description": "Returns a list of Managed Stats on your Account in the form of x and y data points. You can use these data points to plot your own graph visualizations. These stats reflect the last 24 hours of combined usage across all managed Linodes on your account giving you a high-level snapshot of data for the following:\n\n- cpu\n- disk\n- swap\n- network in\n- network out\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed stats-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a list of metrics for the Linodes on your account in arrays of coordinates (_x_-axis and _y_-axis data points). You can use these data points to plot your own graph visualizations. These metrics reflect the last 24 hours of combined usage across all managed Linodes on your account, giving you a high-level snapshot of data for the following:\n\n- CPU\n- Disk I/O\n- Swap usage\n- Network in\n- Network out\n\nThis operation can only be accessed by the unrestricted users of an account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli managed stats-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-managed-stats" @@ -88800,7 +94423,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-managed-stats-200.yaml" + "file-path": "schemas/get-managed-stats-200.yaml" } }, "x-example": { @@ -88859,7 +94482,7 @@ ], "summary": "List managed stats", "tags": [ - "Statistics" + "Managed statistics" ], "x-akamai": { "tabs": [ @@ -90102,9 +95725,9 @@ }, "x-linode-cli-command": "monitor" }, - "/{apiVersion}/monitor/dashboards/{dashboard_id}": { + "/{apiVersion}/monitor/dashboards/{dashboardId}": { "get": { - "description": "__Beta__ Returns a specific dashboard, based on its unique ID. You can run the [List dashboards](https://techdocs.akamai.com/linode-api/reference/get-dashboards-all) operation to see the ID for all dashboards.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor dashboards-view 1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "__Beta__ Returns a specific dashboard, based on its unique identifier.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor dashboards-view 1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-dashboards-by-id" @@ -90369,10 +95992,10 @@ } }, { - "description": "Identifies each dashboard.", - "example": "{{dashboard_id}}", + "description": "The unique identifier of the dashboard.", + "example": "{{dashboardId}}", "in": "path", - "name": "dashboard_id", + "name": "dashboardId", "required": true, "schema": { "example": 12345, @@ -90385,7 +96008,7 @@ ], "x-akamai": { "file-path": "paths/aclp-get-dashboard-by-id.yaml", - "path-info": "/{apiVersion}/monitor/dashboards/{dashboard_id}" + "path-info": "/{apiVersion}/monitor/dashboards/{dashboardId}" }, "x-linode-cli-command": "monitor" }, @@ -90559,9 +96182,9 @@ }, "x-linode-cli-command": "monitor" }, - "/{apiVersion}/monitor/services/{service_type}": { + "/{apiVersion}/monitor/services/{serviceType}": { "get": { - "description": "__Beta__ Returns details for a specific service type. Include the appropriate `service_type` as a path parameter. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - For more details on the metrics available for each service, see the [Metrics reference](https://techdocs.akamai.com/cloud-computing/docs/metrics-dimensions-parameters).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor service-view dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "__Beta__ Returns details for a specific service type.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - For more details on the metrics available for each service, see the [Metrics reference](https://techdocs.akamai.com/cloud-computing/docs/metrics-dimensions-parameters).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor service-view dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-monitor-services-for-service-type" @@ -90723,10 +96346,10 @@ } }, { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -90739,13 +96362,13 @@ ], "x-akamai": { "file-path": "paths/aclp-get-metric-definition-for-service-type.yaml", - "path-info": "/{apiVersion}/monitor/services/{service_type}" + "path-info": "/{apiVersion}/monitor/services/{serviceType}" }, "x-linode-cli-command": "monitor" }, - "/{apiVersion}/monitor/services/{service_type}/alert-definitions": { + "/{apiVersion}/monitor/services/{serviceType}/alert-definitions": { "post": { - "description": "__Beta__ Create a new alert definition for a specific service type. Include the appropriate `service_type` as a path parameter. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation. These are referred to as `user` alerts. You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the selected `service_type`.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-create \\\n--channel_ids 546 \\\n--label CPU usage threshold maximum \\\n--rule_criteria.metric cpu_usage \\\n--rule_criteria.operator gt \\\n--rule_criteria.threshold 80 \\\n--severity 2\n--trigger_conditions.evaluation_period_seconds 300 \\\n--trigger_conditions.polling_interval_seconds 300 \\\n--trigger_conditions.trigger_occurrences 3 \\\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "__Beta__ Create a new alert definition for a specific service type. Akamai refers to these as `user` alerts. You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the selected `serviceType`. Check out this [workflow](https://techdocs.akamai.com/linode-api/reference/create-a-logs-stream) for the basics on set up of a destination and a stream to gather logs.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-create \\\n--channel_ids 546 \\\n--label CPU usage threshold maximum \\\n--rule_criteria.metric cpu_usage \\\n--rule_criteria.operator gt \\\n--rule_criteria.threshold 80 \\\n--severity 2\n--trigger_conditions.evaluation_period_seconds 300 \\\n--trigger_conditions.polling_interval_seconds 300 \\\n--trigger_conditions.trigger_occurrences 3 \\\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type" @@ -91413,7 +97036,7 @@ "x-linode-grant": "read_write" }, "get": { - "description": "__Beta__ Returns all available alert definitions for a specific service type. Include the appropriate `service_type` as a path parameter. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-view dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "__Beta__ Returns all available alert definitions for a specific service type.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts service-definitions-list dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-alert-definitions-for-service-type" @@ -91949,14 +97572,13 @@ "url": "https://techdocs.akamai.com/linode-api/reference/get-started#oauth" }, { - "syntax": "linode-cli alerts definition-view dbaas", + "syntax": "linode-cli alerts service-definitions-list dbaas", "title": "CLI", "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" } ] }, - "x-linode-cli-action": "definition-view", - "x-linode-cli-skip": true, + "x-linode-cli-action": "service-definitions-list", "x-linode-grant": "read_only" }, "parameters": [ @@ -91978,10 +97600,10 @@ } }, { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -91994,13 +97616,13 @@ ], "x-akamai": { "file-path": "paths/aclp-service-alert-definitions.yaml", - "path-info": "/{apiVersion}/monitor/services/{service_type}/alert-definitions" + "path-info": "/{apiVersion}/monitor/services/{serviceType}/alert-definitions" }, "x-linode-cli-command": "alerts" }, - "/{apiVersion}/monitor/services/{service_type}/alert-definitions/{alert_id}": { + "/{apiVersion}/monitor/services/{serviceType}/alert-definitions/{alertId}": { "get": { - "description": "__Beta__ Returns a specific alert definition. Include the appropriate `service_type` and `alert_id` as path parameters. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-view dbaas 457\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "__Beta__ Returns a specific alert definition.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-view dbaas 457\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-alert-definition" @@ -92451,7 +98073,7 @@ "x-linode-grant": "read_only" }, "put": { - "description": "__Beta__ Update an existing alert definition. Include the appropriate `service_type` and `alert_id` as path parameters. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation. You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the selected `service_type`. Only include the objects in the request that you want to update. Leave any object out of the request to leave it set as is.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n**User alert definitions**\n\nWhen updating an alert definition you've [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type), you can change the `status` to `enabled` or `disabled`. You can also modify the `label`, `description`, `severity`, `entity_ids`, `rule_criteria`, `trigger_conditions`, and `channel_ids` objects. If updating the `entity_ids`, `rule_criteria`, or `channel_ids` list objects, these points apply:\n\n- If you want to keep an existing item, you need to include it in the list.\n\n- If you want to remove an existing item, leave it out of the list.\n\n- To add a new item, include it in the list.\n\n- You can't pass an empty list to remove all items. This doesn't apply to the `entity_ids` or `dimension_filters` (in `rule_criteria`) list objects, because they are optional, while all other list objects are required.\n\n**System alert definitions**\n\nThese are the default alert definitions offered by Akamai. You can only edit the `entity_ids` list object for these alerts. All of the points above regarding editing a list object apply here, too.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-update dbaas 457 \\\n--status disabled \\\n--label Read-Write Channel (old)\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "__Beta__ Update an existing alert definition. You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the selected `serviceType`. Only include the objects in the request that you want to update. Leave any object out of the request to leave it set as is.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n**User alert definitions**\n\nWhen updating an alert definition you've [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type), you can change the `status` to `enabled` or `disabled`. You can also modify the `label`, `description`, `severity`, `entity_ids`, `rule_criteria`, `trigger_conditions`, and `channel_ids` objects. If updating the `entity_ids`, `rule_criteria`, or `channel_ids` list objects, these points apply:\n\n- If you want to keep an existing item, you need to include it in the list.\n\n- If you want to remove an existing item, leave it out of the list.\n\n- To add a new item, include it in the list.\n\n- You can't pass an empty list to remove all items. This doesn't apply to the `entity_ids` or `dimension_filters` (in `rule_criteria`) list objects, because they are optional, while all other list objects are required.\n\n**System alert definitions**\n\nThese are the default alert definitions offered by Akamai. You can only edit the `entity_ids` list object for these alerts. All of the points above regarding editing a list object apply here, too.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n monitor:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-update dbaas 457 \\\n--status disabled \\\n--label Read-Write Channel (old)\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-alert-definition" @@ -93122,7 +98744,7 @@ "x-linode-grant": "read_write" }, "delete": { - "description": "__Beta__ Delete a specific alert definition on your account. Include the appropriate `service_type` and `alert_id` as path parameters. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the target `service_type`.\n>\n> - An [alert definition](https://techdocs.akamai.com/linode-api/reference/get-alert-definitions) with a `type` of `system` can't be deleted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-delete dbaas 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "__Beta__ Delete a specific alert definition on your account.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the target `serviceType`.\n>\n> - An [alert definition](https://techdocs.akamai.com/linode-api/reference/get-alert-definitions) with a `type` of `system` can't be deleted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-delete dbaas 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-alert-definition" @@ -93235,10 +98857,10 @@ } }, { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -93250,9 +98872,9 @@ }, { "description": "The unique identifier assigned to the alert definition. Run the [List alert definitions](https://techdocs.akamai.com/linode-api/reference/get-alert-definitions) operation and store the `id` for the applicable alert definition.", - "example": "{{alert_id}}", + "example": "{{alertId}}", "in": "path", - "name": "alert_id", + "name": "alertId", "required": true, "schema": { "example": 457, @@ -93265,13 +98887,13 @@ ], "x-akamai": { "file-path": "paths/aclp-service-alert-definition.yaml", - "path-info": "/monitor/services/{service_type}/alert-definitions/{alert_id}" + "path-info": "/monitor/services/{serviceType}/alert-definitions/{alertId}" }, "x-linode-cli-command": "alerts" }, - "/{apiVersion}/monitor/services/{service_type}/dashboards": { + "/{apiVersion}/monitor/services/{serviceType}/dashboards": { "get": { - "description": "__Beta__ Returns all available dashboards for a given service type. Include the appropriate `service_type` as a path parameter. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor dashboards-list dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "__Beta__ Returns all available dashboards for a given service type.\n\n> \ud83d\udcd8\n>\n> This operation is beta. Call it using the `v4beta` path in its URL.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor dashboards-list dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-dashboards" @@ -93570,10 +99192,10 @@ } }, { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -93586,13 +99208,13 @@ ], "x-akamai": { "file-path": "paths/aclp-get-dashboards-by-service-type.yaml", - "path-info": "/{apiVersion}/monitor/services/{service_type}/dashboards" + "path-info": "/{apiVersion}/monitor/services/{serviceType}/dashboards" }, "x-linode-cli-command": "monitor" }, - "/{apiVersion}/monitor/services/{service_type}/metric-definitions": { + "/{apiVersion}/monitor/services/{serviceType}/metric-definitions": { "get": { - "description": "__Beta__ Returns metrics for a specific service type. Include the appropriate `service_type` as a path parameter. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - For more details on the metrics available for each service, see the [Metrics reference](https://techdocs.akamai.com/cloud-computing/docs/metrics-dimensions-parameters).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor metrics-list dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "__Beta__ Returns metrics for a specific service type.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - For more details on the metrics available for each service, see the [Metrics reference](https://techdocs.akamai.com/cloud-computing/docs/metrics-dimensions-parameters).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor metrics-list dbaas\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-monitor-information" @@ -93980,10 +99602,10 @@ } }, { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -93996,13 +99618,13 @@ ], "x-akamai": { "file-path": "paths/aclp-get-metrics-info.yaml", - "path-info": "/{apiVersion}/monitor/services/{service_type}/metric-definitions" + "path-info": "/{apiVersion}/monitor/services/{serviceType}/metric-definitions" }, "x-linode-cli-command": "monitor" }, - "/{apiVersion}/monitor/services/{service_type}/metrics": { + "/{apiVersion}/monitor/services/{serviceType}/metrics": { "post": { - "description": "__Beta__ Returns metrics information for the individual entities within a specific service type. Include the appropriate `service_type` as a path parameter. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation. Also requires an `authorization: Bearer` [token](https://techdocs.akamai.com/linode-api/reference/post-get-token) you've created for this `service_type`.\n\n> \ud83d\udcd8\n>\n> - This operation uses a different URL and version from standard Linode API operations. Verify you're using the URL with the `monitor-api.linode.com` hostname and include `v2beta` as the version in the URL.\n>\n> - For more details on the metrics available for each service, see the [Metrics reference](https://techdocs.akamai.com/cloud-computing/docs/metrics-dimensions-parameters).", + "description": "__Beta__ Returns metrics information for the individual entities within a specific service type. Thi operation also requires an `authorization: Bearer` [token](https://techdocs.akamai.com/linode-api/reference/post-get-token) you've created for this `serviceType`.\n\n> \ud83d\udcd8\n>\n> - This operation uses a different URL and version from standard Linode API operations. Verify you're using the URL with the `monitor-api.linode.com` hostname and include `v2beta` as the version in the URL.\n>\n> - For more details on the metrics available for each service, see the [Metrics reference](https://techdocs.akamai.com/cloud-computing/docs/metrics-dimensions-parameters).", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-read-metric" @@ -94618,10 +100240,10 @@ }, "parameters": [ { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -94651,13 +100273,13 @@ "x-akamai": { "auth-type": "JWT", "file-path": "paths/aclp-metric-read.yaml", - "path-info": "/{apiVersion}/monitor/services/{service_type}/metrics" + "path-info": "/{apiVersion}/monitor/services/{serviceType}/metrics" }, "x-linode-cli-command": "metric" }, - "/{apiVersion}/monitor/services/{service_type}/token": { + "/{apiVersion}/monitor/services/{serviceType}/token": { "post": { - "description": "__Beta__ Returns a token that authenticates requests for the entities within a specific service type. Include the appropriate `service_type` as a path parameter. The token has a lifetime of six hours after you create it. For an example of the token generation process, see [Authenticate Monitor API operations](https://techdocs.akamai.com/linode-api/reference/get-started#authenticate-monitor-api-operations).\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n>\n> - You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the selected `service_type`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor token-get dbaas \\\n--entity_ids 189690 \\\n--entity_ids 188020 --json\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only, :read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "__Beta__ Returns a token that authenticates requests for the entities within a specific service type. The token has a lifetime of six hours after you create it. For an example of the token generation process, see [Authenticate Monitor API operations](https://techdocs.akamai.com/linode-api/reference/get-started#authenticate-monitor-api-operations).\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation.\n>\n> - You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the specified `serviceType`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli monitor token-get dbaas \\\n--entity_ids 189690 \\\n--entity_ids 188020 --json\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n monitor:read_only, :read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-get-token" @@ -94814,10 +100436,10 @@ } }, { - "description": "The Akamai Cloud Computing service being monitored.", - "example": "{{service_type}}", + "description": "The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`.", + "example": "{{serviceType}}", "in": "path", - "name": "service_type", + "name": "serviceType", "required": true, "schema": { "example": "dbaas", @@ -94830,10 +100452,262 @@ ], "x-akamai": { "file-path": "paths/aclp-get-token.yaml", - "path-info": "/{apiVersion}/monitor/services/{service_type}/token" + "path-info": "/{apiVersion}/monitor/services/{serviceType}/token" }, "x-linode-cli-command": "monitor" }, + "/{apiVersion}/monitor/streams": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-streams.yaml", + "path-info": "/{apiVersion}/monitor/streams" + }, + "x-linode-cli-command": "streams" + }, + "/{apiVersion}/monitor/streams/destinations": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-stream-destinations.yaml", + "path-info": "/{apiVersion}/monitor/streams/destinations" + }, + "x-linode-cli-command": "streams" + }, + "/{apiVersion}/monitor/streams/destinations/{destinationId}": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + }, + { + "description": "The unique identifier assigned to the logs destination. Run the [List destinations](https://techdocs.akamai.com/linode-api/reference/get-destinations) operation and store the `id` for the applicable destination.", + "example": "{{destinationId}}", + "in": "path", + "name": "destinationId", + "required": true, + "schema": { + "example": 234, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/aclp-destination-id.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-stream-destination.yaml", + "path-info": "/{apiVersion}/monitor/streams/destinations/{destinationId}" + }, + "x-linode-cli-command": "streams" + }, + "/{apiVersion}/monitor/streams/destinations/{destinationId}/history": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + }, + { + "description": "The unique identifier assigned to the logs destination. Run the [List destinations](https://techdocs.akamai.com/linode-api/reference/get-destinations) operation and store the `id` for the applicable destination.", + "example": "{{destinationId}}", + "in": "path", + "name": "destinationId", + "required": true, + "schema": { + "example": 234, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/aclp-destination-id.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-stream-destination-history.yaml", + "path-info": "/{apiVersion}/monitor/streams/destinations/{destinationId}/history" + }, + "x-linode-cli-command": "streams" + }, + "/{apiVersion}/monitor/streams/{streamId}": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + }, + { + "description": "The unique identifier assigned to the stream. Run the [List streams](https://techdocs.akamai.com/linode-api/reference/get-streams) operation and store the `id` for the applicable stream.", + "example": "{{streamId}}", + "in": "path", + "name": "streamId", + "required": true, + "schema": { + "example": 890, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/aclp-stream-id.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-stream.yaml", + "path-info": "/{apiVersion}/monitor/streams/{streamId}" + }, + "x-linode-cli-command": "streams" + }, + "/{apiVersion}/monitor/streams/{streamId}/history": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + }, + { + "description": "The unique identifier assigned to the stream. Run the [List streams](https://techdocs.akamai.com/linode-api/reference/get-streams) operation and store the `id` for the applicable stream.", + "example": "{{streamId}}", + "in": "path", + "name": "streamId", + "required": true, + "schema": { + "example": 890, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/aclp-stream-id.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-stream-history.yaml", + "path-info": "/{apiVersion}/monitor/streams/{streamId}/history" + }, + "x-linode-cli-command": "streams" + }, + "/{apiVersion}/monitor/streams/{streamId}/stats": { + "parameters": [ + { + "description": "__Enum__ Call the `v4beta` URL for operations still only in beta.", + "example": "{{apiVersion}}", + "in": "path", + "name": "apiVersion", + "required": true, + "schema": { + "enum": [ + "v4beta" + ], + "example": "v4beta", + "type": "string" + }, + "x-akamai": { + "file-path": "parameters/api-version-v4beta-path.yaml" + } + }, + { + "description": "The unique identifier assigned to the stream. Run the [List streams](https://techdocs.akamai.com/linode-api/reference/get-streams) operation and store the `id` for the applicable stream.", + "example": "{{streamId}}", + "in": "path", + "name": "streamId", + "required": true, + "schema": { + "example": 890, + "type": "integer" + }, + "x-akamai": { + "file-path": "parameters/aclp-stream-id.yaml" + } + } + ], + "x-akamai": { + "file-path": "paths/aclp-stream-stats.yaml", + "path-info": "/{apiVersion}/monitor/streams/{streamId}/stats" + }, + "x-linode-cli-command": "streams" + }, "/{apiVersion}/network-transfer/prices": { "get": { "description": "Returns collection of network transfer prices, including any region-specific rates.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli network-transfer prices\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", @@ -95395,7 +101269,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -95855,7 +101729,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -96441,7 +102315,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -97232,7 +103106,7 @@ "x-linode-cli-format": "json" }, "inbound_policy": { - "description": "The default behavior for inbound traffic. The default behavior for inbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound` object's `action` field.", + "description": "The default behavior for inbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound` object's `action` field.", "enum": [ "ACCEPT", "DROP" @@ -97324,12 +103198,12 @@ "x-linode-cli-format": "json" }, "outbound_policy": { - "description": "The default behavior for outbound traffic. The default behavior for inbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound` object's `action` fields.", + "description": "The default behavior for outbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound` object's `action` fields.", "enum": [ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" } }, @@ -97763,7 +103637,7 @@ "x-linode-cli-format": "json" }, "inbound_policy": { - "description": "The default behavior for inbound traffic. The default behavior for inbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound` object's `action` field.", + "description": "The default behavior for inbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `inbound` object's `action` field.", "enum": [ "ACCEPT", "DROP" @@ -97855,12 +103729,12 @@ "x-linode-cli-format": "json" }, "outbound_policy": { - "description": "The default behavior for outbound traffic. The default behavior for inbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound` object's `action` fields.", + "description": "The default behavior for outbound traffic. You can override this setting by [updating](https://techdocs.akamai.com/linode-api/reference/put-firewall-rules) the `outbound` object's `action` fields.", "enum": [ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" } }, @@ -98363,7 +104237,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -98886,7 +104760,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -99160,7 +105034,7 @@ }, "/{apiVersion}/networking/firewalls/{firewallId}/devices": { "post": { - "description": "Creates a firewall device, which assigns a firewall to a service (referred to as the device's `entity`) and applies the firewall's rules to the device.\n\n- Currently, devices with `linode`, `linode_interfaces`, and `nodebalancer` entity types are accepted.\n - The `linode` type is not allowed for Linodes using Linode interfaces.\n - The `linode_interfaces` type is not allowed for legacy config interfaces. For VPC and public legacy config profile interfaces, the firewall is applied through the `linode` device.\n\n- Firewalls only apply to inbound TCP traffic to NodeBalancers.\n\n- A firewall can be assigned to multiple services at a time.\n\n- A service can have one assigned firewall at a time.\n\n- Assigned Linodes must not have any ongoing live migrations.\n\n- A `firewall_device_add` event is generated when the firewall device is added successfully.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls device-create 123 \\\n --id 456 \\\n --type \"linode\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a firewall device, which assigns a firewall to a service (referred to as the device's `entity`) and applies the firewall's rules to the device.\n\n- Currently, devices with `linode`, `linode_interface`, and `nodebalancer` entity types are accepted.\n - The `linode` type is not allowed for Linodes using Linode interfaces.\n - The `linode_interface` type is not allowed for legacy config interfaces. For VPC and public legacy config profile interfaces, the firewall is applied through the `linode` device.\n\n- Firewalls only apply to inbound TCP traffic to NodeBalancers.\n\n- A firewall can be assigned to multiple services at a time.\n\n- A service can have one assigned firewall at a time.\n\n- Assigned Linodes must not have any ongoing live migrations.\n\n- A `firewall_device_add` event is generated when the firewall device is added successfully.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli firewalls device-create 123 \\\n --id 456 \\\n --type \"linode\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n firewall:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-firewall-device" @@ -99231,7 +105105,7 @@ "enum": [ "linode", "nodebalancer", - "linode_interfaces" + "linode_interface" ], "example": "linode", "type": "string" @@ -99344,7 +105218,7 @@ "enum": [ "linode", "nodebalancer", - "linode_interfaces" + "linode_interface" ], "example": "linode", "type": "string" @@ -99552,8 +105426,8 @@ "type": "linode", "url": "/v4/linode/instances/5000" }, - "type": "linode_interfaces", - "url": "/v4/linode/instances/123/linode_interfaces/12345" + "type": "linode_interface", + "url": "/v4/linode/instances/123/linode_interface/12345" }, "id": 654, "updated": "2025-01-02 00:01:01" @@ -99637,7 +105511,7 @@ "enum": [ "linode", "nodebalancer", - "linode_interfaces" + "linode_interface" ], "example": "linode", "type": "string" @@ -99914,7 +105788,7 @@ "enum": [ "linode", "nodebalancer", - "linode_interfaces" + "linode_interface" ], "example": "linode", "type": "string" @@ -100511,7 +106385,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -101014,7 +106888,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -101406,7 +107280,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -101700,7 +107574,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -101939,7 +107813,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -120606,7 +126480,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -121236,7 +127110,7 @@ "ACCEPT", "DROP" ], - "example": "DROP", + "example": "ACCEPT", "type": "string" }, "version": { @@ -122126,7 +128000,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-object-storage-bucket.yaml" + "file-path": "schemas/post-object-storage-bucket.yaml" } }, "x-example": { @@ -122379,7 +128253,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-buckets-200.yaml" + "file-path": "schemas/get-object-storage-buckets-200.yaml" } }, "x-example": { @@ -122471,7 +128345,7 @@ } ], "x-akamai": { - "file-path": "paths/buckets.yaml", + "file-path": "paths/object-storage-buckets.yaml", "path-info": "/{apiVersion}/object-storage/buckets" } }, @@ -122580,7 +128454,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-bucketin-cluster-200.yaml" + "file-path": "schemas/get-object-storage-bucketin-cluster-200.yaml" } }, "x-example": { @@ -122686,7 +128560,7 @@ } ], "x-akamai": { - "file-path": "paths/buckets-region.yaml", + "file-path": "paths/object-storage-buckets-region.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}" } }, @@ -122972,7 +128846,7 @@ } ], "x-akamai": { - "file-path": "paths/bucket.yaml", + "file-path": "paths/object-storage-bucket.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}" } }, @@ -123010,7 +128884,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-object-storage-bucket-access.yaml" + "file-path": "schemas/post-object-storage-bucket-access.yaml" } }, "x-example": { @@ -123251,7 +129125,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-put-storage-bucket-access.yaml" + "file-path": "schemas/put-storage-bucket-access.yaml" } }, "x-example": { @@ -123388,7 +129262,7 @@ } ], "x-akamai": { - "file-path": "paths/access.yaml", + "file-path": "paths/object-storage-access.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/access" } }, @@ -123442,7 +129316,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-bucket-acl-200.yaml" + "file-path": "schemas/get-object-storage-bucket-acl-200.yaml" } }, "x-example": { @@ -123551,7 +129425,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-put-object-storage-bucket-acl.yaml" + "file-path": "schemas/put-object-storage-bucket-acl.yaml" } }, "x-example": { @@ -123688,7 +129562,7 @@ } ], "x-akamai": { - "file-path": "paths/object-acl.yaml", + "file-path": "paths/object-storage-object-acl.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-acl" } }, @@ -123817,7 +129691,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-bucket-content-200.yaml" + "file-path": "schemas/get-object-storage-bucket-content-200.yaml" } }, "x-example": { @@ -123936,7 +129810,7 @@ } ], "x-akamai": { - "file-path": "paths/object-list.yaml", + "file-path": "paths/object-storage-object-list.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-list" } }, @@ -123987,7 +129861,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-object-storage-object-url.yaml" + "file-path": "schemas/post-object-storage-object-url.yaml" } }, "x-example": { @@ -124012,7 +129886,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-object-storage-object-url-200.yaml" + "file-path": "schemas/post-object-storage-object-url-200.yaml" } }, "x-example": { @@ -124131,7 +130005,7 @@ } ], "x-akamai": { - "file-path": "paths/object-url.yaml", + "file-path": "paths/object-storage-object-url.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/object-url" } }, @@ -124512,7 +130386,7 @@ } ], "x-akamai": { - "file-path": "paths/bucket-ssl.yaml", + "file-path": "paths/object-storage-bucket-ssl.yaml", "path-info": "/{apiVersion}/object-storage/buckets/{regionId}/{bucket}/ssl" }, "x-linode-cli-command": "object-storage" @@ -124715,7 +130589,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-clusters-200.yaml" + "file-path": "schemas/get-object-storage-clusters-200.yaml" } }, "x-example": { @@ -125053,7 +130927,7 @@ } ], "x-akamai": { - "file-path": "schemas/added-get-object-storage-endpoints-200.yaml" + "file-path": "schemas/get-object-storage-endpoints-200.yaml" } } } @@ -125154,7 +131028,7 @@ }, "/{apiVersion}/object-storage/keys": { "post": { - "description": "Provisions a new Object Storage key for authentication. A successful request triggers an `obj_access_key_create` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n> \ud83d\udcd8\n>\n> - Accounts with negative balances can't access this operation.\n>\n> - This operation has specific [rate limits](https://techdocs.akamai.com/linode-api/reference/rate-limits#specific-operation-rate-limits).\n\n**Create an unlimited access key**\n\nThis type of key grants full access to all of your buckets in each region you name, using the `regions` array. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation, verify that each desired region includes `\"Object Storage\"` among its `capabilities`, and store the `id` value for each. Leave the `bucket_access` array out to create an unlimited access key.\n\nCheck out this [example workflow](https://techdocs.akamai.com/linode-api/reference/create-an-unlimited-access-key) for an unlimited access key.\n\n**Create a limited access key**\n\nThis type of key lets you name specific buckets where you need to manage content. In the `bucket_access` array, include individual objects for each bucket, comprised of the target `bucket_name`, the `permissions` level for access to the bucket, and the `region` where the bucket lives. Run the [List Object Storage buckets](https://techdocs.akamai.com/linode-api/reference/get-object-storage-buckets) operation and store the `label`, to use as the `bucket_name`, and the `region` for each. With a limited access key, the parent-level `regions` array isn't required.\n\nCheck out this [example workflow](https://techdocs.akamai.com/linode-api/reference/create-a-limited-access-key) for a limited access key.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-create \\\n --label \"my-object-storage-key\" \\\n --bucket_access '[{\"region\": \"ap-south\", \"bucket_name\": \"bucket-example-1\", \"permissions\": \"read_write\" }]'\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Generates a new Object Storage access key and an associated secret key. The secret key is only displayed when the access key is generated and cannot be viewed again. A successful request triggers an `obj_access_key_create` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n> \ud83d\udcd8\n>\n> - Accounts with negative balances can't access this operation.\n>\n> - This operation has specific [rate limits](https://techdocs.akamai.com/linode-api/reference/rate-limits#specific-operation-rate-limits).\n\n**Unlimited vs. limited access keys**\n\nAn unlimited access key grants full access to all of your buckets in each region you name, using the `regions` array. A limited access key lets you name specific buckets where you need to manage content, using the `bucket_access` array.\n\n> \ud83d\udc4d There's a tutorial\n>\n> We offer workflows for both an [unlimited access key](https://techdocs.akamai.com/linode-api/reference/create-an-unlimited-access-key) and a [limited access key](https://techdocs.akamai.com/linode-api/reference/create-a-limited-access-key).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-create \\\n --label \"my-object-storage-key\" \\\n --bucket_access '[{\"region\": \"ap-south\", \"bucket_name\": \"bucket-example-1\", \"permissions\": \"read_write\" }]'\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-object-storage-keys" @@ -125464,7 +131338,7 @@ } } }, - "description": "The new Object Storage key. *This is the only time* the `secret_key` is returned." + "description": "The new Object Storage access key. *This is the only time* the `secret_key` is returned." }, "default": { "content": { @@ -125513,9 +131387,9 @@ ] } ], - "summary": "Create an Object Storage key", + "summary": "Create an Object Storage access key", "tags": [ - "Keys" + "Access keys" ], "x-akamai": { "tabs": [ @@ -125534,7 +131408,7 @@ "x-linode-cli-action": "keys-create" }, "get": { - "description": "Returns a paginated list of Object Storage keys for authentication.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of Object Storage access keys for authentication.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-object-storage-keys" @@ -125702,7 +131576,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-keys-200.yaml" + "file-path": "schemas/get-object-storage-keys-200.yaml" } } } @@ -125756,9 +131630,9 @@ ] } ], - "summary": "List Object Storage keys", + "summary": "List Object Storage access keys", "tags": [ - "Keys" + "Access keys" ], "x-akamai": { "tabs": [ @@ -125803,7 +131677,7 @@ }, "/{apiVersion}/object-storage/keys/{keyId}": { "get": { - "description": "Returns a single Object Storage key provisioned for your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-view \\\n --keyId 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a single Object Storage access key.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-view \\\n --keyId 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-object-storage-key" @@ -125988,9 +131862,9 @@ ] } ], - "summary": "Get an Object Storage key", + "summary": "Get an Object Storage access key", "tags": [ - "Keys" + "Access keys" ], "x-akamai": { "tabs": [ @@ -126009,7 +131883,7 @@ "x-linode-cli-action": "keys-view" }, "put": { - "description": "Updates an Object Storage key on your account. A successful request triggers an `obj_access_key_update` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n> \ud83d\udcd8\n>\n> This operation has specific [rate limits](https://techdocs.akamai.com/linode-api/reference/rate-limits#specific-operation-rate-limits).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-update \\\n --keyId 12345\n --label \"my-object-storage-key\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Updates an Object Storage access key on your account. A successful request triggers an `obj_access_key_update` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n> \ud83d\udcd8\n>\n> This operation has specific [rate limits](https://techdocs.akamai.com/linode-api/reference/rate-limits#specific-operation-rate-limits).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-update \\\n --keyId 12345\n --label \"my-object-storage-key\"\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-object-storage-key" @@ -126196,9 +132070,9 @@ ] } ], - "summary": "Update an Object Storage key", + "summary": "Update an Object Storage access key", "tags": [ - "Keys" + "Access keys" ], "x-akamai": { "tabs": [ @@ -126217,7 +132091,7 @@ "x-linode-cli-action": "keys-update" }, "delete": { - "description": "Revokes an Object Storage Key. This key pair will no longer be usable by third-party clients. A successful request triggers an `obj_access_key_delete` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n> \ud83d\udcd8\n>\n> This operation has specific [rate limits](https://techdocs.akamai.com/linode-api/reference/rate-limits#specific-operation-rate-limits).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-delete 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Revokes an Object Storage access key. Once revoked, the access key can no longer be used by third-party clients. A successful request triggers an `obj_access_key_delete` [event](https://techdocs.akamai.com/linode-api/reference/get-events).\n\n> \ud83d\udcd8\n>\n> This operation has specific [rate limits](https://techdocs.akamai.com/linode-api/reference/rate-limits#specific-operation-rate-limits).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage keys-delete 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-object-storage-key" @@ -126289,9 +132163,9 @@ ] } ], - "summary": "Revoke an Object Storage key", + "summary": "Revoke an Object Storage access key", "tags": [ - "Keys" + "Access keys" ], "x-akamai": { "tabs": [ @@ -126350,7 +132224,7 @@ }, "/{apiVersion}/object-storage/quotas": { "get": { - "description": "Returns the active Object Storage-related quotas applied to your account. For example, you may have a quota maximum for the number of buckets you can have on a single endpoint. The operation includes any quota overrides in the response.\n\n> \ud83d\udcd8\n>\n> You can't combine parameters when [filtering](https://techdocs.akamai.com/linode-api/reference//filtering-and-sorting) with this operation. Only a single filterable parameter can be used.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage quotas-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns the active Object Storage-related quotas applied to your account. For example, you may have a quota maximum for the number of buckets you can have on a single endpoint. The operation includes any quota overrides in the response.\n\n> \ud83d\udcd8\n>\n> You can't combine parameters when [filtering](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with this operation. Only a single filterable parameter can be used.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage quotas-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-object-storage-quotas" @@ -126598,7 +132472,7 @@ }, "x-linode-cli-command": "object-storage" }, - "/{apiVersion}/object-storage/quotas/{object-storage-quotaId}": { + "/{apiVersion}/object-storage/quotas/{objQuotaId}": { "get": { "description": "Returns information about a specific Object Storage-related quota on your account. The operation includes any quota overrides in the response.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage quota-view obj-objects-us-ord-1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { @@ -126793,9 +132667,9 @@ }, { "description": "The unique string that identifies the specific Object Storage-related quota to look up. This follows the pattern, `obj--`, for example, `obj-buckets-eu-central-1.linodeobjects.com`.", - "example": "{{object-storage-quotaId}}", + "example": "{{objQuotaId}}", "in": "path", - "name": "object-storage-quotaId", + "name": "objQuotaId", "required": true, "schema": { "example": "obj-buckets-eu-central-1.linodeobjects.com", @@ -126808,13 +132682,13 @@ ], "x-akamai": { "file-path": "paths/object-storage-quota.yaml", - "path-info": "/{apiVersion}/object-storage/quotas/{object-storage-quotaId}" + "path-info": "/{apiVersion}/object-storage/quotas/{objQuotaId}" }, "x-linode-cli-command": "object-storage" }, - "/{apiVersion}/object-storage/quotas/{object-storage-quotaId}/usage": { + "/{apiVersion}/object-storage/quotas/{objQuotaId}/usage": { "get": { - "description": "Returns usage data for a specific `object-storage-quotaId`. This includes the maximum number of `object-storage-quotaId` resources you can have for a single endpoint and the current usage for that resource.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage quota-usage-view obj-objects-us-ord-1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns usage data for a specific `objQuotaId`. This includes the maximum number of `objQuotaId` resources you can have for a single endpoint and the current usage for that resource.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli object-storage quota-usage-view obj-objects-us-ord-1\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n object_storage:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-object-storage-quota-usage" @@ -126833,7 +132707,7 @@ "description": "Usage data for a specific Object Storage-related quota on your account.", "properties": { "quota_limit": { - "description": "The availability limit for a specific Object Storage resource (`object-storage-quotaId`) for a single endpoint.", + "description": "The availability limit for a specific Object Storage resource (`objQuotaId`) for a single endpoint.", "example": 100, "type": "integer", "x-linode-cli-display": 1 @@ -126853,7 +132727,7 @@ } } }, - "description": "Usage data for the specified `object-storage-quotaId`." + "description": "Usage data for the specified `objQuotaId`." }, "default": { "content": { @@ -126945,9 +132819,9 @@ }, { "description": "The unique string that identifies the specific Object Storage-related quota to look up. This follows the pattern, `obj--`, for example, `obj-buckets-eu-central-1.linodeobjects.com`.", - "example": "{{object-storage-quotaId}}", + "example": "{{objQuotaId}}", "in": "path", - "name": "object-storage-quotaId", + "name": "objQuotaId", "required": true, "schema": { "example": "obj-buckets-eu-central-1.linodeobjects.com", @@ -126960,7 +132834,7 @@ ], "x-akamai": { "file-path": "paths/object-storage-quota-usage.yaml", - "path-info": "/{apiVersion}/object-storage/quotas/{object-storage-quotaId}/usage" + "path-info": "/{apiVersion}/object-storage/quotas/{objQuotaId}/usage" }, "x-linode-cli-command": "object-storage" }, @@ -126989,7 +132863,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-object-storage-transfer-200.yaml" + "file-path": "schemas/get-object-storage-transfer-200.yaml" } }, "x-example": { @@ -127327,7 +133201,7 @@ }, "/{apiVersion}/placement/groups": { "post": { - "description": "Creates a placement group on your account. Placement groups disperse your Linodes across physical machines (hosts) in one of our compute regions. Depending on your workload requirements, you may need your Linodes to follow specific strategies:\n\n- __Grouped together__. You may want them placed close together to reduce latency between Linodes that are used for an application or workload.\n\n- __Spread apart__. You may want to disperse them across several hosts to support high availability, for example when required for failover.\n\nWe offer an [example API workflow](https://techdocs.akamai.com/cloud-computing/docs/work-with-placement-groups#use-the-api) you can follow to create a placement group.\n\n> \ud83d\udcd8\n>\n> To run this operation, your user needs the `add_linodes` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants). Talk to your local account administrator about grant management for your user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli placement group-create \\\n --label PG_Miami_failover \\\n --region us-mia \\\n --placement_group_type \"anti-affinity:local\" \\\n --placement_group_policy strict\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a placement group on your account. Placement groups disperse your Linodes across physical machines (hosts) in one of our compute regions. Depending on your workload requirements, you may need your Linodes to follow specific strategies:\n\n- __Grouped together__. You may want them placed close together to reduce latency between Linodes that are used for an application or workload.\n\n- __Spread apart__. You may want to disperse them across several hosts to support high availability, for example when required for failover.\n\nTo run this operation, your user needs the `add_linodes` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants). Talk to your local account administrator about grant management for your user.\n\n> \ud83d\udc4d There's a tutorial\n>\n> We offer an example API [workflow](https://techdocs.akamai.com/linode-api/reference/create-a-placement-group) you can follow to create a placement group and add Linodes to it.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli placement group-create \\\n --label PG_Miami_failover \\\n --region us-mia \\\n --placement_group_type \"anti-affinity:local\" \\\n --placement_group_policy strict\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-placement-group" @@ -127556,7 +133430,7 @@ ] } ], - "summary": "Create placement group", + "summary": "Create a placement group", "tags": [ "Placement groups" ], @@ -128417,7 +134291,7 @@ }, "/{apiVersion}/placement/groups/{groupId}/assign": { "post": { - "description": "Add a Linode to your placement group. Check out our [example API workflow](https://techdocs.akamai.com/cloud-computing/docs/work-with-placement-groups#use-the-api) to create a placement group and add Linodes.\n\n> \ud83d\udcd8\n>\n> To run this operation, your user needs the `add_linodes` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants) and `read-write` [permission](https://techdocs.akamai.com/linode-api/reference/get-user-grants) to the Linodes you want to add to the group. Talk to your local account administrator about grant and permissions management.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli placement assign-linode 528 \\\n --linodes 123 456 \\\n --non-compliant true\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Add a Linode to your placement group. Check out our [example API workflow](https://techdocs.akamai.com/linode-api/reference/create-a-placement-group) to create a placement group and add Linodes.\n\n> \ud83d\udcd8\n>\n> Your user needs the `add_linodes` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants) and `read-write` [permission](https://techdocs.akamai.com/linode-api/reference/get-user-grants) to the Linodes you want to add to the group. Talk to your local account administrator about grant and permissions management.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli placement assign-linode 528 \\\n --linodes 123 456 \\\n --non-compliant true\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n linodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-group-add-linode" @@ -129536,7 +135410,7 @@ }, "/{apiVersion}/profile/apps": { "get": { - "description": "This is a collection of OAuth apps that you've given access to your Account, and includes the level of access granted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile apps-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "This is a collection of OAuth apps that you've given access to your account, and includes the level of access granted.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile apps-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-profile-apps" @@ -129690,7 +135564,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-profile-apps-200.yaml" + "file-path": "schemas/get-profile-apps-200.yaml" } }, "x-example": { @@ -129749,7 +135623,7 @@ ], "summary": "List authorized apps", "tags": [ - "Apps" + "OAuth apps" ], "x-akamai": { "tabs": [ @@ -129787,14 +135661,14 @@ } ], "x-akamai": { - "file-path": "paths/apps.yaml", + "file-path": "paths/profile-apps.yaml", "path-info": "/{apiVersion}/profile/apps" }, "x-linode-cli-command": "profile" }, "/{apiVersion}/profile/apps/{appId}": { "get": { - "description": "Returns information about a single app you've authorized to access your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile app-view 1234\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns information about a single app you've authorized to access your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile app-view 1234\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-profile-app" @@ -129943,7 +135817,7 @@ ], "summary": "Get an authorized app", "tags": [ - "Apps" + "OAuth apps" ], "x-akamai": { "tabs": [ @@ -129962,7 +135836,7 @@ "x-linode-cli-action": "app-view" }, "delete": { - "description": "Expires this app token. This token may no longer be used to access your Account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile app-delete 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Expires this app token. This token can no longer be used to access your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile app-delete 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-profile-app" @@ -130036,7 +135910,7 @@ ], "summary": "Revoke app access", "tags": [ - "Apps" + "OAuth apps" ], "x-akamai": { "tabs": [ @@ -130088,14 +135962,14 @@ } ], "x-akamai": { - "file-path": "paths/app.yaml", + "file-path": "paths/profile-app.yaml", "path-info": "/{apiVersion}/profile/apps/{appId}" }, "x-linode-cli-command": "profile" }, "/{apiVersion}/profile/devices": { "get": { - "description": "Returns a paginated list of active TrustedDevices for your User. Browsers with an active Remember Me Session are logged into your account until the session expires or is revoked.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile devices-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of active trusted devices for your user. Browsers with an active Remember Me Session are logged into your account until the session expires or is revoked.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile devices-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-devices" @@ -130181,7 +136055,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-devices-200.yaml" + "file-path": "schemas/get-devices-200.yaml" } }, "x-example": { @@ -130240,7 +136114,7 @@ ], "summary": "List trusted devices", "tags": [ - "Devices" + "Trusted devices" ], "x-akamai": { "tabs": [ @@ -130285,7 +136159,7 @@ }, "/{apiVersion}/profile/devices/{deviceId}": { "get": { - "description": "Returns a single active TrustedDevice for your User.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile device-view 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a single active trusted device for your user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile device-view 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-trusted-device" @@ -130400,7 +136274,7 @@ ], "summary": "Get a trusted device", "tags": [ - "Devices" + "Trusted devices" ], "x-akamai": { "tabs": [ @@ -130419,7 +136293,7 @@ "x-linode-cli-action": "device-view" }, "delete": { - "description": "Revoke an active TrustedDevice for your User. Once a TrustedDevice is revoked, this device will have to log in again before accessing your Linode account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile device-revoke 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Revoke an active trusted device for your user. Once a trusted device is revoked, this device will have to log in again before accessing your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile device-revoke 123\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-trusted-device" @@ -130493,7 +136367,7 @@ ], "summary": "Revoke a trusted device", "tags": [ - "Devices" + "Trusted devices" ], "x-akamai": { "tabs": [ @@ -131189,7 +137063,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-profile-logins-200.yaml" + "file-path": "schemas/get-profile-logins-200.yaml" } }, "x-example": { @@ -131506,7 +137380,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-profile-phone-number.yaml" + "file-path": "schemas/post-profile-phone-number.yaml" } }, "x-example": { @@ -131717,7 +137591,7 @@ } ], "x-akamai": { - "file-path": "paths/phone-number.yaml", + "file-path": "paths/profile-phone.yaml", "path-info": "/{apiVersion}/profile/phone-number" }, "x-linode-cli-command": "phone" @@ -131747,7 +137621,7 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-profile-phone-number-verify.yaml" + "file-path": "schemas/post-profile-phone-number-verify.yaml" } }, "x-example": { @@ -131864,7 +137738,7 @@ } ], "x-akamai": { - "file-path": "paths/verify.yaml", + "file-path": "paths/profile-phone-verify.yaml", "path-info": "/{apiVersion}/profile/phone-number/verify" }, "x-linode-cli-command": "phone" @@ -131948,7 +137822,7 @@ ], "summary": "Get user preferences", "tags": [ - "Preferences" + "OAuth preferences" ], "x-akamai": { "tabs": [ @@ -132060,7 +137934,7 @@ ], "summary": "Update a user's preferences", "tags": [ - "Preferences" + "OAuth preferences" ], "x-akamai": { "tabs": [ @@ -132094,7 +137968,7 @@ } ], "x-akamai": { - "file-path": "paths/preferences.yaml", + "file-path": "paths/profile-oauth-preferences.yaml", "path-info": "/{apiVersion}/profile/preferences" }, "x-linode-cli-command": "profile" @@ -132436,7 +138310,7 @@ } ], "x-akamai": { - "file-path": "paths/security-questions.yaml", + "file-path": "paths/profile-security-questions.yaml", "path-info": "/{apiVersion}/profile/security-questions" }, "x-linode-cli-command": "security-questions" @@ -132717,7 +138591,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-ssh-keys-200.yaml" + "file-path": "schemas/get-ssh-keys-200.yaml" } }, "x-example": { @@ -132968,7 +138842,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-put-ssh-key.yaml" + "file-path": "schemas/put-ssh-key.yaml" } }, "x-example": { @@ -133230,7 +139104,7 @@ }, "/{apiVersion}/profile/tfa-disable": { "post": { - "description": "Disables Two Factor Authentication for your User. Once successful, login attempts from untrusted computers will only require a password before being successful. This is less secure, and is discouraged.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tfa-disable\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Disables two-factor authentication (2FA) for your user. Once successful, login attempts from untrusted computers will only require a password. Keep 2FA enabled to protect your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tfa-disable\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-tfa-disable" @@ -133302,9 +139176,9 @@ ] } ], - "summary": "Disable two factor authentication", + "summary": "Disable two-factor authentication", "tags": [ - "Two factor authentication" + "Two-factor authentication" ], "x-akamai": { "tabs": [ @@ -133342,14 +139216,14 @@ } ], "x-akamai": { - "file-path": "paths/tfa-disable.yaml", + "file-path": "paths/profile-tfa-disable.yaml", "path-info": "/{apiVersion}/profile/tfa-disable" }, "x-linode-cli-command": "profile" }, "/{apiVersion}/profile/tfa-enable": { "post": { - "description": "Generates a Two Factor secret for your User. To enable TFA for your User, enter the secret obtained from this operation with the [Enable two factor authentication](https://techdocs.akamai.com/linode-api/reference/post-tfa-confirm) operation. Once enabled, logins from untrusted computers are required to provide a TFA code before they are successful.\n\nRun the [Answer security questions](https://techdocs.akamai.com/linode-api/reference/post-security-questions) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tfa-enable\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Generates a secret key for your user. To enable two-factor authentication (2FA), enter this secret into your third-party authenticator application. To complete the 2FA setup, use the [Enable two-factor authentication](https://techdocs.akamai.com/linode-api/reference/post-tfa-confirm) operation to enter a one-time passcode (OTP) from your authenticator app. Once enabled, logins from untrusted computers are required to provide an OTP before they are successful.\n\nRun the [Answer security questions](https://techdocs.akamai.com/linode-api/reference/post-security-questions) operation.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tfa-enable\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-tfa-enable" @@ -133376,7 +139250,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-tfa-enable-200.yaml" + "file-path": "schemas/post-tfa-enable-200.yaml" } }, "x-example": { @@ -133384,7 +139258,7 @@ } } }, - "description": "Two Factor secret generated." + "description": "Secret key generated." }, "default": { "content": { @@ -133433,9 +139307,9 @@ ] } ], - "summary": "Create a two factor secret", + "summary": "Generate a secret key for two-factor authentication", "tags": [ - "Two factor authentication" + "Two-factor authentication" ], "x-akamai": { "tabs": [ @@ -133473,14 +139347,14 @@ } ], "x-akamai": { - "file-path": "paths/tfa-enable.yaml", + "file-path": "paths/profile-tfa-enable.yaml", "path-info": "/{apiVersion}/profile/tfa-enable" }, "x-linode-cli-command": "profile" }, "/{apiVersion}/profile/tfa-enable-confirm": { "post": { - "description": "Confirms that you can successfully generate Two Factor codes and enables TFA on your Account. Once this is complete, login attempts from untrusted computers will be required to provide a Two Factor code before they are successful.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tfa-confirm \\\n --tfa_code 213456\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Confirms that you can successfully generate one-time codes. Once confirmed, 2FA is enabled on your account. Login attempts from untrusted computers will be required to provide a one-time code before they are successful.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli profile tfa-confirm \\\n --tfa_code 213456\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-tfa-confirm" @@ -133500,7 +139374,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-tfa-confirm.yaml" + "file-path": "schemas/post-tfa-confirm.yaml" } }, "x-example": { @@ -133508,7 +139382,7 @@ } } }, - "description": "The Two Factor code you generated with your Two Factor secret.", + "description": "The one-time code you generated with your 2FA secret key.", "required": true }, "responses": { @@ -133526,7 +139400,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-tfa-confirm-200.yaml" + "file-path": "schemas/post-tfa-confirm-200.yaml" } }, "x-example": { @@ -133583,9 +139457,9 @@ ] } ], - "summary": "Enable two factor authentication", + "summary": "Enable two-factor authentication", "tags": [ - "Two factor authentication" + "Two-factor authentication" ], "x-akamai": { "tabs": [ @@ -133623,7 +139497,7 @@ } ], "x-akamai": { - "file-path": "paths/tfa-enable-confirm.yaml", + "file-path": "paths/profile-tfa-enable-confirm.yaml", "path-info": "/{apiVersion}/profile/tfa-enable-confirm" }, "x-linode-cli-command": "profile" @@ -133672,7 +139546,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-post-personal-access-token.yaml" + "file-path": "schemas/post-personal-access-token.yaml" } }, "x-example": { @@ -133935,7 +139809,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-personal-access-tokens-200.yaml" + "file-path": "schemas/get-personal-access-tokens-200.yaml" } }, "x-example": { @@ -135276,13 +141150,13 @@ } }, { - "description": "ID of the Region to look up.", + "description": "The abbreviated value (\"slug\") for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", "example": "{{regionId}}", "in": "path", "name": "regionId", "required": true, "schema": { - "example": "us-east", + "example": "us-iad", "type": "string" }, "x-akamai": { @@ -135438,13 +141312,13 @@ } }, { - "description": "ID of the Region to look up.", + "description": "The abbreviated value (\"slug\") for the applicable data center. Run the [List regions](https://techdocs.akamai.com/linode-api/reference/get-regions) operation to view the slug for each data center.", "example": "{{regionId}}", "in": "path", "name": "regionId", "required": true, "schema": { - "example": "us-east", + "example": "us-iad", "type": "string" }, "x-akamai": { @@ -137951,11 +143825,11 @@ { "description": "An Image ID to deploy the Linode Disk from.\n\nRun the [List images](https://techdocs.akamai.com/linode-api/reference/get-images) operation with authentication to view all available Images. Official Linode Images start with `linode/`, while your Account's Images start with `private/`. Creating a disk from a Private Image requires `read_only` or `read_write` permissions for that Image. Run the [Update a user's grants](https://techdocs.akamai.com/linode-api/reference/put-user-grants) operation to adjust permissions for an Account Image.", "example": "linode/debian9", + "nullable": true, "type": "string" } ], "example": "linode/debian10", - "nullable": true, "readOnly": true, "x-akamai": { "labels": [ @@ -138377,7 +144251,7 @@ "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -138416,6 +144290,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -138447,13 +144327,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -138496,7 +144376,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -138939,7 +144819,7 @@ }, "/{apiVersion}/volumes": { "post": { - "description": "Creates a volume on your account. For this to complete, you need the `add_volumes` grant. Creating a new volume accrues additional charges on your account.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes create \\\n --label my-volume \\\n --size 20 \\\n --linode_id 12346 \\\n --encryption enabled \\\n --no-defaults\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Creates a [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-block-storage) volume on your account. Creating a new volume accrues additional charges on your account.\n\n> \ud83d\udcd8\n>\n> To run this operation, your user needs the `add_volume` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes create \\\n --label my-volume \\\n --size 20 \\\n --linode_id 12346 \\\n --encryption enabled \\\n --no-defaults\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-volume" @@ -138948,6 +144828,18 @@ "requestBody": { "content": { "application/json": { + "example": { + "config_id": 23456, + "encryption": "enabled", + "label": "Video-file-storage", + "linode_id": 12346, + "region": "us-iad", + "size": 30, + "tags": [ + "blk-stg-volume-1", + "videos-storage" + ] + }, "schema": { "additionalProperties": false, "properties": { @@ -139016,13 +144908,9 @@ "x-akamai": { "file-path": "schemas/added-post-volume.yaml" } - }, - "x-example": { - "x-ref": "../examples/post-volume.json" } } }, - "description": "The requested initial state of a new Volume.", "required": true, "x-linode-cli-allowed-defaults": [ "region" @@ -139032,13 +144920,32 @@ "200": { "content": { "application/json": { + "example": { + "created": "2025-01-01T00:01:01", + "encryption": "enabled", + "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume", + "hardware_type": "nvme", + "id": 12345, + "io_ready": true, + "label": "Video-file-storage", + "linode_id": 12346, + "linode_label": "linode123", + "region": "us-iad", + "size": 30, + "status": "active", + "tags": [ + "blk-stg-volume-1", + "videos-storage" + ], + "updated": "2025-01-01T00:01:01" + }, "schema": { "additionalProperties": false, "description": "A Block Storage volume on your account.", "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -139077,6 +144984,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -139108,13 +145021,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -139157,7 +145070,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -139168,13 +145081,10 @@ "x-akamai": { "file-path": "schemas/volume.yaml" } - }, - "x-example": { - "x-ref": "../examples/post-volume-200.json" } } }, - "description": "Creating Volume." + "description": "Creating volume." }, "default": { "content": { @@ -139246,7 +145156,7 @@ "x-linode-grant": "add_volumes" }, "get": { - "description": "Returns a paginated list of Volumes you have permission to view.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of the Block Storage volumes that you have permission to view.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-volumes" @@ -139290,6 +145200,32 @@ "200": { "content": { "application/json": { + "example": { + "data": [ + { + "created": "2025-01-01T00:01:01", + "encryption": "enabled", + "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume", + "hardware_type": "nvme", + "id": 12345, + "io_ready": true, + "label": "Video-file-storage", + "linode_id": 12346, + "linode_label": "linode123", + "region": "us-iad", + "size": 30, + "status": "active", + "tags": [ + "blk-stg-volume-1", + "videos-storage" + ], + "updated": "2025-01-01T00:01:01" + } + ], + "page": 1, + "pages": 1, + "results": 1 + }, "schema": { "additionalProperties": false, "properties": { @@ -139300,7 +145236,7 @@ "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -139339,6 +145275,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -139370,13 +145312,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -139419,7 +145361,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -139454,15 +145396,12 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/added-get-volumes-200.yaml" + "file-path": "schemas/volumes.yaml" } - }, - "x-example": { - "x-ref": "../examples/get-volumes-200.json" } } }, - "description": "Returns an array of all Volumes on your Account." + "description": "The Block Storage volumes on your account are returned." }, "default": { "content": { @@ -139562,7 +145501,7 @@ }, "/{apiVersion}/volumes/types": { "get": { - "description": "Returns volume types and prices, including any region-specific rates.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes types\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "Returns Block Storage volume types and prices, including any region-specific rates.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes types\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-volume-types" @@ -139572,6 +145511,29 @@ "200": { "content": { "application/json": { + "example": { + "data": [ + { + "id": "volume", + "label": "Storage Volume", + "price": { + "hourly": 0.0015, + "monthly": 0.1 + }, + "region_prices": [ + { + "hourly": 0.00018, + "id": "us-iad", + "monthly": 0.12 + } + ], + "transfer": 0 + } + ], + "page": 1, + "pages": 1, + "results": 1 + }, "schema": { "additionalProperties": false, "properties": { @@ -139703,11 +145665,8 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/get-volumes-types-200.yaml" + "file-path": "schemas/volume-types.yaml" } - }, - "x-example": { - "x-ref": "../examples/get-volumes-types-200.json" } } }, @@ -139793,7 +145752,7 @@ }, "/{apiVersion}/volumes/{volumeId}": { "get": { - "description": "Get information about a single Volume.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes view 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Get information about a specific Block Storage volume.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes view 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-volume" @@ -139837,13 +145796,32 @@ "200": { "content": { "application/json": { + "example": { + "created": "2025-01-01T00:01:01", + "encryption": "enabled", + "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume", + "hardware_type": "nvme", + "id": 12345, + "io_ready": true, + "label": "Video-file-storage", + "linode_id": 12346, + "linode_label": "linode123", + "region": "us-iad", + "size": 30, + "status": "active", + "tags": [ + "blk-stg-volume-1", + "videos-storage" + ], + "updated": "2025-01-01T00:01:01" + }, "schema": { "additionalProperties": false, "description": "A Block Storage volume on your account.", "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -139882,6 +145860,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -139913,13 +145897,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -139962,7 +145946,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -139973,13 +145957,10 @@ "x-akamai": { "file-path": "schemas/volume.yaml" } - }, - "x-example": { - "x-ref": "../examples/get-volume-200.json" } } }, - "description": "Returns a single Volume object.", + "description": "Returns a single volume object.", "links": { "attach": { "operationId": "post-attach-volume", @@ -140076,7 +146057,7 @@ "x-linode-grant": "read_only" }, "put": { - "description": "Updates a Volume that you have permission to `read_write`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes update 12345 \\\n --label my_volume\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Update a Block Storage volume that you have permission to `read_write`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes update 12345 \\\n --label my_volume\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-volume" @@ -140093,7 +146074,7 @@ "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140132,6 +146113,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -140163,13 +146150,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -140212,7 +146199,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140245,7 +146232,6 @@ } } }, - "description": "If any updated field fails to pass validation, the Volume will not be updated.", "required": true }, "responses": { @@ -140258,7 +146244,7 @@ "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140297,6 +146283,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -140328,13 +146320,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -140377,7 +146369,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140394,7 +146386,7 @@ } } }, - "description": "The updated Volume." + "description": "The volume was updated successfully." }, "default": { "content": { @@ -140465,7 +146457,7 @@ "x-linode-grant": "read_write" }, "delete": { - "description": "Deletes a Volume you have permission to `read_write`.\n\n- __Deleting a Volume is a destructive action and cannot be undone.__\n\n- Deleting stops billing for the Volume. You will be billed for time used within the billing period the Volume was active.\n\n- Volumes that are migrating cannot be deleted until the migration is finished.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes delete 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Deletes a specified Block Storage volume that you have permission to `read_write`.\n\n- Deleting a volume can't be undone.\n\n- Deleting stops billing for the volume. You'll be billed for the time the volume was active during the current billing period.\n\n- You can't delete a volume that's currently being migrated. You need to wait for the migration to complete.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes delete 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-volume" @@ -140580,7 +146572,7 @@ } }, { - "description": "ID of the Volume to look up.", + "description": "The unique identifier for the target volume. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation and store the `id` for the target volume as your `volumeId`.", "example": "{{volumeId}}", "in": "path", "name": "volumeId", @@ -140590,7 +146582,7 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/volume-id-path-a4b5473e.yaml" + "file-path": "parameters/volume-id.yaml" } } ], @@ -140602,7 +146594,7 @@ }, "/{apiVersion}/volumes/{volumeId}/attach": { "post": { - "description": "Attaches a Volume on your Account to an existing Linode on your Account. In order for this request to complete successfully, your User must have `read_write` permission to the Volume and `read_write` permission to the Linode. Additionally, the Volume and Linode must be located in the same Region.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes attach 12345 \\\n --linode_id 12346 \\\n --config_id 23456\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Attach a Block Storage volume to an existing Linode.\n\n> \ud83d\udcd8\n>\n> - To run this operation, your user needs the `read-write` permission to both the volume and the Linode you want to add it to.\n>\n> - The volume and its target Linode need to exist in the same `region`. You can run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) and [List Linodes](https://techdocs.akamai.com/linode-api/reference/get-linode-instances) operations and review the `region` for each.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes attach 12345 \\\n --linode_id 12346 \\\n --config_id 23456\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-attach-volume" @@ -140611,21 +146603,27 @@ "requestBody": { "content": { "application/json": { + "example": { + "config_id": 23456, + "linode_id": 12346, + "persist_across_boots": true + }, "schema": { "additionalProperties": false, "properties": { "config_id": { - "description": "The ID of the Linode Config to include this Volume in. Must belong to the Linode referenced by `linode_id`. If not given, the last booted Config will be chosen.", + "description": "The unique identifier assigned to the Linode configuration where you want to include this volume. Run the [List configuration profiles](https://techdocs.akamai.com/linode-api/reference/get-linode-configs) operation and store the `id` for the target configuration.\n\n> \ud83d\udcd8\n>\n> - The configuration needs to belong to the Linode referenced by `linode_id`.\n>\n> - If you don't include this value, the API uses the last booted configuration.", "example": "{{config_id}}", "type": "integer" }, "linode_id": { - "description": "The ID of the Linode to attach the volume to.", + "description": "The unique identifier assigned to the Linode where you want to attach the volume. Run the [List Linodes](https://techdocs.akamai.com/linode-api/reference/get-linode-instances) operation and store the `id` for the target Linode.", "example": "{{linode_id}}", "type": "integer" }, "persist_across_boots": { - "description": "Defaults to `true`, If `false` is provided, the Volume will not be attached to the Linode Config. In this case more than 8 Volumes may be attached to a Linode if a Linode has 16GB of RAM or more. The number of volumes that can be attached is equal to the number of GB of RAM that the Linode has, up to a maximum of 64. `config_id` should not be passed if this is set to `false` and `linode_id` must be passed. The Linode must be running.", + "default": true, + "description": "If set to `false`, the volume won't be attached to the Linode configuration. In this case, more than eight volumes may be attached to a Linode if a Linode has 16GB of RAM or more. The number of volumes you can attach is equal to the number of GB of RAM that the Linode has, up to a maximum of 64. If you set this to `false`, you can't include a `config_id` and only the `linode_id` should be passed.\n\n> \ud83d\udcd8\n>\n> To use this object, the target `linode_id` needs to have a status of `running`. Run the [List Linodes](https://techdocs.akamai.com/linode-api/reference/get-linode-instances) operation to check the `status` of each Linode.", "example": "{{persist_across_boots}}", "type": "boolean" } @@ -140635,28 +146633,43 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-attach-volume.yaml" + "file-path": "schemas/volume-attach.yaml" } - }, - "x-example": { - "x-ref": "../examples/post-attach-volume.json" } } }, - "description": "Volume to attach to a Linode.", "required": true }, "responses": { "200": { "content": { "application/json": { + "example": { + "created": "2025-01-01T00:01:01", + "encryption": "enabled", + "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume", + "hardware_type": "nvme", + "id": 12345, + "io_ready": true, + "label": "Video-file-storage", + "linode_id": 12346, + "linode_label": "linode123", + "region": "us-iad", + "size": 30, + "status": "active", + "tags": [ + "blk-stg-volume-1", + "videos-storage" + ], + "updated": "2025-01-01T00:01:01" + }, "schema": { "additionalProperties": false, "description": "A Block Storage volume on your account.", "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140695,6 +146708,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -140726,13 +146745,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -140775,7 +146794,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140786,13 +146805,10 @@ "x-akamai": { "file-path": "schemas/volume.yaml" } - }, - "x-example": { - "x-ref": "../examples/post-attach-volume-200.json" } } }, - "description": "Volume was attached to a Linode." + "description": "The volume was attached to a Linode." }, "default": { "content": { @@ -140881,7 +146897,7 @@ } }, { - "description": "ID of the Volume to attach.", + "description": "The unique identifier for the target volume. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation and store the `id` for the target volume as your `volumeId`.", "example": "{{volumeId}}", "in": "path", "name": "volumeId", @@ -140891,19 +146907,19 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/volume-id-path-62b4501e.yaml" + "file-path": "parameters/volume-id.yaml" } } ], "x-akamai": { - "file-path": "paths/attach.yaml", + "file-path": "paths/volume-attach.yaml", "path-info": "/{apiVersion}/volumes/{volumeId}/attach" }, "x-linode-cli-command": "volumes" }, "/{apiVersion}/volumes/{volumeId}/clone": { "post": { - "description": "Creates a Volume on your Account. In order for this request to complete successfully, your User must have the `add_volumes` grant. The new Volume will have the same size and data as the source Volume. Creating a new Volume will incur a charge on your Account.\n\n- Only Volumes with a `status` of `active` can be cloned.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes clone 12345 \\\n --label my-volume\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Target an existing Block Storage volume to create a new one, that's the same size and includes the same data. A new volume will incur a charge on your account.\n\n> \ud83d\udcd8\n>\n> - To run this operation, your user needs the `add_volume` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n>\n> - Only a volume with a `status` of `active` can be cloned. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation to view the `status` of each of your volumes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes clone 12345 \\\n --label my-volume\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-clone-volume" @@ -140912,23 +146928,19 @@ "requestBody": { "content": { "application/json": { + "example": { + "label": "cloned-my-volume" + }, "schema": { "additionalProperties": false, "properties": { "label": { - "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", + "description": "The name of the new volume after the clone. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "{{label}}", "maxLength": 32, "minLength": 1, "pattern": "^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$", - "type": "string", - "x-akamai": { - "labels": [ - "Filterable" - ] - }, - "x-linode-cli-display": 2, - "x-linode-filterable": true + "type": "string" } }, "required": [ @@ -140936,28 +146948,43 @@ ], "type": "object", "x-akamai": { - "file-path": "schemas/added-post-clone-volume.yaml" + "file-path": "schemas/volume-clone.yaml" } - }, - "x-example": { - "x-ref": "../examples/post-clone-volume.json" } } }, - "description": "The requested state your Volume will be cloned into.", "required": true }, "responses": { "200": { "content": { "application/json": { + "example": { + "created": "2025-01-01T00:01:01", + "encryption": "enabled", + "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume", + "hardware_type": "nvme", + "id": 12345, + "io_ready": true, + "label": "Video-file-storage", + "linode_id": 12346, + "linode_label": "linode123", + "region": "us-iad", + "size": 30, + "status": "active", + "tags": [ + "blk-stg-volume-1", + "videos-storage" + ], + "updated": "2025-01-01T00:01:01" + }, "schema": { "additionalProperties": false, "description": "A Block Storage volume on your account.", "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -140996,6 +147023,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -141027,13 +147060,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -141076,7 +147109,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -141087,9 +147120,6 @@ "x-akamai": { "file-path": "schemas/volume.yaml" } - }, - "x-example": { - "x-ref": "../examples/post-clone-volume-200.json" } } }, @@ -141183,7 +147213,7 @@ } }, { - "description": "ID of the Volume to clone.", + "description": "The unique identifier for the target volume. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation and store the `id` for the target volume as your `volumeId`.", "example": "{{volumeId}}", "in": "path", "name": "volumeId", @@ -141193,7 +147223,7 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/volume-id-path-1f2bbcd1.yaml" + "file-path": "parameters/volume-id.yaml" } } ], @@ -141205,7 +147235,7 @@ }, "/{apiVersion}/volumes/{volumeId}/detach": { "post": { - "description": "Detaches a Volume on your Account from a Linode on your Account. In order for this request to complete successfully, your User must have `read_write` access to the Volume and `read_write` access to the Linode.\n\nVolumes are automatically detached from deleted Linodes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes detach 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Detach a Block Storage volume from a Linode. When you [delete](https://techdocs.akamai.com/linode-api/reference/delete-linode-instance) a Linode, any volumes attached to it are automatically detached.\n\n> \ud83d\udcd8\n>\n> To run this operation, your user needs the `read-write` permission to both the volume and the Linode you want to detach it from.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes detach 12345\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\nlinodes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-detach-volume" @@ -141317,7 +147347,7 @@ } }, { - "description": "ID of the Volume to detach.", + "description": "The unique identifier for the target volume. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation and store the `id` for the target volume as your `volumeId`.", "example": "{{volumeId}}", "in": "path", "name": "volumeId", @@ -141327,19 +147357,19 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/volume-id-path-e125a1de.yaml" + "file-path": "parameters/volume-id.yaml" } } ], "x-akamai": { - "file-path": "paths/detach.yaml", + "file-path": "paths/volume-detach.yaml", "path-info": "/{apiVersion}/volumes/{volumeId}/detach" }, "x-linode-cli-command": "volumes" }, "/{apiVersion}/volumes/{volumeId}/resize": { "post": { - "description": "Resize an existing Volume on your Account. In order for this request to complete successfully, your User must have the `read_write` permissions to the Volume.\n\n- Volumes can only be resized up.\n- Only Volumes with a `status` of \"active\" can be resized.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes resize 12345 \\\n --size 30\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Increase the size of an existing Block Storage volume on your account.\n\n> \ud83d\udcd8\n>\n> - To run this operation, your user needs the `add_volume` [grant](https://techdocs.akamai.com/linode-api/reference/get-user-grants).\n>\n> - You can't decrease the size of an existing volume.\n>\n> - Only a volume with a `status` of `active` can be resized. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation to view the `status` of each of your volumes.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli volumes resize 12345 \\\n --size 30\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __OAuth scopes__.\n\n ```\n volumes:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-resize-volume" @@ -141352,7 +147382,7 @@ "additionalProperties": false, "properties": { "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": "{{size}}", "maximum": 10240, "type": "integer", @@ -141385,7 +147415,7 @@ "properties": { "created": { "description": "__Read-only__ When this volume was created.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -141424,6 +147454,12 @@ "type": "integer", "x-linode-cli-display": 1 }, + "io_ready": { + "description": "__Read-only__ Indicates whether the volume is successfully attached to a Linode and ready for read and write operations.", + "example": true, + "readOnly": true, + "type": "boolean" + }, "label": { "description": "__Filterable__ The name of the volume. A `label` can be up to 32 characters long and contain alphanumeric characters, hyphens, and underscores. This value is also used in the volume's `filesystem_path`.", "example": "my-volume", @@ -141455,13 +147491,13 @@ "x-linode-cli-display": 7 }, "region": { - "description": "The unique ID of this Region.", - "example": "us-east", + "description": "The unique identifier for the region where the volume lives.", + "example": "us-iad", "type": "string", "x-linode-cli-display": 5 }, "size": { - "description": "The Volume's size, in GiB.", + "description": "The volume's size, in gigabytes.", "example": 30, "maximum": 10240, "type": "integer", @@ -141504,7 +147540,7 @@ }, "updated": { "description": "__Read-only__ When this volume was last updated.", - "example": "2018-01-01T00:01:01", + "example": "2025-01-01T00:01:01", "format": "date-time", "readOnly": true, "type": "string" @@ -141610,7 +147646,7 @@ } }, { - "description": "ID of the Volume to resize.", + "description": "The unique identifier for the target volume. Run the [List volumes](https://techdocs.akamai.com/linode-api/reference/get-volumes) operation and store the `id` for the target volume as your `volumeId`.", "example": "{{volumeId}}", "in": "path", "name": "volumeId", @@ -141620,7 +147656,7 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/volume-id-path-e4f0f1b5.yaml" + "file-path": "parameters/volume-id.yaml" } } ], @@ -145185,23 +151221,111 @@ ], "tags": [ { - "description": "Use the Account endpoints to manage user settings, billing, and payments. You can also initiate and maintain OAuth client application authentication, enable the Linode Managed service, and create new users on your account.", + "description": "Use account operations to review and update details about your Akamai Connected Cloud account, including billing information, promotions, and your specific information.", "name": "Account" }, { - "description": "Use the Beta Programs endpoint to view information about available beta programs. To sign up for eligible beta programs, run the _Enroll in a Beta program_ operation.", + "description": "Use these operations to review the services available for use with your account.", + "name": "Account availability" + }, + { + "description": "Account settings applies to various services available on your account, including Backups, Linode Interfaces, a Longview subscription, Maintenance Policy, our Managed service, Network Helper, and Object Storage. Use these operations to review the services available and update some of them on your account. Talk to your Akamai account team for full details.", + "name": "Account settings" + }, + { + "description": "Use these operations to review and manage any agreements you need to acknowledge to use the API's services.", + "name": "Account agreements" + }, + { + "description": "Used to manage transfer objects that show your network utilization.", + "name": "Account transfer" + }, + { + "description": "Use the Beta Programs operations to view information about available beta programs and sign up to participate in them.", "name": "Beta programs" }, { - "description": "Managed Databases is Linode's fully-managed, high-performance database service. Use the Managed Databases endpoints to create and manage database clusters.", + "description": "Child accounts let you, as an Akamai partner (a parent account holder), switch between and manage your end customers' accounts (child accounts). Talk to your account team about [setting up a parent-child account environment](https://techdocs.akamai.com/cloud-computing/docs/parent-and-child-accounts-for-akamai-partners). Once in place, you can use these operations to review your child accounts and create tokens for your use as a parent, on a child account.", + "name": "Child accounts" + }, + { + "description": "These legacy operations are available to review and manage the transfer of one entity to another. These operations have been deprecated. Use the Service transfers category operations instead.", + "name": "Entity transfers" + }, + { + "description": "An event represents an action you've taken on your account, over the last 90 days. Use these operations to review your current events.", + "name": "Events" + }, + { + "description": "Review invoice and billing data for services on your account.", + "name": "Invoices" + }, + { + "description": "Use these operations to review successful login data.", + "name": "Logins" + }, + { + "description": "Review details on scheduled maintenance for your Akamai Cloud Computing services.", + "name": "Maintenances" + }, + { + "description": "Review notifications that represent important, often time-sensitive details about your account.", + "name": "Notifications" + }, + { + "description": "Use an OAuth client to allow users (using their Akamai Cloud Computing account) to log in to your own application, and optionally grant your application some amount of access to their Akamai Cloud Computing services.", + "name": "OAuth clients" + }, + { + "description": "Use these operations to review and manage the payment method you've set up to pay your invoices.", + "name": "Payment methods" + }, + { + "description": "Use these operations to view current payment due information and make a payment.", + "name": "Payments" + }, + { + "description": "Use these operations to manage any promotional codes you've been granted for special offers.", + "name": "Promo credits" + }, + { + "description": "Use these operations to manage transfer requests for specific Akamai Cloud Computing services. For example, you could request a service transfer to move a Linode from one region to another. Service transfers have replaced Entity transfers, which have been deprecated.", + "name": "Service transfers" + }, + { + "description": "Users are individuals on your account that you set up to perform specific tasks. Use these operations to view and manage users, including giving them various levels of access to the services on your account.", + "name": "Users" + }, + { + "description": "Managed Databases is Akamai's fully-managed, high-performance database service. Use the Managed Databases operations to create and manage clusters for MySQL and PostgreSQL databases.", "name": "Databases" }, + { + "description": "Use these operations to view your available Managed Databases engine types and versions, for both MySQL and PostgreSQL format databases.", + "name": "Engines" + }, + { + "description": "Use these operations to view the advanced parameters you can apply to a MySQL or PostgreSQL Managed Database, via our partner [Aiven](https://aiven.io/docs/products/mysql/reference/advanced-params).", + "name": "Advanced parameters" + }, + { + "description": "Use these operations to manage the username and password values used to access your MySQL or PostgreSQL Managed Database.", + "name": "Credentials" + }, + { + "description": "Use these operations to view the SSL CA certificate for an accessible MySQL or PostgreSQL Managed Database", + "name": "SSL certificates" + }, + { + "description": "Use these operations to view node type details for each of your Managed Databases.", + "name": "Types" + }, { "description": "Use the Domains endpoints to create and manage domains and domain records on your account.", "name": "Domains" }, { - "description": "Use the Images endpoints to capture, store, and manage custom Linode images.", + "description": "Use the Images endpoints to capture, store, share, and manage custom Linode images.", "name": "Images" }, { @@ -145248,10 +151372,6 @@ "description": "Use a placement group to distribute your compute instances in a single core compute region, to meet your need. You can group them together to reduce latency or spread them apart to promote high-availability.", "name": "Placement groups" }, - { - "description": "Use the images/sharegroups endpoints to create, update, and delete images share groups.", - "name": "Private Image Sharing" - }, { "description": "Use the Profile endpoints to manage your Linode user profile preferences and security settings. This includes creating and maintaining personal access tokens, creating and maintaining SSH keys, confirming and enabling two-factor authentication, and updating user and profile preferences.", "name": "Profile" @@ -145281,12 +151401,208 @@ "name": "VPCs" }, { - "description": "Use the maintenance endpoints to view maintenance policies that are available for your Linodes.", + "description": "The Backups service lets you enable automatic backups of the disks on your Linodes. Use these operations to manage your backups.", + "name": "Backups" + }, + { + "description": "A configuration profile establishes the disk layout, kernel installation, and other specifics for a Linode. This is the legacy method used to define a Linode's makeup, and it does not include networking interfaces. Use the Configuration profile interfaces operations to update an existing Linode to include interfaces options. Or, create a new Linode and use the Linode interfaces operations to include network interfaces.", + "name": "Configuration profiles" + }, + { + "description": "Use these operations to upgrade and manage a legacy configuration profile on your Linode to include networking interfaces.", + "name": "Configuration profile interfaces" + }, + { + "description": "Use these operations to manage the individual disks on your Linode.", + "name": "Disks" + }, + { + "description": "Use these operations to manage the firewalls applied to your Linodes.", + "name": "Firewalls" + }, + { + "description": "A Linode interface lets you set up networking on your Linode. A Linode interface links to the Linode, rather than to a legacy configuration profile. Use these operations to manage the Linode interfaces on your Linodes.", + "name": "Linode interfaces" + }, + { + "description": "Use these operations to view and manage the IP addresses assigned to your Linodes.", + "name": "IP addresses" + }, + { + "description": "Use these operations to review various statistics for your Linodes.", + "name": "Statistics" + }, + { + "description": "Use these operations to review information for the Linux kernels on your Linodes.", + "name": "Kernels" + }, + { + "description": "Create and manage Kubernetes clusters on LKE (Linode Kubernetes Engine).", + "name": "Clusters" + }, + { + "description": "View and manage access control lists (ACLs) for the control planes on your LKE clusters. Control Plane ACLs allow you to restrict access to your cluster's control plane to specific IP addresses or ranges.", + "name": "Control Plane ACL" + }, + { + "description": "View the Kubernetes Dashboard URLs for your LKE clusters, which provides a web-based user interface for managing and monitoring each Kubernetes cluster.", + "name": "Cluster dashboard" + }, + { + "description": "View or regenerate the kubeconfig files for your LKE clusters, which authenticate and configure access to your Kubernetes clusters.", + "name": "Kubeconfigs" + }, + { + "description": "View, recycle, and delete nodes within your LKE clusters. Nodes are the worker machines in your Kubernetes cluster that run your containerized applications.", + "name": "Nodes" + }, + { + "description": "Create, manage, and configure node pools within your LKE clusters. Node pools allow you to group nodes with similar configurations and manage them collectively.", + "name": "Node pools" + }, + { + "description": "Regenerate service account tokens for your LKE clusters, which are used by the cluster's control plane components and Linode CSI drivers to authenticate with the Kubernetes API server.", + "name": "LKE service tokens" + }, + { + "description": "View the Kubernetes versions available for deployment on your LKE clusters.", + "name": "LKE versions" + }, + { + "description": "View the LKE tiers (types) available for your Kubernetes clusters. The cluster tier determines the control plane configuration and features available for your cluster.", + "name": "LKE types" + }, + { + "description": "View the API endpoints for your LKE clusters.", + "name": "LKE API Endpoints" + }, + { + "description": "Create an manage Longview Clients to monitor the performance and health of your Linode instances and other servers.", + "name": "Longview clients" + }, + { + "description": "Get details on your current Longview plan subscription and, if needed, update your plan.", + "name": "Longview plans" + }, + { + "description": "Get publicly-accessible information about the Longview plans available on Akamai Cloud, including the number of supported clients.", + "name": "Longview subscriptions" + }, + { + "description": "Get publicly-accessible information about the Longview plans available on Akamai Cloud, including network transfer and region-specific pricing.", + "name": "Longview types" + }, + { + "description": "Use the maintenance operations to view maintenance policies that are available for your Linodes.", "name": "Maintenance" }, { - "description": "Use the Monitor endpoints to view Dashboards and Metrics", - "name": "Monitor" + "description": "Create and manage contacts associated with Linode Managed, who can be notified about issues with your managed Linodes.", + "name": "Managed contacts" + }, + { + "description": "Create and manage credentials used by Linode Managed to access your Linodes for support and maintenance.", + "name": "Managed credentials" + }, + { + "description": "View the unique SSH public key assigned to your Linode Managed account.", + "name": "Managed SSH keys" + }, + { + "description": "View details about issues detected on your managed Linodes and their resolution status.", + "name": "Managed issues" + }, + { + "description": "View and update settings related to Linode Managed for each of your Linodes.", + "name": "Managed Linode settings" + }, + { + "description": "Create and configure the service monitors that are used to check the health of your managed Linodes.", + "name": "Managed service monitors" + }, + { + "description": "View key metrics for your managed Linodes, including CPU usage, disk I/O, and network transfer.", + "name": "Managed statistics" + }, + { + "description": "Akamai Cloud Pulse automatically collects and stores performance metrics for your cloud services. You can view them through dashboards and inspect them at the entity level. Metrics data provides insights into the health, behavior, and performance of your cloud resources.", + "name": "Metrics" + }, + { + "description": "Akamai Cloud Pulse lets you configure alerts to monitor key metrics and events in real time and automatically trigger notifications or actions when predefined thresholds or conditions are met.", + "name": "Alerts" + }, + { + "description": "Akamai Cloud Pulse lets you capture log data across multiple Akamai Cloud services and deliver it to the destination of your choice. These logs can help you improve operational efficiency, enhance security, ensure compliance, and reduce the overhead of managing your Akamai Cloud services.", + "name": "Logs" + }, + { + "description": "Buckets are the primary containers within Object Storage. Each bucket stores your files (objects) and lets you access or share those files. Use these operations to create and manage buckets, as well as the objects in them.", + "name": "Buckets" + }, + { + "description": "You can set up TLS/SSL certificates to secure the connection to the domain you set up for your Object Storage buckets. Use these operations to add, view, and delete these certificates.", + "name": "TLS/SSL certificates" + }, + { + "description": "An endpoint is the S3-compatible URL to an Object Storage bucket. Use these operations to review details about your endpoints.", + "name": "Endpoints" + }, + { + "description": "Object Storage keys are used to authenticate access to your Object Storage buckets. Use these operations to create, view, update, and revoke these keys.", + "name": "Access keys" + }, + { + "description": "View authorized apps that have been granted access to your account. You can also revoke access for any authorized app.", + "name": "OAuth apps" + }, + { + "description": "View details about trusted devices associated with your user account. If needed, you can revoke a trusted device so any future login attempts from that device will go through the full authentication process.", + "name": "Trusted devices" + }, + { + "description": "View the grants (permissions) available to your user account.", + "name": "Grants" + }, + { + "description": "Operations to verify and delete the phone number associated with your user account, which is used to send SMS messages as a form of two-factor authentication (2FA).", + "name": "Phone number" + }, + { + "description": "View and update user preferences tied to OAuth clients.", + "name": "OAuth preferences" + }, + { + "description": "View and configure security questions for your user account. Security questions can be used to help verify your identity when contacting Akamai Support.", + "name": "Security questions" + }, + { + "description": "Manage SSH keys for your user account. When creating a Linode, you can choose to have one or more SSH keys automatically added to the new Linode for secure access.", + "name": "SSH keys" + }, + { + "description": "Enable or disable two-factor authentication (2FA) on your user account to prevent unauthorized logins.", + "name": "Two-factor authentication" + }, + { + "description": "Manage personal access tokens for your user account. Personal access tokens can be used for authentication with the Linode API.", + "name": "Personal access tokens" + }, + { + "description": "Use these operations to open, view, and close support tickets, when you need assistance from Akamai.", + "name": "Support tickets" + }, + { + "description": "Mange any attachments you may need to include with your support tickets, such as log entry files and screenshot images.", + "name": "Attachments" + }, + { + "description": "Use these operations to create and view replies to correspondence for your support tickets.", + "name": "Replies" + }, + { + "description": "Use these operations to review the available Block Storage volume types, including pricing.", + "name": "Volume types" } ], "x-readme": {