From d4a7b509849c518f00fd0997a046bfd93b23bdc7 Mon Sep 17 00:00:00 2001 From: Matt Wildman Date: Wed, 10 Sep 2025 09:40:25 -0400 Subject: [PATCH] Update openapi.json file (2025-09-10) --- openapi.json | 4713 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 3490 insertions(+), 1223 deletions(-) diff --git a/openapi.json b/openapi.json index 2a87c176e..90a630ea4 100644 --- a/openapi.json +++ b/openapi.json @@ -726,6 +726,19 @@ "type": "string", "x-linode-cli-display": 2 }, + "maintenance_policy": { + "description": "__Beta__ Defines the default maintenance policy for new Linodes created on this account. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + }, + "x-linode-cli-display": 7 + }, "managed": { "description": "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time.", "example": true, @@ -1821,17 +1834,42 @@ "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 being affected by maintenance.", + "description": "The entity affected by the maintenance.", "properties": { "id": { - "description": "The id of the entity being affected by maintenance.", + "description": "The unique identifier of the entity targeted by the maintenance.", "example": 1234, "type": "number" }, "label": { - "description": "The label of the entity being affected by maintenance.", + "description": "The name of the entity targeted by the maintenance.", "example": "demo-linode", "type": "string" }, @@ -1841,24 +1879,77 @@ "type": "string" }, "url": { - "description": "The API endpoint prefix to use in combination with the entity id to find specific information about the entity.", + "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.\n\nMaintenance progresses in the following sequence: pending, started, then completed.", + "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": [ - "completed", "pending", - "started" + "scheduled", + "started", + "in-progress", + "completed", + "canceled" ], "example": "started", "type": "string", @@ -1874,7 +1965,9 @@ "enum": [ "reboot", "cold_migration", - "live_migration" + "live_migration", + "migrate", + "power_off_on" ], "example": "reboot", "type": "string", @@ -1886,7 +1979,7 @@ "x-linode-filterable": true }, "when": { - "description": "__Filterable__ When the maintenance will begin.\n\n[Filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with the following parameters:\n\n- A single value in date-time string format (`%Y-%m-%dT%H:%M:%S`), which returns only matches to that value.\n\n- A dictionary containing pairs of inequality operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single date-time string format values (`%Y-%m-%dT%H:%M:%S`). `+or` accepts an array of values that may consist of single date-time strings or dictionaries of inequality operator pairs.", + "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", @@ -1938,15 +2031,15 @@ "description": "An important, often time-sensitive item related to your account.", "properties": { "body": { - "description": "__Read-only__ A full description of this notification, in markdown format. Not all notifications include a `body`.", + "description": "A full description of this notification, in markdown format. Not all notifications include a `body`. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "nullable": true, - "readOnly": true, "type": "string" }, "entity": { "additionalProperties": false, - "description": "__Read-only__ Detailed information about the notification.", + "description": "Detailed information about the notification. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "nullable": true, "properties": { "id": { "description": "The unique ID of the notification's entity, based on the entity type. Returns `null` for an `account` or `promotion` entity.", @@ -1955,13 +2048,13 @@ "type": "integer" }, "label": { - "description": "The current label for this notification's entity.\n\nReturns `null` for the following entity types:\n\n- `entity_transfer`\n- `promotion`\n- `region`", + "description": "The current name of this notification's entity. Returns `null` for the following `entity` types:\n\n- `entity_transfer`\n\n- `promotion`\n\n- `region`", "example": "Linode not booting.", "nullable": true, "type": "string" }, "type": { - "description": "The type of entity this is related to.", + "description": "__Filterable__ The type of entity this is related to. An entity can be product or service-specific, such as a `linode`, `loadbalancers`, or `nodebalancers`. It can apply to a specific component, such as your `account`, a specific `promotion` your participating in, a data center (`region`) where you're using services, a transfer from one component to another (an `entity_transfer`), a support `ticket` you've opened, or a `volume` on a specific Linode.", "enum": [ "account", "entity_transfer", @@ -1974,7 +2067,13 @@ "volume" ], "example": "ticket", - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "url": { "description": "The URL where you can access the notification's object. The URL is relative to the domain where you retrieved the notification. This value is `null` for the `promotion` entity type.", @@ -1983,32 +2082,28 @@ "type": "string" } }, - "readOnly": true, "type": "object" }, "label": { - "description": "__Read-only__ A short description of this notification.", + "description": "A short description of this notification.", "example": "You have an important ticket open!", - "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, "message": { - "description": "__Read-only__ A human-readable description of the notification.", + "description": "A human-readable description of the notification.", "example": "You have an important ticket open!", - "readOnly": true, "type": "string", "x-linode-cli-display": 2 }, "severity": { - "description": "__Read-only__ The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", + "description": "The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", "enum": [ "minor", "major", "critical" ], "example": "major", - "readOnly": true, "type": "string", "x-linode-cli-color": { "critical": "b", @@ -2018,7 +2113,7 @@ "x-linode-cli-display": 3 }, "type": { - "description": "__Read-only__ The type of notification.", + "description": "__Filterable__ The type of notification.\n\n> \ud83d\udcd8\n>\n> A `security_reboot_maintenance_scheduled` event is a global notice that a Linode needs to be rebooted for QEMU upgrade maintenance. Have a look at [this workflow](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance) for guidance on reboooting your Linodes for this maintenance.", "enum": [ "migration_scheduled", "migration_imminent", @@ -2030,19 +2125,25 @@ "ticket_abuse", "notice", "maintenance", + "maintenance_scheduled", "promotion", + "security_reboot_maintenance_scheduled", "tax_id_verifying" ], "example": "ticket_important", - "readOnly": true, - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "until": { - "description": "__Read-only__ If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window.", + "description": "If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "format": "date-time", "nullable": true, - "readOnly": true, "type": "string", "x-linode-cli-color": { "None": "black", @@ -2051,11 +2152,10 @@ "x-linode-cli-display": 5 }, "when": { - "description": "__Read-only__ If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration.", + "description": "If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "format": "date-time", "nullable": true, - "readOnly": true, "type": "string", "x-linode-cli-color": { "None": "black", @@ -2550,7 +2650,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -2681,7 +2781,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -3322,7 +3422,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -3995,6 +4095,7 @@ "linode_migrate_datacenter_create", "linode_mutate", "linode_mutate_create", + "linode_poweroff_on", "linode_reboot", "linode_rebuild", "linode_resize", @@ -4102,6 +4203,15 @@ "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", @@ -4110,6 +4220,18 @@ "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", + "x-akamai": { + "status": "BETA" + } + }, "duration": { "description": "__Read-only__ The number of seconds that it takes for the event to complete.", "example": 300.56, @@ -4179,6 +4301,14 @@ "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", @@ -4186,6 +4316,15 @@ "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, @@ -4241,6 +4380,27 @@ "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": [ @@ -4374,6 +4534,7 @@ "linode_migrate_datacenter_create", "linode_mutate", "linode_mutate_create", + "linode_poweroff_on", "linode_reboot", "linode_rebuild", "linode_resize", @@ -4486,6 +4647,19 @@ "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", @@ -4499,6 +4673,22 @@ "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", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, "duration": { "description": "The number of seconds that it takes for the event to complete.", "example": 300.56, @@ -4582,6 +4772,18 @@ "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", @@ -4589,6 +4791,19 @@ "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, @@ -4644,20 +4859,53 @@ "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": [ + "completed", "failed", "finished", + "in_progress", "notification", "scheduled", "started" ], "type": "string", "x-linode-cli-color": { + "completed": "green", "default_": "white", "failed": "red", "finished": "green", + "in_progress": "yellow", "started": "yellow" }, "x-linode-cli-display": 8 @@ -5484,17 +5732,42 @@ "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 being affected by maintenance.", + "description": "The entity affected by the maintenance.", "properties": { "id": { - "description": "The id of the entity being affected by maintenance.", + "description": "The unique identifier of the entity targeted by the maintenance.", "example": 1234, "type": "number" }, "label": { - "description": "The label of the entity being affected by maintenance.", + "description": "The name of the entity targeted by the maintenance.", "example": "demo-linode", "type": "string" }, @@ -5504,24 +5777,77 @@ "type": "string" }, "url": { - "description": "The API endpoint prefix to use in combination with the entity id to find specific information about the entity.", + "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.\n\nMaintenance progresses in the following sequence: pending, started, then completed.", + "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": [ - "completed", "pending", - "started" + "scheduled", + "started", + "in-progress", + "completed", + "canceled" ], "example": "started", "type": "string", @@ -5537,7 +5863,9 @@ "enum": [ "reboot", "cold_migration", - "live_migration" + "live_migration", + "migrate", + "power_off_on" ], "example": "reboot", "type": "string", @@ -5549,7 +5877,7 @@ "x-linode-filterable": true }, "when": { - "description": "__Filterable__ When the maintenance will begin.\n\n[Filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with the following parameters:\n\n- A single value in date-time string format (`%Y-%m-%dT%H:%M:%S`), which returns only matches to that value.\n\n- A dictionary containing pairs of inequality operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single date-time string format values (`%Y-%m-%dT%H:%M:%S`). `+or` accepts an array of values that may consist of single date-time strings or dictionaries of inequality operator pairs.", + "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", @@ -5571,15 +5899,15 @@ "description": "An important, often time-sensitive item related to your account.", "properties": { "body": { - "description": "__Read-only__ A full description of this notification, in markdown format. Not all notifications include a `body`.", + "description": "A full description of this notification, in markdown format. Not all notifications include a `body`. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "nullable": true, - "readOnly": true, "type": "string" }, "entity": { "additionalProperties": false, - "description": "__Read-only__ Detailed information about the notification.", + "description": "Detailed information about the notification. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "nullable": true, "properties": { "id": { "description": "The unique ID of the notification's entity, based on the entity type. Returns `null` for an `account` or `promotion` entity.", @@ -5588,13 +5916,13 @@ "type": "integer" }, "label": { - "description": "The current label for this notification's entity.\n\nReturns `null` for the following entity types:\n\n- `entity_transfer`\n- `promotion`\n- `region`", + "description": "The current name of this notification's entity. Returns `null` for the following `entity` types:\n\n- `entity_transfer`\n\n- `promotion`\n\n- `region`", "example": "Linode not booting.", "nullable": true, "type": "string" }, "type": { - "description": "The type of entity this is related to.", + "description": "__Filterable__ The type of entity this is related to. An entity can be product or service-specific, such as a `linode`, `loadbalancers`, or `nodebalancers`. It can apply to a specific component, such as your `account`, a specific `promotion` your participating in, a data center (`region`) where you're using services, a transfer from one component to another (an `entity_transfer`), a support `ticket` you've opened, or a `volume` on a specific Linode.", "enum": [ "account", "entity_transfer", @@ -5607,7 +5935,13 @@ "volume" ], "example": "ticket", - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "url": { "description": "The URL where you can access the notification's object. The URL is relative to the domain where you retrieved the notification. This value is `null` for the `promotion` entity type.", @@ -5616,32 +5950,28 @@ "type": "string" } }, - "readOnly": true, "type": "object" }, "label": { - "description": "__Read-only__ A short description of this notification.", + "description": "A short description of this notification.", "example": "You have an important ticket open!", - "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, "message": { - "description": "__Read-only__ A human-readable description of the notification.", + "description": "A human-readable description of the notification.", "example": "You have an important ticket open!", - "readOnly": true, "type": "string", "x-linode-cli-display": 2 }, "severity": { - "description": "__Read-only__ The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", + "description": "The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", "enum": [ "minor", "major", "critical" ], "example": "major", - "readOnly": true, "type": "string", "x-linode-cli-color": { "critical": "b", @@ -5651,7 +5981,7 @@ "x-linode-cli-display": 3 }, "type": { - "description": "__Read-only__ The type of notification.", + "description": "__Filterable__ The type of notification.\n\n> \ud83d\udcd8\n>\n> A `security_reboot_maintenance_scheduled` event is a global notice that a Linode needs to be rebooted for QEMU upgrade maintenance. Have a look at [this workflow](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance) for guidance on reboooting your Linodes for this maintenance.", "enum": [ "migration_scheduled", "migration_imminent", @@ -5663,19 +5993,25 @@ "ticket_abuse", "notice", "maintenance", + "maintenance_scheduled", "promotion", + "security_reboot_maintenance_scheduled", "tax_id_verifying" ], "example": "ticket_important", - "readOnly": true, - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "until": { - "description": "__Read-only__ If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window.", + "description": "If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "format": "date-time", "nullable": true, - "readOnly": true, "type": "string", "x-linode-cli-color": { "None": "black", @@ -5684,11 +6020,10 @@ "x-linode-cli-display": 5 }, "when": { - "description": "__Read-only__ If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration.", + "description": "If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "format": "date-time", "nullable": true, - "readOnly": true, "type": "string", "x-linode-cli-color": { "None": "black", @@ -6506,7 +6841,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -6607,7 +6942,7 @@ "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "title": "Akamai: Linode API", - "version": "4.208.1" + "version": "4.210.0" }, "openapi": "3.0.1", "paths": { @@ -11240,6 +11575,7 @@ "linode_migrate_datacenter_create", "linode_mutate", "linode_mutate_create", + "linode_poweroff_on", "linode_reboot", "linode_rebuild", "linode_resize", @@ -11352,6 +11688,19 @@ "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", @@ -11365,6 +11714,22 @@ "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", + "x-akamai": { + "labels": [ + "Filterable" + ], + "status": "BETA" + }, + "x-linode-filterable": true + }, "duration": { "description": "The number of seconds that it takes for the event to complete.", "example": 300.56, @@ -11448,6 +11813,18 @@ "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", @@ -11455,6 +11832,19 @@ "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, @@ -11510,20 +11900,53 @@ "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": [ + "completed", "failed", "finished", + "in_progress", "notification", "scheduled", "started" ], "type": "string", "x-linode-cli-color": { + "completed": "green", "default_": "white", "failed": "red", "finished": "green", + "in_progress": "yellow", "started": "yellow" }, "x-linode-cli-display": 8 @@ -11795,6 +12218,7 @@ "linode_migrate_datacenter_create", "linode_mutate", "linode_mutate_create", + "linode_poweroff_on", "linode_reboot", "linode_rebuild", "linode_resize", @@ -11902,6 +12326,15 @@ "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", @@ -11910,6 +12343,18 @@ "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", + "x-akamai": { + "status": "BETA" + } + }, "duration": { "description": "__Read-only__ The number of seconds that it takes for the event to complete.", "example": 300.56, @@ -11979,6 +12424,14 @@ "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", @@ -11986,6 +12439,15 @@ "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, @@ -12041,6 +12503,27 @@ "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": [ @@ -13504,7 +13987,7 @@ }, "/{apiVersion}/account/maintenance": { "get": { - "description": "Returns a collection of Maintenance objects for any entity a user has permissions to view. Canceled Maintenance objects are not returned.\n\nCurrently, Linodes are the only entities available for viewing.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account maintenance-list\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)", + "description": "Returns maintenance information for any entity your user has permissions to view. If a maintenance object has been canceled, it's not returned.\n\n> \ud83d\udcd8\n>\n> Currently, only Linodes are included as entities for viewing.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account maintenance-list\n ```\n\n [Learn more...](https://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-maintenance" @@ -13522,17 +14005,42 @@ "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 being affected by maintenance.", + "description": "The entity affected by the maintenance.", "properties": { "id": { - "description": "The id of the entity being affected by maintenance.", + "description": "The unique identifier of the entity targeted by the maintenance.", "example": 1234, "type": "number" }, "label": { - "description": "The label of the entity being affected by maintenance.", + "description": "The name of the entity targeted by the maintenance.", "example": "demo-linode", "type": "string" }, @@ -13542,24 +14050,77 @@ "type": "string" }, "url": { - "description": "The API endpoint prefix to use in combination with the entity id to find specific information about the entity.", + "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.\n\nMaintenance progresses in the following sequence: pending, started, then completed.", + "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": [ - "completed", "pending", - "started" + "scheduled", + "started", + "in-progress", + "completed", + "canceled" ], "example": "started", "type": "string", @@ -13575,7 +14136,9 @@ "enum": [ "reboot", "cold_migration", - "live_migration" + "live_migration", + "migrate", + "power_off_on" ], "example": "reboot", "type": "string", @@ -13587,7 +14150,7 @@ "x-linode-filterable": true }, "when": { - "description": "__Filterable__ When the maintenance will begin.\n\n[Filterable](https://techdocs.akamai.com/linode-api/reference/filtering-and-sorting) with the following parameters:\n\n- A single value in date-time string format (`%Y-%m-%dT%H:%M:%S`), which returns only matches to that value.\n\n- A dictionary containing pairs of inequality operator string keys (`+or`, `+gt`, `+gte`, `+lt`, `+lte`, or `+neq`) and single date-time string format values (`%Y-%m-%dT%H:%M:%S`). `+or` accepts an array of values that may consist of single date-time strings or dictionaries of inequality operator pairs.", + "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", @@ -13725,7 +14288,7 @@ }, "/{apiVersion}/account/notifications": { "get": { - "description": "Returns a collection of notification objects that represent important, often time-sensitive details about your account. You can't interact directly with notifications, and a notification disappears when the circumstances that caused it have been resolved. For example, if you have an important ticket open, you can respond to that ticket to dismiss its notification.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account notifications-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 notifications that represent important, often time-sensitive details about your account. You can't interact directly with notifications, and a notification disappears when you've resolved its cause. For example, if you have an important ticket open, you can respond to that ticket to dismiss its notification.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli account notifications-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-notifications" @@ -13744,15 +14307,15 @@ "description": "An important, often time-sensitive item related to your account.", "properties": { "body": { - "description": "__Read-only__ A full description of this notification, in markdown format. Not all notifications include a `body`.", + "description": "A full description of this notification, in markdown format. Not all notifications include a `body`. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "nullable": true, - "readOnly": true, "type": "string" }, "entity": { "additionalProperties": false, - "description": "__Read-only__ Detailed information about the notification.", + "description": "Detailed information about the notification. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", + "nullable": true, "properties": { "id": { "description": "The unique ID of the notification's entity, based on the entity type. Returns `null` for an `account` or `promotion` entity.", @@ -13761,13 +14324,13 @@ "type": "integer" }, "label": { - "description": "The current label for this notification's entity.\n\nReturns `null` for the following entity types:\n\n- `entity_transfer`\n- `promotion`\n- `region`", + "description": "The current name of this notification's entity. Returns `null` for the following `entity` types:\n\n- `entity_transfer`\n\n- `promotion`\n\n- `region`", "example": "Linode not booting.", "nullable": true, "type": "string" }, "type": { - "description": "The type of entity this is related to.", + "description": "__Filterable__ The type of entity this is related to. An entity can be product or service-specific, such as a `linode`, `loadbalancers`, or `nodebalancers`. It can apply to a specific component, such as your `account`, a specific `promotion` your participating in, a data center (`region`) where you're using services, a transfer from one component to another (an `entity_transfer`), a support `ticket` you've opened, or a `volume` on a specific Linode.", "enum": [ "account", "entity_transfer", @@ -13780,7 +14343,13 @@ "volume" ], "example": "ticket", - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "url": { "description": "The URL where you can access the notification's object. The URL is relative to the domain where you retrieved the notification. This value is `null` for the `promotion` entity type.", @@ -13789,32 +14358,28 @@ "type": "string" } }, - "readOnly": true, "type": "object" }, "label": { - "description": "__Read-only__ A short description of this notification.", + "description": "A short description of this notification.", "example": "You have an important ticket open!", - "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, "message": { - "description": "__Read-only__ A human-readable description of the notification.", + "description": "A human-readable description of the notification.", "example": "You have an important ticket open!", - "readOnly": true, "type": "string", "x-linode-cli-display": 2 }, "severity": { - "description": "__Read-only__ The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", + "description": "The severity of this notification. This field determines how prominently the notification is displayed and the color of the display text.", "enum": [ "minor", "major", "critical" ], "example": "major", - "readOnly": true, "type": "string", "x-linode-cli-color": { "critical": "b", @@ -13824,7 +14389,7 @@ "x-linode-cli-display": 3 }, "type": { - "description": "__Read-only__ The type of notification.", + "description": "__Filterable__ The type of notification.\n\n> \ud83d\udcd8\n>\n> A `security_reboot_maintenance_scheduled` event is a global notice that a Linode needs to be rebooted for QEMU upgrade maintenance. Have a look at [this workflow](https://techdocs.akamai.com/linode-api/reference/reboot-your-linodes-for-qemu-maintenance) for guidance on reboooting your Linodes for this maintenance.", "enum": [ "migration_scheduled", "migration_imminent", @@ -13836,19 +14401,25 @@ "ticket_abuse", "notice", "maintenance", + "maintenance_scheduled", "promotion", + "security_reboot_maintenance_scheduled", "tax_id_verifying" ], "example": "ticket_important", - "readOnly": true, - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "until": { - "description": "__Read-only__ If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window.", + "description": "If this notification has a duration, this is when the event or action will complete. For example, if there's scheduled maintenance for one of our systems, `until` represents the end of the maintenance window. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "format": "date-time", "nullable": true, - "readOnly": true, "type": "string", "x-linode-cli-color": { "None": "black", @@ -13857,11 +14428,10 @@ "x-linode-cli-display": 5 }, "when": { - "description": "__Read-only__ If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration.", + "description": "If this notification is for an event in the future, this specifies when the action occurs. For example, if a compute instance needs to migrate in response to a security advisory, this field sets the approximate time the compute instance will be taken offline for migration. Returned as `null` for an event `type` of `security_reboot_maintenance_scheduled`.", "example": null, "format": "date-time", "nullable": true, - "readOnly": true, "type": "string", "x-linode-cli-color": { "None": "black", @@ -18658,6 +19228,19 @@ "type": "string", "x-linode-cli-display": 2 }, + "maintenance_policy": { + "description": "__Beta__ Defines the default maintenance policy for new Linodes created on this account. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + }, + "x-linode-cli-display": 7 + }, "managed": { "description": "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time.", "example": true, @@ -18807,6 +19390,19 @@ "type": "string", "x-linode-cli-display": 2 }, + "maintenance_policy": { + "description": "__Beta__ Defines the default maintenance policy for new Linodes created on this account. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "{{maintenance_policy}}", + "type": "string", + "x-akamai": { + "status": "BETA" + }, + "x-linode-cli-display": 7 + }, "managed": { "description": "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time.", "example": "{{managed}}", @@ -18883,6 +19479,19 @@ "type": "string", "x-linode-cli-display": 2 }, + "maintenance_policy": { + "description": "__Beta__ Defines the default maintenance policy for new Linodes created on this account. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + }, + "x-linode-cli-display": 7 + }, "managed": { "description": "__Read-only__ Our 24/7 incident response service. This robust, multi-homed monitoring system distributes monitoring checks to ensure that your servers remain online and available at all times. Linode Managed can monitor any service or software stack reachable over TCP or HTTP. Once you add a service to Linode Managed, we'll monitor it for connectivity, response, and total request time.", "example": true, @@ -19315,7 +19924,7 @@ }, "/{apiVersion}/account/users": { "post": { - "description": "Creates a user on your account. You determine the new user's account access by setting it to restricted or unrestricted and by defining its grants. After completion, the API sends a confirmation message containing password creation and login instructions to the user's `email` address.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- A parent account user can create new parent account users.\n\n- A child account can [update](https://techdocs.akamai.com/linode-api/reference/put-user) the child account parent user (proxy user) to `unrestricted`. This gives the proxy user access to create new child account users.\n\n- A child account user can create new child account users.\n\n- You can't create a proxy user. The proxy user in a child account is predefined when you initially provision the parent-child relationship.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users create \\\n --username example_user \\\n --email example_user@linode.com \\\n --restricted true\n ```\n\n [Learn more...](https://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 user on your account. You determine the new user's account access by setting it to restricted or unrestricted and by defining its grants. After completion, the API sends a confirmation message containing password creation and login instructions to the user's `email` address.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- A parent account user can create new parent account users.\n\n- A child account can [update](https://techdocs.akamai.com/linode-api/reference/put-user) the child account parent user (proxy user) to `unrestricted`. This gives the proxy user access to create new child account users.\n\n- A child account user can create new child account users.\n\n- You can't create a proxy user. The proxy user in a child account is predefined when you initially provision the parent-child relationship.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users create \\\n --username example_user \\\n --email example_user@linode.com \\\n --restricted true\n ```\n\n [Learn more...](https://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-user" @@ -19618,7 +20227,7 @@ "x-linode-grant": "unrestricted only" }, "get": { - "description": "Returns a paginated list of all users on your account.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\nA user can access all or part of an account based on their access status and grants:\n\n- __Unrestricted access__. These users can access everything on an account.\n\n- __Restricted access__. These users can only access entities or perform actions they've been given specific grants to.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users list\n ```\n\n [Learn more...](https://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 all users on your account.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\nA user can access all or part of an account based on their access status and grants:\n\n- __Unrestricted access__. These users can access everything on an account.\n\n- __Restricted access__. These users can only access entities or perform actions they've been given specific grants to.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users list\n ```\n\n [Learn more...](https://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-users" @@ -19795,7 +20404,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -19942,7 +20551,7 @@ }, "/{apiVersion}/account/users/{username}": { "get": { - "description": "Returns information about a single user on your account.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users view example_user\n ```\n\n [Learn more...](https://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 user on your account.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users view example_user\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-user" @@ -20060,7 +20669,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -20155,7 +20764,7 @@ "x-linode-grant": "unrestricted only" }, "put": { - "description": "Update information about a user on your account, including its restricted status. When setting a user to `restricted`, the API sets no grants for it. You need to set grants so that user can access things on the account.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't edit the `username` or `email` values for the child account parent user (proxy user). These are predefined for the proxy user when you initially provision the parent-child relationship. Only a proxy user's `restricted` status can be modified. This can only be done by an unrestricted child account user.\n\n- A parent account using an unrestricted proxy user in a child account can modify the `username`, `email`, and `restricted` status for an existing child account user.\n\n- A restricted account user--parent or child--can't change their user to `unrestricted`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users update example_user \\\n --username example_user \\\n --email example@linode.com \\\n --restricted true\n ```\n\n [Learn more...](https://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": "Update information about a user on your account, including its restricted status. When setting a user to `restricted`, the API sets no grants for it. You need to set grants so that user can access things on the account.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't edit the `username` or `email` values for the child account parent user (proxy user). These are predefined for the proxy user when you initially provision the parent-child relationship. Only a proxy user's `restricted` status can be modified. This can only be done by an unrestricted child account user.\n\n- A parent account using an unrestricted proxy user in a child account can modify the `username`, `email`, and `restricted` status for an existing child account user.\n\n- A restricted account user--parent or child--can't change their user to `unrestricted`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users update example_user \\\n --username example_user \\\n --email example@linode.com \\\n --restricted true\n ```\n\n [Learn more...](https://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-user" @@ -20395,7 +21004,7 @@ "description": "The type of user on an account. Mostly applies to the use of the parent and child accounts for Akamai partners functionality.", "properties": { "user_type": { - "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractural relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", + "description": "__Read-only__ If the user belongs to a [parent or child account](https://www.linode.com/docs/guides/parent-child-accounts/) relationship, this defines the user type in the respective account. Possible values include:\n\n- `parent`. This is a user in an Akamai partner account. Akamai partners have a contractual relationship with their end customers, to sell Akamai services. This user can either have full access (a parent account admin user) or limited access. Limited users don't have access to manage child accounts, but they can be granted this access by an admin user.\n\n- `child`. This is an Akamai partner's end customer user, in a child account. A child user can have either full or limited access. Full access lets the user manage other child users and the proxy user in a child account.\n\n- `proxy`. This is a user on a child account that gives parent account users access to that child account. A parent account user with the `child_account_access` grant can [Create a proxy user token](https://techdocs.akamai.com/linode-api/reference/post-child-account-token) from the parent account. The parent user can use this token to run API operations from the child account, as if they were a child user.\n\n- `default`. This applies to all regular, non-parent-child account users.", "enum": [ "parent", "child", @@ -20490,7 +21099,7 @@ "x-linode-grant": "unrestricted only" }, "delete": { - "description": "Deletes a user. The API immediately logs the user out and removes all of its `grants`.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't delete a child account parent user (proxy user). The API returns a 403 error if you target a proxy user with this operation.\n\n- A parent account using an unrestricted proxy user can use this operation to delete a child account user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users delete example_user\n ```\n\n [Learn more...](https://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 user. The API immediately logs the user out and removes all of its `grants`.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- You can't delete a child account parent user (proxy user). The API returns a 403 error if you target a proxy user with this operation.\n\n- A parent account using an unrestricted proxy user can use this operation to delete a child account user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli users delete example_user\n ```\n\n [Learn more...](https://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-user" @@ -20626,7 +21235,7 @@ }, "/{apiVersion}/account/users/{username}/grants": { "get": { - "description": "Returns the full grants structure for an account username you specify. This includes all entities on the account, and the level of access this user has to each of them.\n\nThis doesn't apply to the account owner or the current authenticated user. You can run the [List grants](https://techdocs.akamai.com/linode-api/reference/get-profile-grants) operation to view those grants. However, this doesn't show the entities that they _don't_ have access to.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns the full grants structure for an account username you specify. This includes all entities on the account, and the level of access this user has to each of them.\n\nThis doesn't apply to the account owner or the current authenticated user. You can run the [List grants](https://techdocs.akamai.com/linode-api/reference/get-profile-grants) operation to view those grants. However, this doesn't show the entities that they _don't_ have access to.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-user-grants" @@ -21154,7 +21763,7 @@ "x-linode-grant": "unrestricted only" }, "put": { - "description": "Update the grants for a [restricted](https://techdocs.akamai.com/linode-api/reference/post-user) user. This can be used to give a user access to new entities or actions, or take access away. Omit a grant object from the request to keep its current setting.\n\n> \ud83d\udcd8\n>\n> - This operation can only be accessed by account users with _unrestricted_ access.\n>\n> - This operation only applies to _restricted_ users. An unrestricted user has access to everything and doesn't use grants.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- No child account user can modify the `account_access` grant for the child account parent user (proxy user).\n\n- An unrestricted child account user can configure all other grants for the proxy user, with the `global` object.\n\n- An unrestricted child account user can enable the `account_access` grant for other child account users. However, enabled child users are still subject to child user restrictions--they can't perform write operations for any billing or account information.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Update the grants for a [restricted](https://techdocs.akamai.com/linode-api/reference/post-user) user. This can be used to give a user access to new entities or actions, or take access away. Omit a grant object from the request to keep its current setting.\n\n> \ud83d\udcd8\n>\n> - This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n>\n> - This operation only applies to _restricted_ users. An unrestricted user has access to everything and doesn't use grants.\n\n__Parent and child accounts__\n\nIn a [parent and child account](https://www.linode.com/docs/guides/parent-child-accounts/) environment, the following apply:\n\n- No child account user can modify the `account_access` grant for the child account parent user (proxy user).\n\n- An unrestricted child account user can configure all other grants for the proxy user, with the `global` object.\n\n- An unrestricted child account user can enable the `account_access` grant for other child account users. However, enabled child users are still subject to child user restrictions--they can't perform write operations for any billing or account information.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-user-grants" @@ -41545,14 +42154,117 @@ }, "id": { "description": "__Read-only__ The unique identifier for each image.", - "example": "linode/debian11", + "example": "private/15", "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, + "image_sharing": { + "description": "This object represents the sharing status of an image.", + "oneOf": [ + { + "additionalProperties": false, + "example": { + "shared_by": null, + "shared_with": { + "image_sharegroup_list_url": "/images/private/15/sharegroups", + "sharegroup_count": 0 + } + }, + "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.", + "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.", + "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" + } + }, + "required": [ + "sharegroup_count", + "image_sharegroup_list_url" + ], + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_with", + "type": "object" + }, + { + "additionalProperties": false, + "example": { + "shared_by": { + "sharegroup_id": 3, + "sharegroup_label": "label", + "sharegroup_uuid": "8003abfe-6b03-41a1-9e4c-a234ae3060c8", + "source_image_id": null + }, + "shared_with": null + }, + "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.", + "properties": { + "sharegroup_id": { + "description": "The ID of the share group.", + "type": "integer" + }, + "sharegroup_label": { + "description": "A label linked to the share group.", + "type": "string" + }, + "sharegroup_uuid": { + "description": "The unique identifier of the share group.", + "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.", + "nullable": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "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.", + "nullable": true, + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_by", + "type": "object" + } + ] + }, "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`.", - "example": true, + "example": false, "readOnly": true, "type": "boolean", "x-akamai": { @@ -41563,6 +42275,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "Debian 11", @@ -41707,6 +42431,28 @@ "x-linode-filterable": true } }, + "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/image.yaml" @@ -41789,7 +42535,7 @@ "x-linode-grant": "add_images" }, "get": { - "description": "Returns a paginated list of images. An image can be one of two types:\n\n- **Public image**. The `id` for these images begins with `linode/`. These images are generally available to all users. To limit the response to public images, don't include [authentication](https://techdocs.akamai.com/linode-api/reference/get-started#authentication) when calling this operation.\n\n- **Private image**. The `id` for these images begins with `private/`. These images are account-specific and only accessible to users with appropriate [grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants). To view private images, you need to include authentication when calling this operation. The response includes both private and public images.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images list\n ```\n\n [Learn more...](https://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)", + "description": "Returns a paginated list of images. An image can be one of two types:\n\n- **Public image**. The `id` for these images begins with `linode/`. These images are generally available to all users. To limit the response to public images, don't include [authentication](https://techdocs.akamai.com/linode-api/reference/get-started#authentication) when calling this operation.\n\n- **Private image**. The `id` for these images begins with `private/`. These images are account-specific and only accessible to users with appropriate [grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants). To view private images, you need to include authentication when calling this operation. The response includes both private and public images.\n\n- **Shared image**. The `id` for these images begins with `shared/`. These are the images that are shared with the user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images 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-images" @@ -41910,14 +42656,117 @@ }, "id": { "description": "__Read-only__ The unique identifier for each image.", - "example": "linode/debian11", + "example": "private/15", "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, + "image_sharing": { + "description": "This object represents the sharing status of an image.", + "oneOf": [ + { + "additionalProperties": false, + "example": { + "shared_by": null, + "shared_with": { + "image_sharegroup_list_url": "/images/private/15/sharegroups", + "sharegroup_count": 0 + } + }, + "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.", + "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.", + "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" + } + }, + "required": [ + "sharegroup_count", + "image_sharegroup_list_url" + ], + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_with", + "type": "object" + }, + { + "additionalProperties": false, + "example": { + "shared_by": { + "sharegroup_id": 3, + "sharegroup_label": "label", + "sharegroup_uuid": "8003abfe-6b03-41a1-9e4c-a234ae3060c8", + "source_image_id": null + }, + "shared_with": null + }, + "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.", + "properties": { + "sharegroup_id": { + "description": "The ID of the share group.", + "type": "integer" + }, + "sharegroup_label": { + "description": "A label linked to the share group.", + "type": "string" + }, + "sharegroup_uuid": { + "description": "The unique identifier of the share group.", + "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.", + "nullable": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "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.", + "nullable": true, + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_by", + "type": "object" + } + ] + }, "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`.", - "example": true, + "example": false, "readOnly": true, "type": "boolean", "x-akamai": { @@ -41928,6 +42777,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "Debian 11", @@ -42072,6 +42933,28 @@ "x-linode-filterable": true } }, + "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/image.yaml" @@ -42355,14 +43238,117 @@ }, "id": { "description": "__Read-only__ The unique identifier for each image.", - "example": "linode/debian11", + "example": "private/15", "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, + "image_sharing": { + "description": "This object represents the sharing status of an image.", + "oneOf": [ + { + "additionalProperties": false, + "example": { + "shared_by": null, + "shared_with": { + "image_sharegroup_list_url": "/images/private/15/sharegroups", + "sharegroup_count": 0 + } + }, + "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.", + "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.", + "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" + } + }, + "required": [ + "sharegroup_count", + "image_sharegroup_list_url" + ], + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_with", + "type": "object" + }, + { + "additionalProperties": false, + "example": { + "shared_by": { + "sharegroup_id": 3, + "sharegroup_label": "label", + "sharegroup_uuid": "8003abfe-6b03-41a1-9e4c-a234ae3060c8", + "source_image_id": null + }, + "shared_with": null + }, + "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.", + "properties": { + "sharegroup_id": { + "description": "The ID of the share group.", + "type": "integer" + }, + "sharegroup_label": { + "description": "A label linked to the share group.", + "type": "string" + }, + "sharegroup_uuid": { + "description": "The unique identifier of the share group.", + "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.", + "nullable": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "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.", + "nullable": true, + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_by", + "type": "object" + } + ] + }, "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`.", - "example": true, + "example": false, "readOnly": true, "type": "boolean", "x-akamai": { @@ -42373,6 +43359,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "Debian 11", @@ -42517,6 +43515,28 @@ "x-linode-filterable": true } }, + "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/image.yaml" @@ -42635,7 +43655,7 @@ }, "/{apiVersion}/images/{imageId}": { "get": { - "description": "Get information about a single image. An image can be one of two types:\n\n- **Public image**. The `id` for these images begins with `linode/`. These images are generally available to all users. To limit the response to public images, don't include [authentication](https://techdocs.akamai.com/linode-api/reference/get-started#authentication) when calling this operation.\n\n- **Private image**. The `id` for these images begins with `private/`. These images are account-specific and only accessible to users with appropriate [grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants). To view private images, you need to include authentication when calling this operation. The response will also include public images.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images view linode/debian9\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)", + "description": "Get information about a single image. An image can be one of two types:\n\n- **Public image**. The `id` for these images begins with `linode/`. These images are generally available to all users. To limit the response to public images, don't include [authentication](https://techdocs.akamai.com/linode-api/reference/get-started#authentication) when calling this operation.\n\n- **Private image**. The `id` for these images begins with `private/`. These images are account-specific and only accessible to users with appropriate [grants](https://techdocs.akamai.com/linode-api/reference/get-user-grants). To view private images, you need to include authentication when calling this operation. The response will also include public images.\n\n- **Shared image**. The `id` for these images begins with `shared/`. These are the images that are shared with the user.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli images view linode/debian9\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-image" @@ -42718,14 +43738,117 @@ }, "id": { "description": "__Read-only__ The unique identifier for each image.", - "example": "linode/debian11", + "example": "private/15", "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, + "image_sharing": { + "description": "This object represents the sharing status of an image.", + "oneOf": [ + { + "additionalProperties": false, + "example": { + "shared_by": null, + "shared_with": { + "image_sharegroup_list_url": "/images/private/15/sharegroups", + "sharegroup_count": 0 + } + }, + "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.", + "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.", + "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" + } + }, + "required": [ + "sharegroup_count", + "image_sharegroup_list_url" + ], + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_with", + "type": "object" + }, + { + "additionalProperties": false, + "example": { + "shared_by": { + "sharegroup_id": 3, + "sharegroup_label": "label", + "sharegroup_uuid": "8003abfe-6b03-41a1-9e4c-a234ae3060c8", + "source_image_id": null + }, + "shared_with": null + }, + "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.", + "properties": { + "sharegroup_id": { + "description": "The ID of the share group.", + "type": "integer" + }, + "sharegroup_label": { + "description": "A label linked to the share group.", + "type": "string" + }, + "sharegroup_uuid": { + "description": "The unique identifier of the share group.", + "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.", + "nullable": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "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.", + "nullable": true, + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_by", + "type": "object" + } + ] + }, "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`.", - "example": true, + "example": false, "readOnly": true, "type": "boolean", "x-akamai": { @@ -42736,6 +43859,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "Debian 11", @@ -42880,6 +44015,28 @@ "x-linode-filterable": true } }, + "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/image.yaml" @@ -42974,7 +44131,6 @@ "application/json": { "schema": { "additionalProperties": false, - "description": "Image object.", "properties": { "capabilities": { "description": "__Read-only__ A list of the possible capabilities of this image.\n\n- `cloud-init`. The image supports the cloud-init multi-distribution method with our [Metadata service](https://www.linode.com/docs/products/compute/compute-instances/guides/metadata/#troubleshoot-metadata-and-cloud-init). This only applies to public images.\n\n- `distributed-sites`. Whether the image can be used in distributed compute regions. Compared to a core compute region, distributed compute regions offer limited functionality, but they're globally distributed. Your image can be geographically closer to you, potentially letting you deploy it quicker. See [Regions and images](https://techdocs.akamai.com/cloud-computing/docs/images#regions-and-images) for complete details.", @@ -43063,6 +44219,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": "{{is_shared}}", + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "{{label}}", @@ -43209,7 +44377,7 @@ }, "type": "object", "x-akamai": { - "file-path": "schemas/image.yaml" + "file-path": "schemas/put-image.yaml" } }, "x-example": { @@ -43296,14 +44464,117 @@ }, "id": { "description": "__Read-only__ The unique identifier for each image.", - "example": "linode/debian11", + "example": "private/15", "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, + "image_sharing": { + "description": "This object represents the sharing status of an image.", + "oneOf": [ + { + "additionalProperties": false, + "example": { + "shared_by": null, + "shared_with": { + "image_sharegroup_list_url": "/images/private/15/sharegroups", + "sharegroup_count": 0 + } + }, + "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.", + "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.", + "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" + } + }, + "required": [ + "sharegroup_count", + "image_sharegroup_list_url" + ], + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_with", + "type": "object" + }, + { + "additionalProperties": false, + "example": { + "shared_by": { + "sharegroup_id": 3, + "sharegroup_label": "label", + "sharegroup_uuid": "8003abfe-6b03-41a1-9e4c-a234ae3060c8", + "source_image_id": null + }, + "shared_with": null + }, + "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.", + "properties": { + "sharegroup_id": { + "description": "The ID of the share group.", + "type": "integer" + }, + "sharegroup_label": { + "description": "A label linked to the share group.", + "type": "string" + }, + "sharegroup_uuid": { + "description": "The unique identifier of the share group.", + "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.", + "nullable": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "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.", + "nullable": true, + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_by", + "type": "object" + } + ] + }, "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`.", - "example": true, + "example": false, "readOnly": true, "type": "boolean", "x-akamai": { @@ -43314,6 +44585,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "Debian 11", @@ -43458,13 +44741,35 @@ "x-linode-filterable": true } }, + "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/image.yaml" } }, "x-example": { - "x-ref": "../examples/get-image-200.json" + "x-ref": "../examples/put-image-200.json" }, "x-linode-cli-subtables": [ "regions" @@ -43793,14 +45098,117 @@ }, "id": { "description": "__Read-only__ The unique identifier for each image.", - "example": "linode/debian11", + "example": "private/15", "readOnly": true, "type": "string", "x-linode-cli-display": 1 }, + "image_sharing": { + "description": "This object represents the sharing status of an image.", + "oneOf": [ + { + "additionalProperties": false, + "example": { + "shared_by": null, + "shared_with": { + "image_sharegroup_list_url": "/images/private/15/sharegroups", + "sharegroup_count": 0 + } + }, + "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.", + "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.", + "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" + } + }, + "required": [ + "sharegroup_count", + "image_sharegroup_list_url" + ], + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_with", + "type": "object" + }, + { + "additionalProperties": false, + "example": { + "shared_by": { + "sharegroup_id": 3, + "sharegroup_label": "label", + "sharegroup_uuid": "8003abfe-6b03-41a1-9e4c-a234ae3060c8", + "source_image_id": null + }, + "shared_with": null + }, + "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.", + "properties": { + "sharegroup_id": { + "description": "The ID of the share group.", + "type": "integer" + }, + "sharegroup_label": { + "description": "A label linked to the share group.", + "type": "string" + }, + "sharegroup_uuid": { + "description": "The unique identifier of the share group.", + "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.", + "nullable": true, + "type": "string" + } + }, + "required": [ + "sharegroup_id", + "sharegroup_uuid", + "sharegroup_label", + "source_image_id" + ], + "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.", + "nullable": true, + "type": "object" + } + }, + "required": [ + "shared_with", + "shared_by" + ], + "title": "shared_by", + "type": "object" + } + ] + }, "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`.", - "example": true, + "example": false, "readOnly": true, "type": "boolean", "x-akamai": { @@ -43811,6 +45219,18 @@ "x-linode-cli-display": 5, "x-linode-filterable": true }, + "is_shared": { + "description": "__Filterable__, __Read-only__ Indicates if the image is a private image shared with other users.", + "example": false, + "readOnly": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "label": { "description": "__Filterable__ A short description of the image.", "example": "Debian 11", @@ -43955,6 +45375,28 @@ "x-linode-filterable": true } }, + "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/image.yaml" @@ -44134,6 +45576,18 @@ "example": "linode/debian9", "type": "string" }, + "maintenance_policy": { + "description": "__Beta__ Defines the maintenance policy for this Linode. Choose from the following policies:\n\n- `linode/migrate`: Migrates the Linode to a new host while it remains fully operational (with some performance degradation). Recommended for maximizing availability.\n- `linode/power_off_on`: Powers off the Linode at the start of the maintenance event and reboots it once the maintenance finishes. Recommended for maximizing performance.\n\nReview [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "metadata": { "additionalProperties": false, "description": "__Write-only__ An object containing user-defined data relevant to the creation of Linodes.", @@ -44321,12 +45775,8 @@ "items": { "properties": { "range": { - "default": null, "description": "Your assigned IPv6 range in CIDR notation (`2001:0db8::1/64`) or prefix (`/64`).\n- The prefix of `/64` or `/56` block of IPv6 addresses.\n- If provided in CIDR notation, the prefix must be within the assigned ranges for the Linode.", - "example": [ - "2001:0a0a::1/64", - "/64" - ], + "example": "2001:0a0a::1/64", "type": "string" } }, @@ -44486,7 +45936,6 @@ "additionalProperties": false, "properties": { "range": { - "default": null, "description": "CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`).\n- When only the prefix is provided, then an available range of that size within the VPC's subnet is automatically selected.\n- If specified as CIDR notation, it must belong to the VPC subnet. All addresses in the range must not be taken by any other Linode or interfaces in the VPC subnet and must not include any of the first two or last two addresses of the VPC subnet.", "example": [ "192.168.100.100/28", @@ -44495,12 +45944,11 @@ "10.11.12.0/24", "auto" ], - "nullable": true, "type": "string" } }, "required": [ - "address" + "range" ], "type": "object" }, @@ -45048,6 +46496,18 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -45711,6 +47171,19 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__, __Read-only__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "readOnly": true, + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -46303,6 +47776,19 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__, __Read-only__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "readOnly": true, + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -46902,6 +48388,18 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "{{maintenance_policy}}", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -47359,6 +48857,18 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -49588,6 +51098,18 @@ "example": "{{linode_id}}", "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ Defines the maintenance policy for the new Linode. If you don't provide it, the new Linode inherits the maintenance policy from the original Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "{{maintenance_policy}}", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "metadata": { "additionalProperties": false, "description": "__Write-only__ An object containing user-defined data relevant to the creation of Linodes.", @@ -49923,6 +51445,18 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -53910,7 +55444,7 @@ ], "summary": "Add a configuration profile interface", "tags": [ - "Interfaces" + "Configuration profile interfaces" ], "x-akamai": { "tabs": [ @@ -54171,7 +55705,7 @@ ], "summary": "List configuration profile interfaces", "tags": [ - "Interfaces" + "Configuration profile interfaces" ], "x-akamai": { "tabs": [ @@ -54357,7 +55891,7 @@ ], "summary": "Reorder configuration profile interfaces", "tags": [ - "Interfaces" + "Configuration profile interfaces" ], "x-akamai": { "tabs": [ @@ -54624,7 +56158,7 @@ ], "summary": "Get a configuration profile interface", "tags": [ - "Interfaces" + "Configuration profile interfaces" ], "x-akamai": { "tabs": [ @@ -54897,7 +56431,7 @@ ], "summary": "Update a configuration profile interface", "tags": [ - "Interfaces" + "Configuration profile interfaces" ], "x-akamai": { "tabs": [ @@ -54991,7 +56525,7 @@ ], "summary": "Delete a configuration profile interface", "tags": [ - "Interfaces" + "Configuration profile interfaces" ], "x-akamai": { "tabs": [ @@ -57293,7 +58827,10 @@ "properties": { "firewall_ids": { "description": "A complete list of firewall IDs to assign to this Linode or NodeBalancer. This operation replaces any existing assignments. To remove all firewalls, pass an empty list, `[]`.", - "example": 1234, + "example": [ + 1, + 2 + ], "items": { "type": "integer" }, @@ -58005,12 +59542,8 @@ "items": { "properties": { "range": { - "default": null, "description": "Your assigned IPv6 range in CIDR notation (`2001:0db8::1/64`) or prefix (`/64`).\n- The prefix of `/64` or `/56` block of IPv6 addresses.\n- If provided in CIDR notation, the prefix must be within the assigned ranges for the Linode.", - "example": [ - "2001:0a0a::1/64", - "/64" - ], + "example": "2001:0a0a::1/64", "type": "string" } }, @@ -58170,7 +59703,6 @@ "additionalProperties": false, "properties": { "range": { - "default": null, "description": "CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`).\n- When only the prefix is provided, then an available range of that size within the VPC's subnet is automatically selected.\n- If specified as CIDR notation, it must belong to the VPC subnet. All addresses in the range must not be taken by any other Linode or interfaces in the VPC subnet and must not include any of the first two or last two addresses of the VPC subnet.", "example": [ "192.168.100.100/28", @@ -58179,12 +59711,11 @@ "10.11.12.0/24", "auto" ], - "nullable": true, "type": "string" } }, "required": [ - "address" + "range" ], "type": "object" }, @@ -58884,558 +60415,583 @@ "ex-public": { "summary": "Public interface", "value": { - "created": "2025-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.30.0.50", - "primary": true - } - ], - "shared": [ - { - "address": "172.30.0.51", - "linode_id": 12345 - } - ] - }, - "ipv6": { - "ranges": [ - { - "range": "2600:3c09:e001:59::/64", - "route_target": "2600:3c09::ff:feab:cdef" + "interfaces": [ + { + "created": "2025-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.30.0.50", + "primary": true + } + ], + "shared": [ + { + "address": "172.30.0.51", + "linode_id": 12345 + } + ] }, - { - "range": "2600:3c09:e001:5a::/64", - "route_target": "2600:3c09::ff:feab:cdef" - } - ], - "shared": [ - { - "range": "2600:3c09:e001:2a::/64", - "route_target": null - } - ], - "slaac": [ - { - "address": "2600:3c09::ff:feab:cdef", - "prefix": 64 + "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:cdef", + "prefix": 64 + } + ] } - ] + }, + "updated": "2025-01-01T00:01:01", + "version": 1, + "vlan": null, + "vpc": null } - }, - "updated": "2025-01-01T00:01:01", - "version": 1, - "vlan": null, - "vpc": null + ] } }, "ex-vlan": { "summary": "VLAN interface", "value": { - "created": "2025-01-01T00:01:01", - "default_route": {}, - "id": 1234, - "mac_address": "22:00:AB:CD:EF:01", - "public": null, - "updated": "2025-01-01T00:01:01", - "version": 1, - "vlan": { - "ipam_address": "10.0.0.1/24", - "vlan_label": "my-vlan" - }, - "vpc": null + "interfaces": [ + { + "created": "2025-01-01T00:01:01", + "default_route": {}, + "id": 1234, + "mac_address": "22:00:AB:CD:EF:01", + "public": null, + "updated": "2025-01-01T00:01:01", + "version": 1, + "vlan": { + "ipam_address": "10.0.0.1/24", + "vlan_label": "my-vlan" + }, + "vpc": null + } + ] } }, "ex-vpc": { "summary": "VPC interface", "value": { - "created": "2025-01-01T00:01:01", - "default_route": { - "ipv4": true - }, - "id": 1234, - "mac_address": "22:00:AB:CD:EF:01", - "public": null, - "updated": "2025-01-01T00:02:01", - "version": 1, - "vlan": null, - "vpc": { - "ipv4": { - "addresses": [ - { - "address": "192.168.22.3", - "primary": true - } - ], - "ranges": [ - { - "range": "192.168.22.16/28" + "interfaces": [ + { + "created": "2025-01-01T00:01:01", + "default_route": { + "ipv4": true + }, + "id": 1234, + "mac_address": "22:00:AB:CD:EF:01", + "public": null, + "updated": "2025-01-01T00:02:01", + "version": 1, + "vlan": null, + "vpc": { + "ipv4": { + "addresses": [ + { + "address": "192.168.22.3", + "primary": true + } + ], + "ranges": [ + { + "range": "192.168.22.16/28" + }, + { + "range": "192.168.22.32/28" + } + ] }, - { - "range": "192.168.22.32/28" - } - ] - }, - "subnet_id": 1234, - "vpc_id": 1234 - } + "subnet_id": 1234, + "vpc_id": 1234 + } + } + ] } } }, "schema": { - "description": "One of the following interface types: VPC, public, or VLAN.", - "oneOf": [ - { - "additionalProperties": false, - "description": "A public interface configuration defines the properties and settings for a specific public interface in the Linode network.", - "properties": { - "created": { - "description": "When the interface was created.", - "example": "2024-01-01T00:01:01", - "format": "date-time", - "type": "string", - "x-linode-cli-display": 3 - }, - "default_route": { - "additionalProperties": false, - "description": "Indicates if the interface is used as a default route.", - "nullable": true, - "properties": { - "ipv4": { - "default": false, - "description": "Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route.", - "example": true, - "type": "boolean", - "x-linode-cli-display": 5 - }, - "ipv6": { - "default": false, - "description": "Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route.", - "example": true, - "type": "boolean", - "x-linode-cli-display": 6 - } - }, - "type": "object" - }, - "id": { - "description": "__Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0.", - "example": 1234, - "readOnly": true, - "type": "integer", - "x-linode-cli-display": 1 - }, - "mac_address": { - "description": "A 48-bit MAC address used to identify the Linode\u2019s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated.", - "example": "22:00:AB:CD:EF:01", - "maxLength": 64, - "minLength": 1, - "pattern": "[a-zA-Z0-9-]+", - "type": "string", - "x-linode-cli-display": 2 - }, - "public": { - "additionalProperties": false, - "description": "Public interface type.", - "properties": { - "ipv4": { - "additionalProperties": false, - "description": "The interface's public IPv4 `addresses`.", - "properties": { - "addresses": { - "description": "The public IPv4 addresses and primary settings for this public interface.", - "items": { - "additionalProperties": false, - "properties": { - "address": { - "description": "The public IPv4 address assigned to this interface.", - "example": "172.232.100.100", - "type": "string", - "x-linode-cli-display": 8 - }, - "primary": { - "description": "Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services.", - "example": true, - "type": "boolean", - "x-linode-cli-display": 9 - } - }, - "type": "object" + "additionalProperties": false, + "properties": { + "interfaces": { + "description": "Any of the following interface types: VPC, public, or VLAN.", + "items": { + "additionalProperties": false, + "anyOf": [ + { + "additionalProperties": false, + "description": "A public interface configuration defines the properties and settings for a specific public interface in the Linode network.", + "properties": { + "created": { + "description": "When the interface was created.", + "example": "2024-01-01T00:01:01", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 3 + }, + "default_route": { + "additionalProperties": false, + "description": "Indicates if the interface is used as a default route.", + "nullable": true, + "properties": { + "ipv4": { + "default": false, + "description": "Indicates if the interface is used for the IPv4 default route. Only one interface per Linode can have the IPv4 default route.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 5 }, - "type": "array" + "ipv6": { + "default": false, + "description": "Indicates if the interface is used for the IPv6 default route. Only one interface per Linode can have the IPv6 default route.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 6 + } }, - "shared": { - "description": "The IPv4 address assigned to this Linode interface, which is also shared with another Linode.", - "items": { - "additionalProperties": false, - "properties": { - "address": { - "description": "Shared IPv4 address.", - "example": "172.222.33.4", - "type": "string", - "x-linode-cli-display": 10 - }, - "linode_id": { - "description": "The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created.", - "example": 12345, - "type": "string", - "x-linode-cli-display": 11 - } - }, - "type": "object" - }, - "type": "array" - } + "type": "object" }, - "type": "object" - }, - "ipv6": { - "additionalProperties": false, - "description": "The interface's public IPv6 configuration.", - "properties": { - "ranges": { - "description": "List of IPv6 ranges assigned to this interface.", - "items": { + "id": { + "description": "__Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0.", + "example": 1234, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "mac_address": { + "description": "A 48-bit MAC address used to identify the Linode\u2019s interface. A public interface's `mac_address` does not change, even if the public interface is deleted and then recreated.", + "example": "22:00:AB:CD:EF:01", + "maxLength": 64, + "minLength": 1, + "pattern": "[a-zA-Z0-9-]+", + "type": "string", + "x-linode-cli-display": 2 + }, + "public": { + "additionalProperties": false, + "description": "Public interface type.", + "properties": { + "ipv4": { "additionalProperties": false, + "description": "The interface's public IPv4 `addresses`.", "properties": { - "range": { - "description": "IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`).", - "example": "2600:3c09:e001:59::/64", - "type": "string", - "x-linode-cli-display": 16 + "addresses": { + "description": "The public IPv4 addresses and primary settings for this public interface.", + "items": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The public IPv4 address assigned to this interface.", + "example": "172.232.100.100", + "type": "string", + "x-linode-cli-display": 8 + }, + "primary": { + "description": "Indicates if the public IPv4 address serves as the source address for traffic routing within the Linode and other corresponding network interfaces and services.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 9 + } + }, + "type": "object" + }, + "type": "array" }, - "route_target": { - "description": "The public IPv6 address that the `range` is routed to.", - "example": "2600:3c09::ff:feab:cdef", - "type": "string", - "x-linode-cli-display": 17 + "shared": { + "description": "The IPv4 address assigned to this Linode interface, which is also shared with another Linode.", + "items": { + "additionalProperties": false, + "properties": { + "address": { + "description": "Shared IPv4 address.", + "example": "172.222.33.4", + "type": "string", + "x-linode-cli-display": 10 + }, + "linode_id": { + "description": "The ID of the Linode this address currently belongs to. For IPv4 addresses, by default this is the Linode this address was assigned when created.", + "example": 12345, + "type": "string", + "x-linode-cli-display": 11 + } + }, + "type": "object" + }, + "type": "array" } }, "type": "object" }, - "type": "array" - }, - "shared": { - "description": "The IPv6 address assigned to this Linode interface, which is also shared with another Linode.", - "items": { + "ipv6": { "additionalProperties": false, + "description": "The interface's public IPv6 configuration.", "properties": { - "range": { - "description": "The IPv6 address range.", - "example": "2600:3c09:e001:2a::/64", - "type": "string", - "x-linode-cli-display": 14 + "ranges": { + "description": "List of IPv6 ranges assigned to this interface.", + "items": { + "additionalProperties": false, + "properties": { + "range": { + "description": "IPv6 range in CIDR notation (`2600:0db8::1/64`) or prefix-only (`/64`).", + "example": "2600:3c09:e001:59::/64", + "type": "string", + "x-linode-cli-display": 16 + }, + "route_target": { + "description": "The public IPv6 address that the `range` is routed to.", + "example": "2600:3c09::ff:feab:cdef", + "type": "string", + "x-linode-cli-display": 17 + } + }, + "type": "object" + }, + "type": "array" }, - "route_target": { - "description": "The public IPv6 address that the `range` is routed to.", - "example": null, - "type": "string", - "x-linode-cli-display": 15 - } - }, - "type": "object" - }, - "type": "array" - }, - "slaac": { - "description": "The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center.", - "items": { - "additionalProperties": false, - "properties": { - "address": { - "description": "Public IPv6 addresses assigned to this interface.", - "example": "2600:3c09::ff:feab:cdef", - "type": "string", - "x-linode-cli-display": 12 + "shared": { + "description": "The IPv6 address assigned to this Linode interface, which is also shared with another Linode.", + "items": { + "additionalProperties": false, + "properties": { + "range": { + "description": "The IPv6 address range.", + "example": "2600:3c09:e001:2a::/64", + "type": "string", + "x-linode-cli-display": 14 + }, + "route_target": { + "description": "The public IPv6 address that the `range` is routed to.", + "example": null, + "type": "string", + "x-linode-cli-display": 15 + } + }, + "type": "object" + }, + "type": "array" }, - "prefix": { - "description": "The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS.", - "example": 64, - "type": "integer", - "x-linode-cli-display": 13 + "slaac": { + "description": "The public `slaac` and subnet prefix settings for this public interface that is used to communicate over the public internet, and with other services in the same data center.", + "items": { + "additionalProperties": false, + "properties": { + "address": { + "description": "Public IPv6 addresses assigned to this interface.", + "example": "2600:3c09::ff:feab:cdef", + "type": "string", + "x-linode-cli-display": 12 + }, + "prefix": { + "description": "The prefix length advertised for SLAAC to use. Only the specific (`/128`) EUI-64 address derived from the interface's MAC address is supported. To ensure the MAC-based EUI-64 address is used, privacy addressing needs to be disabled. Network Helper automatically configures the MAC-derived EUI-64 address. If you disable Network Helper or use an unsupported operating system, follow the specific instructions for your OS.", + "example": 64, + "type": "integer", + "x-linode-cli-display": 13 + } + }, + "type": "object" + }, + "type": "array" } }, "type": "object" - }, - "type": "array" - } + } + }, + "type": "object" }, - "type": "object" - } - }, - "type": "object" - }, - "updated": { - "description": "When the interface was last updated.", - "example": "2024-01-01T00:01:01", - "format": "date-time", - "type": "string", - "x-linode-cli-display": 4 - }, - "version": { - "description": "Interface version number that increments when the interface updates.", - "example": 1, - "type": "integer", - "x-linode-cli-display": 7 - }, - "vlan": { - "description": "The value is `null` if this is not a VLAN interface.", - "example": null, - "nullable": true, - "type": "object" - }, - "vpc": { - "additionalProperties": false, - "description": "The value is `null` if this is not a VPC interface.", - "example": null, - "nullable": true, - "type": "object" - } - }, - "title": "Public interface", - "type": "object", - "x-akamai": { - "file-path": "schemas/linode-interface-public.yaml" - } - }, - { - "additionalProperties": false, - "description": "A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network.", - "properties": { - "created": { - "description": "When the interface was created.", - "example": "2024-01-01T00:01:01", - "format": "date-time", - "type": "string", - "x-linode-cli-display": 3 - }, - "id": { - "description": "__Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0.", - "example": 1234, - "readOnly": true, - "type": "integer", - "x-linode-cli-display": 1 - }, - "mac_address": { - "description": "A 48-bit MAC address used to identify the Linode\u2019s interface. The `mac_address` of an interface remains constant and does not change.", - "example": "22:00:AB:CD:EF:01", - "maxLength": 64, - "minLength": 1, - "pattern": "[a-zA-Z0-9-]+", - "type": "string", - "x-linode-cli-display": 2 - }, - "public": { - "description": "The value is `null` if this isn't a public interface.", - "example": null, - "nullable": true, - "type": "object" - }, - "updated": { - "description": "When the interface was last updated.", - "example": "2024-01-01T00:01:01", - "format": "date-time", - "type": "string", - "x-linode-cli-display": 4 - }, - "version": { - "description": "Interface version number that is incremented when the interface is updated.", - "example": 1, - "type": "integer", - "x-linode-cli-display": 5 - }, - "vlan": { - "additionalProperties": false, - "description": "VLAN interface type.", - "properties": { - "ipam_address": { - "description": "This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation.", - "example": "10.0.0.1/24", - "format": "ip/netmask", - "nullable": true, - "type": "string", - "x-linode-cli-display": 7 + "updated": { + "description": "When the interface was last updated.", + "example": "2024-01-01T00:01:01", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 4 + }, + "version": { + "description": "Interface version number that increments when the interface updates.", + "example": 1, + "type": "integer", + "x-linode-cli-display": 7 + }, + "vlan": { + "description": "The value is `null` if this is not a VLAN interface.", + "example": null, + "nullable": true, + "type": "object" + }, + "vpc": { + "additionalProperties": false, + "description": "The value is `null` if this is not a VPC interface.", + "example": null, + "nullable": true, + "type": "object" + } }, - "vlan_label": { - "description": "The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`.", - "example": "my-vlan", - "type": "string", - "x-linode-cli-display": 6 + "title": "Public interface", + "type": "object", + "x-akamai": { + "file-path": "schemas/linode-interface-public.yaml" } }, - "type": "object" - }, - "vpc": { - "description": "The value is `null` if this isn't a VPC interface.", - "example": null, - "nullable": true, - "type": "object" - } - }, - "title": "VLAN interface", - "type": "object", - "x-akamai": { - "file-path": "schemas/linode-interface-vlan.yaml" - } - }, - { - "additionalProperties": false, - "description": "A VPC interface configuration defines settings for a specific VPC interface in the Linode network.", - "properties": { - "created": { - "description": "When the interface was created.", - "example": "2025-01-01 00:01:01", - "format": "date-time", - "type": "string", - "x-linode-cli-display": 3 - }, - "default_route": { - "additionalProperties": false, - "description": "Indicates if the interface serves as a default route.", - "properties": { - "ipv4": { - "default": false, - "description": "Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route.", - "example": true, - "type": "boolean", - "x-linode-cli-display": 5 + { + "additionalProperties": false, + "description": "A VLAN interface configuration defines the properties and settings for a specific VLAN interface in the Linode network.", + "properties": { + "created": { + "description": "When the interface was created.", + "example": "2024-01-01T00:01:01", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 3 + }, + "id": { + "description": "__Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0.", + "example": 1234, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "mac_address": { + "description": "A 48-bit MAC address used to identify the Linode\u2019s interface. The `mac_address` of an interface remains constant and does not change.", + "example": "22:00:AB:CD:EF:01", + "maxLength": 64, + "minLength": 1, + "pattern": "[a-zA-Z0-9-]+", + "type": "string", + "x-linode-cli-display": 2 + }, + "public": { + "description": "The value is `null` if this isn't a public interface.", + "example": null, + "nullable": true, + "type": "object" + }, + "updated": { + "description": "When the interface was last updated.", + "example": "2024-01-01T00:01:01", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 4 + }, + "version": { + "description": "Interface version number that is incremented when the interface is updated.", + "example": 1, + "type": "integer", + "x-linode-cli-display": 5 + }, + "vlan": { + "additionalProperties": false, + "description": "VLAN interface type.", + "properties": { + "ipam_address": { + "description": "This VLAN interface's private IPv4 address in classless inter-domain routing (CIDR) notation.", + "example": "10.0.0.1/24", + "format": "ip/netmask", + "nullable": true, + "type": "string", + "x-linode-cli-display": 7 + }, + "vlan_label": { + "description": "The VLAN's label. VLAN interfaces on the same Linode must have a unique `vlan_label`.", + "example": "my-vlan", + "type": "string", + "x-linode-cli-display": 6 + } + }, + "type": "object" + }, + "vpc": { + "description": "The value is `null` if this isn't a VPC interface.", + "example": null, + "nullable": true, + "type": "object" + } + }, + "title": "VLAN interface", + "type": "object", + "x-akamai": { + "file-path": "schemas/linode-interface-vlan.yaml" } }, - "type": "object" - }, - "id": { - "description": "__Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0.", - "example": 1234, - "readOnly": true, - "type": "integer", - "x-linode-cli-display": 1 - }, - "mac_address": { - "description": "A 48-bit MAC address used to identify the Linode\u2019s interface. The `mac_address` of an interface remains constant and does not change.", - "example": "22:00:AB:CD:EF:01", - "maxLength": 64, - "minLength": 1, - "pattern": "[a-zA-Z0-9-]+", - "type": "string", - "x-linode-cli-display": 2 - }, - "public": { - "additionalProperties": false, - "description": "The value is `null` if this is not a public interface.", - "example": null, - "nullable": true, - "type": "object" - }, - "updated": { - "description": "When the interface last updated.", - "example": "2025-01-01 00:01:01", - "format": "date-time", - "type": "string", - "x-linode-cli-display": 4 - }, - "version": { - "description": "The version number of the interface configuration, incremented each time the interface is updated.", - "example": 1, - "type": "integer", - "x-linode-cli-display": 6 - }, - "vlan": { - "additionalProperties": false, - "description": "The value is `null` if this is not a VLAN interface.", - "example": null, - "nullable": true, - "type": "object" - }, - "vpc": { - "additionalProperties": false, - "description": "VPC interface type.", - "properties": { - "ipv4": { - "additionalProperties": false, - "description": "The interface's IPv4 `addresses` and `ranges` configuration.", - "properties": { - "addresses": { - "description": "IPv4 address settings for this VPC interface.", - "items": { + { + "additionalProperties": false, + "description": "A VPC interface configuration defines settings for a specific VPC interface in the Linode network.", + "properties": { + "created": { + "description": "When the interface was created.", + "example": "2025-01-01 00:01:01", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 3 + }, + "default_route": { + "additionalProperties": false, + "description": "Indicates if the interface serves as a default route.", + "properties": { + "ipv4": { + "default": false, + "description": "Indicates if the interface serves as the IPv4 default route. Only one interface per Linode can have the IPv4 default route.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, + "id": { + "description": "__Read-only__ The unique ID for this interface. For `dry_run` [upgrades](https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces), a unique `id` is not generated for the interface and its value is set to 0.", + "example": 1234, + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 1 + }, + "mac_address": { + "description": "A 48-bit MAC address used to identify the Linode\u2019s interface. The `mac_address` of an interface remains constant and does not change.", + "example": "22:00:AB:CD:EF:01", + "maxLength": 64, + "minLength": 1, + "pattern": "[a-zA-Z0-9-]+", + "type": "string", + "x-linode-cli-display": 2 + }, + "public": { + "additionalProperties": false, + "description": "The value is `null` if this is not a public interface.", + "example": null, + "nullable": true, + "type": "object" + }, + "updated": { + "description": "When the interface last updated.", + "example": "2025-01-01 00:01:01", + "format": "date-time", + "type": "string", + "x-linode-cli-display": 4 + }, + "version": { + "description": "The version number of the interface configuration, incremented each time the interface is updated.", + "example": 1, + "type": "integer", + "x-linode-cli-display": 6 + }, + "vlan": { + "additionalProperties": false, + "description": "The value is `null` if this is not a VLAN interface.", + "example": null, + "nullable": true, + "type": "object" + }, + "vpc": { + "additionalProperties": false, + "description": "VPC interface type.", + "properties": { + "ipv4": { "additionalProperties": false, + "description": "The interface's IPv4 `addresses` and `ranges` configuration.", "properties": { - "address": { - "description": "The VPC subnet IPv4 address.", - "example": "192.168.22.3", - "type": "string", - "x-linode-cli-display": 9 - }, - "nat_1_1_address": { - "description": "The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.", - "example": null, - "nullable": true, - "type": "string", - "x-linode-cli-display": 11 + "addresses": { + "description": "IPv4 address settings for this VPC interface.", + "items": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The VPC subnet IPv4 address.", + "example": "192.168.22.3", + "type": "string", + "x-linode-cli-display": 9 + }, + "nat_1_1_address": { + "description": "The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.", + "example": null, + "nullable": true, + "type": "string", + "x-linode-cli-display": 11 + }, + "primary": { + "description": "Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 10 + } + }, + "type": "object" + }, + "type": "array" }, - "primary": { - "description": "Indicates if the IPv4 address is used to set up a source address for routes inside the Linode for the corresponding network interface.", - "example": true, - "type": "boolean", - "x-linode-cli-display": 10 + "ranges": { + "description": "VPC IPv4 ranges.", + "items": { + "additionalProperties": false, + "properties": { + "range": { + "description": "CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`).", + "example": "192.168.22.16/28", + "type": "string", + "x-linode-cli-display": 12 + } + }, + "type": "object" + }, + "type": "array" } }, "type": "object" }, - "type": "array" - }, - "ranges": { - "description": "VPC IPv4 ranges.", - "items": { - "additionalProperties": false, - "properties": { - "range": { - "description": "CIDR notation of a range (`1.2.3.4/24`) or prefix only (`/24`).", - "example": "192.168.22.16/28", - "type": "string", - "x-linode-cli-display": 12 - } - }, - "type": "object" + "subnet_id": { + "description": "VPC subnet's unique identifier.", + "example": 1234, + "type": "integer", + "x-linode-cli-display": 8 }, - "type": "array" - } - }, - "type": "object" - }, - "subnet_id": { - "description": "VPC subnet's unique identifier.", - "example": 1234, - "type": "integer", - "x-linode-cli-display": 8 + "vpc_id": { + "description": "VPC's unique identifier.", + "example": 1234, + "type": "integer", + "x-linode-cli-display": 7 + } + }, + "type": "object" + } }, - "vpc_id": { - "description": "VPC's unique identifier.", - "example": 1234, - "type": "integer", - "x-linode-cli-display": 7 + "title": "VPC interface", + "type": "object", + "x-akamai": { + "file-path": "schemas/linode-interface-vpc.yaml" } - }, - "type": "object" - } + } + ], + "type": "object" }, - "title": "VPC interface", - "type": "object", - "x-akamai": { - "file-path": "schemas/linode-interface-vpc.yaml" - } + "type": "array" } + }, + "required": [ + "interfaces" ], "type": "object", "x-akamai": { - "file-path": "schemas/linode-interface.yaml" + "file-path": "schemas/linode-interfaces.yaml" } }, "x-linode-cli-nested-list": "interfaces", @@ -59666,240 +61222,8 @@ "items": { "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", "example": [ - 2, - 3 - ], - "readOnly": true, - "type": "integer" - }, - "type": "array", - "x-linode-cli-display": 5 - }, - "ipv6_interface_id": { - "default": null, - "description": "The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs.", - "example": 1, - "nullable": true, - "type": "integer", - "x-linode-cli-display": 4 - } - }, - "type": "object" - }, - "network_helper": { - "description": "Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper.", - "example": false, - "type": "boolean", - "x-linode-cli-display": 1 - } - }, - "type": "object", - "x-akamai": { - "file-path": "schemas/linode-interface-settings.yaml" - } - }, - "x-example": { - "x-ref": "../examples/linode-interface-settings-200.json" - } - } - }, - "description": "Returns a single Linode interface settings 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": [ - "linode:read_only" - ] - } - ], - "summary": "List Linode interface settings", - "tags": [ - "Linode interfaces" - ], - "x-akamai": { - "status": "BETA", - "tabs": [ - { - "syntax": "linode-cli linodes interfaces-settings-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": "interfaces-settings-list", - "x-linode-grant": "read_only" - }, - "put": { - "description": "__Beta__ Updates Network Helper and default route settings on the Linode.\n\n\n<>\n\n---\n\n\n- __CLI: Public interface__.\n\n ```\n linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true \\\n --default_route.ipv4_interface_id 4527 \\\n --default_route.ipv6_interface_id 4541 \\\n --default_route.ipv4_eligible_interface_ids 4527 \\\n --default_route.ipv4_eligible_interface_ids 4541 \\\n --default_route.ipv6_eligible_interface_ids 4527 \\\n --default_route.ipv6_eligible_interface_ids 4541\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __CLI: VLAN interface__.\n\n ```\n linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __CLI: VPC interface__.\n\n ```\n linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true \\\n --default_route.ipv4_interface_id 5527 \\\n --default_route.ipv4_eligible_interface_ids 5527 \\\n --default_route.ipv4_eligible_interface_ids 5541\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/put-linode-interface-settings" - }, - "operationId": "put-linode-interface-settings", - "requestBody": { - "content": { - "application/json": { - "schema": { - "additionalProperties": false, - "description": "Linode interface settings.", - "properties": { - "default_route": { - "additionalProperties": false, - "description": "Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role.", - "properties": { - "ipv4_eligible_interface_ids": { - "description": "The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role.", - "items": { - "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", - "example": [ - 1, - 2 - ], - "readOnly": true, - "type": "integer", - "x-linode-cli-display": 3 - }, - "type": "array" - }, - "ipv4_interface_id": { - "default": null, - "description": "The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs.", - "example": 1, - "nullable": true, - "type": "integer", - "x-linode-cli-display": 2 - }, - "ipv6_eligible_interface_ids": { - "description": "The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role.", - "items": { - "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", - "example": [ - 2, - 3 - ], - "readOnly": true, - "type": "integer" - }, - "type": "array", - "x-linode-cli-display": 5 - }, - "ipv6_interface_id": { - "default": null, - "description": "The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs.", - "example": 1, - "nullable": true, - "type": "integer", - "x-linode-cli-display": 4 - } - }, - "type": "object" - }, - "network_helper": { - "description": "Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper.", - "example": "{{network_helper}}", - "type": "boolean", - "x-linode-cli-display": 1 - } - }, - "type": "object", - "x-akamai": { - "file-path": "schemas/linode-interface-settings.yaml" - } - }, - "x-example": { - "x-ref": "../examples/linode-interface.json" - } - } - }, - "description": "Update Linode interface settings. Before enabling or disabling Network Helper, you need to power off the Linode.", - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "additionalProperties": false, - "description": "Linode interface settings.", - "properties": { - "default_route": { - "additionalProperties": false, - "description": "Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role.", - "properties": { - "ipv4_eligible_interface_ids": { - "description": "The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role.", - "items": { - "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", - "example": [ - 1, - 2 - ], - "readOnly": true, - "type": "integer", - "x-linode-cli-display": 3 - }, - "type": "array" - }, - "ipv4_interface_id": { - "default": null, - "description": "The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs.", - "example": 1, - "nullable": true, - "type": "integer", - "x-linode-cli-display": 2 - }, - "ipv6_eligible_interface_ids": { - "description": "The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role.", - "items": { - "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", - "example": [ - 2, - 3 + 4, + 5 ], "readOnly": true, "type": "integer" @@ -59910,9 +61234,241 @@ "ipv6_interface_id": { "default": null, "description": "The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs.", + "example": 4, + "nullable": true, + "type": "integer", + "x-linode-cli-display": 4 + } + }, + "type": "object" + }, + "network_helper": { + "description": "Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper.", + "example": false, + "type": "boolean", + "x-linode-cli-display": 1 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/linode-interface-settings.yaml" + } + }, + "x-example": { + "x-ref": "../examples/linode-interface-settings-200.json" + } + } + }, + "description": "Returns a single Linode interface settings 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": [ + "linode:read_only" + ] + } + ], + "summary": "List Linode interface settings", + "tags": [ + "Linode interfaces" + ], + "x-akamai": { + "status": "BETA", + "tabs": [ + { + "syntax": "linode-cli linodes interfaces-settings-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": "interfaces-settings-list", + "x-linode-grant": "read_only" + }, + "put": { + "description": "__Beta__ Updates Network Helper and default route settings on the Linode.\n\n\n<>\n\n---\n\n\n- __CLI: Public interface__.\n\n ```\n linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true \\\n --default_route.ipv4_interface_id 4527 \\\n --default_route.ipv6_interface_id 4541 \\\n --default_route.ipv4_eligible_interface_ids 4527 \\\n --default_route.ipv4_eligible_interface_ids 4541 \\\n --default_route.ipv6_eligible_interface_ids 4527 \\\n --default_route.ipv6_eligible_interface_ids 4541\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __CLI: VLAN interface__.\n\n ```\n linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true\n ```\n\n [Learn more...](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli)\n\n- __CLI: VPC interface__.\n\n ```\n linode-cli linodes interface-settings-update $linodeId \\\n --network_helper true \\\n --default_route.ipv4_interface_id 5527 \\\n --default_route.ipv4_eligible_interface_ids 5527 \\\n --default_route.ipv4_eligible_interface_ids 5541\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/put-linode-interface-settings" + }, + "operationId": "put-linode-interface-settings", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "Linode interface settings.", + "properties": { + "default_route": { + "additionalProperties": false, + "description": "Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role.", + "properties": { + "ipv4_eligible_interface_ids": { + "description": "The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role.", + "items": { + "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", + "example": [ + 1, + 2 + ], + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 3 + }, + "type": "array" + }, + "ipv4_interface_id": { + "default": null, + "description": "The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs.", + "example": 1, + "nullable": true, + "type": "integer", + "x-linode-cli-display": 2 + }, + "ipv6_eligible_interface_ids": { + "description": "The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role.", + "items": { + "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", + "example": [ + 4, + 5 + ], + "readOnly": true, + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + }, + "ipv6_interface_id": { + "default": null, + "description": "The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs.", + "example": 4, + "nullable": true, + "type": "integer", + "x-linode-cli-display": 4 + } + }, + "type": "object" + }, + "network_helper": { + "description": "Enables the Network Helper feature. The default value is determined by the `network_helper` setting in the [account settings](https://techdocs.akamai.com/linode-api/reference/get-account-settings). [Power off the Linode](https://techdocs.akamai.com/linode-api/reference/post-shutdown-linode-instance) before disabling or enabling Network Helper.", + "example": "{{network_helper}}", + "type": "boolean", + "x-linode-cli-display": 1 + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/linode-interface-settings.yaml" + } + }, + "x-example": { + "x-ref": "../examples/linode-interface.json" + } + } + }, + "description": "Update Linode interface settings. Before enabling or disabling Network Helper, you need to power off the Linode.", + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "description": "Linode interface settings.", + "properties": { + "default_route": { + "additionalProperties": false, + "description": "Interfaces used for the IPv4 `default_route` and IPv6 `default_route` when multiple interfaces are eligible for the role.", + "properties": { + "ipv4_eligible_interface_ids": { + "description": "The VPC or public interface IDs that are eligible to be the IPv4 `default_route` for this Linode. If the `ipv4_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv4 default route role.", + "items": { + "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", + "example": [ + 1, + 2 + ], + "readOnly": true, + "type": "integer", + "x-linode-cli-display": 3 + }, + "type": "array" + }, + "ipv4_interface_id": { + "default": null, + "description": "The VPC or public interface ID assigned as the IPv4 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv4 interface IDs.", "example": 1, "nullable": true, "type": "integer", + "x-linode-cli-display": 2 + }, + "ipv6_eligible_interface_ids": { + "description": "The public interface IDs that are eligible to be the IPv6 `default_route` for this Linode. If the `ipv6_eligible_interface_ids` array is empty, this means there are no eligible interfaces eligible for the IPv6 default route role.", + "items": { + "description": "__Read-only__ Eligible IDs, or an empty array if there are none.", + "example": [ + 4, + 5 + ], + "readOnly": true, + "type": "integer" + }, + "type": "array", + "x-linode-cli-display": 5 + }, + "ipv6_interface_id": { + "default": null, + "description": "The public interface ID assigned as the IPv6 `default_route`. The [List Linode interface settings](https://techdocs.akamai.com/linode-api/reference/get-linode-interface-settings) operation provides eligible IPv6 interface IDs.", + "example": 4, + "nullable": true, + "type": "integer", "x-linode-cli-display": 4 } }, @@ -60784,10 +62340,7 @@ "range": { "default": null, "description": "IPv6 range in CIDR notation (`2001:0db8::1/64`) or prefix-only (`/64`).\n- The prefix of /64 or /56 block of IPv6 addresses.\n- CIDR notation ranges must be within your assigned ranges.", - "example": [ - "2001:0db8::1/64", - "/64" - ], + "example": "/64", "type": "string" } }, @@ -65122,6 +66675,18 @@ "example": "linode/debian9", "type": "string" }, + "maintenance_policy": { + "description": "__Beta__ Defines the maintenance policy for this Linode. Choose from the following policies:\n\n- `linode/migrate`: Migrates the Linode to a new host while it remains fully operational (with some performance degradation). Recommended for maximizing availability.\n- `linode/power_off_on`: Powers off the Linode at the start of the maintenance event and reboots it once the maintenance finishes. Recommended for maximizing performance.\n\nReview [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "metadata": { "additionalProperties": false, "description": "__Write-only__ An object containing user-defined data relevant to the creation of Linodes.", @@ -65464,6 +67029,18 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -71643,6 +73220,19 @@ }, "type": "object" }, + "audit_logs_enabled": { + "default": false, + "description": "__Beta__, __LKE Enterprise__ Enables audit logs on the cluster's control plane. These logs provide detailed information about user access and the operations performed on the cluster, which can be useful for security and compliance purposes.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 4 + }, "high_availability": { "default": false, "description": "Enables High Availability for the cluster's control plane components. It defaults to `false`. Enabling High Availability for LKE is an irreversible change.", @@ -71714,7 +73304,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": 6, "maximum": 100, "minimum": 1, @@ -71724,7 +73314,7 @@ "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": { "additionalProperties": false, - "description": "The values to assign to each partition in this Node Pool's custom disk layout.", + "description": "The values to assign to each partition in this node pool's custom disk layout.", "properties": { "size": { "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.", @@ -71747,9 +73337,23 @@ "x-linode-cli-format": "json" }, "k8s_version": { - "description": "__Beta__ The LKE-specific Kubernetes version to use for the worker nodes within this node pool. This field is required when creating node pools on LKE Enterprise clusters.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __LKE Enterprise__ The LKE-specific Kubernetes version to use for the worker nodes within this node pool. This field is required when creating node pools on LKE Enterprise clusters.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "example": "v1.31.8+lke3", "type": "string", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + } + }, + "label": { + "description": "__Beta__ An optional label for this node pool. Labels can be up to 32 characters long, containing lowercase alphanumeric characters optionally interspersed with dashes.\n\nA node pool's label also cascades down to its nodes (Linodes). If a label is defined on the node pool, the label for each node is `--`. If not, the label is `--`.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": "app-pool", + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])$", + "type": "string", "x-akamai": { "status": "BETA" } @@ -71769,7 +73373,7 @@ "type": "object" }, "tags": { - "description": "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only.", + "description": "__Filterable__ Organizational tags to apply to this node pool. When you apply tags to LKE Enterprise node pools, they also apply to the nodes (Linodes) within the node pool. Tags don't cascade down to nodes in non-Enterprise node pools.", "example": [ "example tag", "another example" @@ -71840,12 +73444,12 @@ "type": "array" }, "type": { - "description": "The Linode Type for all of the nodes in the Node Pool.", + "description": "The Linode Type for all of the nodes in the node pool.", "example": "g6-standard-4", "type": "string" }, "update_strategy": { - "description": "__Beta__ Determines when the worker nodes within this node pool upgrade to the latest selected Kubernetes version, after the cluster has been upgraded. This field is required when creating node pools on LKE Enterprise clusters.\n\n- `rolling_update`: Immediately triggers a recycle of this node pool when the Kubernetes version is updated.\n- `on_recycle` (default): Does not trigger any immediate recycle. New worker nodes are created with the new Kubernetes version. Existing worker nodes will be upgraded when a recycle is manually triggered.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __LKE Enterprise__ Determines when the worker nodes within this node pool upgrade to the latest selected Kubernetes version, after the cluster has been upgraded. This field is required when creating node pools on LKE Enterprise clusters.\n\n- `rolling_update`: Immediately triggers a recycle of this node pool when the Kubernetes version is updated.\n- `on_recycle` (default): Does not trigger any immediate recycle. New worker nodes are created with the new Kubernetes version. Existing worker nodes will be upgraded when a recycle is manually triggered.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "enum": [ "rolling_update", "on_recycle" @@ -71853,6 +73457,9 @@ "example": "on_recycle", "type": "string", "x-akamai": { + "labels": [ + "LKE Enterprise" + ], "status": "BETA" } } @@ -71880,6 +73487,35 @@ "x-linode-cli-display": 3, "x-linode-filterable": true }, + "stack_type": { + "default": "ipv4", + "description": "__Beta__, __LKE Enterprise__ The networking stack type of the Kubernetes cluster. This specifies that the cluster is IPv4 only (default) or supports both IPv4 and IPv6 (dual-stack).\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "enum": [ + "ipv4", + "ipv4-ipv6" + ], + "example": "{{stack_type}}", + "type": "string", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 9 + }, + "subnet_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC subnet to use for the Kubernetes cluster. This subnet must have both IPv4 and IPv6 enabled (dual-stack). When this field is specified, the cluster is deployed to the given subnet and its corresponding VPC. To specify a VPC and have a subnet auto-allocated, use `vpc_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": "{{subnet_id}}", + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 8 + }, "tags": { "description": "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.", "example": [ @@ -71898,7 +73534,7 @@ "x-linode-filterable": true }, "tier": { - "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is in beta and only works when using the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "enum": [ "standard", "enterprise" @@ -71913,6 +73549,18 @@ }, "x-linode-cli-display": 5, "x-linode-filterable": true + }, + "vpc_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC to use for the Kubernetes cluster. An appropriately sized subnet is auto-allocated. To specify an existing subnet, use `subnet_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": "{{vpc_id}}", + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 7 } }, "required": [ @@ -72019,6 +73667,35 @@ "x-linode-cli-display": 3, "x-linode-filterable": true }, + "stack_type": { + "default": "ipv4", + "description": "__Beta__, __LKE Enterprise__ The networking stack type of the Kubernetes cluster. This specifies that the cluster is IPv4 only (default) or supports both IPv4 and IPv6 (dual-stack).\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "enum": [ + "ipv4", + "ipv4-ipv6" + ], + "example": "ipv4", + "type": "string", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 9 + }, + "subnet_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC subnet to use for the Kubernetes cluster. This subnet must have both IPv4 and IPv6 enabled (dual-stack). When this field is specified, the cluster is deployed to the given subnet and its corresponding VPC. To specify a VPC and have a subnet auto-allocated, use `vpc_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": 123456, + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 8 + }, "tags": { "description": "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.", "example": [ @@ -72037,7 +73714,7 @@ "x-linode-filterable": true }, "tier": { - "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is in beta and only works when using the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "enum": [ "standard", "enterprise" @@ -72059,6 +73736,18 @@ "format": "date-time", "readOnly": true, "type": "string" + }, + "vpc_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC to use for the Kubernetes cluster. An appropriately sized subnet is auto-allocated. To specify an existing subnet, use `subnet_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": 123456, + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 7 } }, "type": "object", @@ -72236,6 +73925,35 @@ "x-linode-cli-display": 3, "x-linode-filterable": true }, + "stack_type": { + "default": "ipv4", + "description": "__Beta__, __LKE Enterprise__ The networking stack type of the Kubernetes cluster. This specifies that the cluster is IPv4 only (default) or supports both IPv4 and IPv6 (dual-stack).\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "enum": [ + "ipv4", + "ipv4-ipv6" + ], + "example": "ipv4", + "type": "string", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 9 + }, + "subnet_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC subnet to use for the Kubernetes cluster. This subnet must have both IPv4 and IPv6 enabled (dual-stack). When this field is specified, the cluster is deployed to the given subnet and its corresponding VPC. To specify a VPC and have a subnet auto-allocated, use `vpc_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": 123456, + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 8 + }, "tags": { "description": "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.", "example": [ @@ -72254,7 +73972,7 @@ "x-linode-filterable": true }, "tier": { - "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is in beta and only works when using the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "enum": [ "standard", "enterprise" @@ -72276,6 +73994,18 @@ "format": "date-time", "readOnly": true, "type": "string" + }, + "vpc_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC to use for the Kubernetes cluster. An appropriately sized subnet is auto-allocated. To specify an existing subnet, use `subnet_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": 123456, + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 7 } }, "type": "object", @@ -72500,6 +74230,35 @@ "x-linode-cli-display": 3, "x-linode-filterable": true }, + "stack_type": { + "default": "ipv4", + "description": "__Beta__, __LKE Enterprise__ The networking stack type of the Kubernetes cluster. This specifies that the cluster is IPv4 only (default) or supports both IPv4 and IPv6 (dual-stack).\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "enum": [ + "ipv4", + "ipv4-ipv6" + ], + "example": "ipv4", + "type": "string", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 9 + }, + "subnet_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC subnet to use for the Kubernetes cluster. This subnet must have both IPv4 and IPv6 enabled (dual-stack). When this field is specified, the cluster is deployed to the given subnet and its corresponding VPC. To specify a VPC and have a subnet auto-allocated, use `vpc_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": 123456, + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 8 + }, "tags": { "description": "__Filterable__ An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.", "example": [ @@ -72518,7 +74277,7 @@ "x-linode-filterable": true }, "tier": { - "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is in beta and only works when using the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __Filterable__ The desired Kubernetes tier, either `standard` or `enterprise`.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "enum": [ "standard", "enterprise" @@ -72540,6 +74299,18 @@ "format": "date-time", "readOnly": true, "type": "string" + }, + "vpc_id": { + "description": "__Beta__, __LKE Enterprise__ The ID of the VPC to use for the Kubernetes cluster. An appropriately sized subnet is auto-allocated. To specify an existing subnet, use `subnet_id` instead. If `subnet_id` and `vpc_id` are both unspecified, a new VPC and subnet are auto-allocated for the cluster.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": 123456, + "type": "integer", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 7 } }, "type": "object", @@ -72684,6 +74455,19 @@ }, "type": "object" }, + "audit_logs_enabled": { + "default": false, + "description": "__Beta__, __LKE Enterprise__ Enables audit logs on the cluster's control plane. These logs provide detailed information about user access and the operations performed on the cluster, which can be useful for security and compliance purposes.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": true, + "type": "boolean", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + }, + "x-linode-cli-display": 4 + }, "high_availability": { "default": false, "description": "Enables High Availability for the cluster's control plane components. It defaults to `false`. Enabling High Availability for LKE is an irreversible change.", @@ -72746,6 +74530,20 @@ "schema": { "additionalProperties": false, "properties": { + "control_plane": { + "additionalProperties": false, + "description": "Defines settings for the Kubernetes control plane, including enabling High Availability (HA) for the control plane.", + "properties": { + "high_availability": { + "default": false, + "description": "Enables High Availability for the cluster's control plane components. It defaults to `false`. Enabling High Availability for LKE is an irreversible change.", + "example": true, + "type": "boolean", + "x-linode-cli-display": 5 + } + }, + "type": "object" + }, "created": { "description": "__Read-only__ When this Kubernetes cluster was created.", "example": "2019-09-12T21:25:30Z", @@ -72856,7 +74654,7 @@ "x-linode-cli-action": "cluster-update" }, "delete": { - "description": "Deletes a Cluster you have permission to `read_write`.\n\n__Deleting a Cluster is a destructive action and cannot be undone.__\n\nDeleting a Cluster:\n\n- Deletes all Linodes in all pools within this Kubernetes cluster\n- Deletes all supporting Kubernetes services for this Kubernetes cluster (API server, etcd, etc)\n- Deletes all NodeBalancers created by this Kubernetes cluster\n- Does not delete any of the volumes created by this Kubernetes cluster\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke cluster-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 lke:read_write\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Deletes a cluster from your account.\n\n> \ud83d\udea7\n>\n> Deleting a cluster is a destructive action and can't be undone.\n\nWhen a cluster is deleted, all supporting Kubernetes services are removed from your account along with all Linodes in your cluster's node pools. You must have `read_write` permission to the cluster to initiate deletion.\n\nSome additional services associated with your cluster remain active on your account. These services include NodeBalancers and Block Storage volumes. To avoid further charges, delete these services manually through Cloud Manager, the Linode CLI, or the Linode API.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli lke cluster-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 lke: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-lke-cluster" @@ -74739,7 +76537,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": 6, "maximum": 100, "minimum": 1, @@ -74749,7 +76547,7 @@ "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": { "additionalProperties": false, - "description": "The values to assign to each partition in this Node Pool's custom disk layout.", + "description": "The values to assign to each partition in this node pool's custom disk layout.", "properties": { "size": { "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.", @@ -74772,9 +76570,23 @@ "x-linode-cli-format": "json" }, "k8s_version": { - "description": "__Beta__ The LKE-specific Kubernetes version to use for the worker nodes within this node pool. This field is required when creating node pools on LKE Enterprise clusters.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __LKE Enterprise__ The LKE-specific Kubernetes version to use for the worker nodes within this node pool. This field is required when creating node pools on LKE Enterprise clusters.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "example": "v1.31.8+lke3", "type": "string", + "x-akamai": { + "labels": [ + "LKE Enterprise" + ], + "status": "BETA" + } + }, + "label": { + "description": "__Beta__ An optional label for this node pool. Labels can be up to 32 characters long, containing lowercase alphanumeric characters optionally interspersed with dashes.\n\nA node pool's label also cascades down to its nodes (Linodes). If a label is defined on the node pool, the label for each node is `--`. If not, the label is `--`.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "example": "app-pool", + "maxLength": 32, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])$", + "type": "string", "x-akamai": { "status": "BETA" } @@ -74794,7 +76606,7 @@ "type": "object" }, "tags": { - "description": "__Filterable__ An array of tags applied to this object. Tags are for organizational purposes only.", + "description": "__Filterable__ Organizational tags to apply to this node pool. When you apply tags to LKE Enterprise node pools, they also apply to the nodes (Linodes) within the node pool. Tags don't cascade down to nodes in non-Enterprise node pools.", "example": [ "example tag", "another example" @@ -74865,12 +76677,12 @@ "type": "array" }, "type": { - "description": "The Linode Type for all of the nodes in the Node Pool.", + "description": "The Linode Type for all of the nodes in the node pool.", "example": "g6-standard-4", "type": "string" }, "update_strategy": { - "description": "__Beta__ Determines when the worker nodes within this node pool upgrade to the latest selected Kubernetes version, after the cluster has been upgraded. This field is required when creating node pools on LKE Enterprise clusters.\n\n- `rolling_update`: Immediately triggers a recycle of this node pool when the Kubernetes version is updated.\n- `on_recycle` (default): Does not trigger any immediate recycle. New worker nodes are created with the new Kubernetes version. Existing worker nodes will be upgraded when a recycle is manually triggered.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", + "description": "__Beta__, __LKE Enterprise__ Determines when the worker nodes within this node pool upgrade to the latest selected Kubernetes version, after the cluster has been upgraded. This field is required when creating node pools on LKE Enterprise clusters.\n\n- `rolling_update`: Immediately triggers a recycle of this node pool when the Kubernetes version is updated.\n- `on_recycle` (default): Does not trigger any immediate recycle. New worker nodes are created with the new Kubernetes version. Existing worker nodes will be upgraded when a recycle is manually triggered.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and can only be used with accounts that have been enrolled in the LKE Enterprise LA. Call the URL with the `apiVersion` path parameter set to `v4beta`.", "enum": [ "rolling_update", "on_recycle" @@ -74878,6 +76690,9 @@ "example": "on_recycle", "type": "string", "x-akamai": { + "labels": [ + "LKE Enterprise" + ], "status": "BETA" } } @@ -74915,26 +76730,26 @@ "application/json": { "schema": { "additionalProperties": false, - "description": "The set of Node Pools which are members of the Kubernetes cluster. Node Pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", + "description": "The set of node pools that are members of the Kubernetes cluster. Node pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", "properties": { "autoscaler": { "additionalProperties": false, "description": "When enabled, the number of nodes autoscales within the defined minimum and maximum values.", "properties": { "enabled": { - "description": "Whether autoscaling is enabled for this Node Pool. Defaults to `false`.", + "description": "Whether autoscaling is enabled for this node pool. Defaults to `false`.", "example": true, "type": "boolean" }, "max": { - "description": "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The maximum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 12, "maximum": 100, "minimum": 1, "type": "integer" }, "min": { - "description": "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The minimum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 3, "maximum": 100, "minimum": 1, @@ -74944,7 +76759,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": 6, "maximum": 100, "minimum": 1, @@ -74960,10 +76775,10 @@ "type": "string" }, "disks": { - "description": "This Node Pool's custom disk layout.", + "description": "This node pool's custom disk layout.", "items": { "additionalProperties": false, - "description": "The values to assign to each partition in this Node Pool's custom disk layout.", + "description": "The values to assign to each partition in this node pool's custom disk layout.", "properties": { "size": { "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.", @@ -74986,7 +76801,7 @@ "x-linode-cli-format": "json" }, "id": { - "description": "__Filterable__ This Node Pool's unique ID.", + "description": "__Filterable__ This node pool's unique ID.", "example": 456, "type": "integer", "x-akamai": { @@ -74997,13 +76812,23 @@ "x-linode-filterable": true }, "k8s_version": { - "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.", + "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", "example": "v1.31.8+lke3", "type": "string", "x-akamai": { "status": "BETA" } }, + "label": { + "description": "__Beta__ The optional label defined for this node Pool.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", + "example": "app-pool", + "maxLength": 32, + "minLength": 1, + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "labels": { "additionalProperties": { "maxLength": 63, @@ -75019,7 +76844,7 @@ "type": "object" }, "nodes": { - "description": "Status information for the Nodes which are members of this Node Pool. If a Linode has not been provisioned for a given Node slot, the `instance_id` will be returned as `null`.", + "description": "Status information for the nodes that are members of this node pool. If a Linode has not been provisioned for a given node slot, the `instance_id` is `null`.", "items": { "additionalProperties": false, "description": "__Read-only__ Status information for a Node which is a member of a Kubernetes cluster.", @@ -75118,7 +76943,7 @@ "type": "array" }, "type": { - "description": "The Linode Type for all of the nodes in the Node Pool.", + "description": "The Linode Type for all of the nodes in the node pool.", "example": "g6-standard-4", "type": "string" }, @@ -75231,26 +77056,26 @@ "data": { "items": { "additionalProperties": false, - "description": "The set of Node Pools which are members of the Kubernetes cluster. Node Pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", + "description": "The set of node pools that are members of the Kubernetes cluster. Node pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", "properties": { "autoscaler": { "additionalProperties": false, "description": "When enabled, the number of nodes autoscales within the defined minimum and maximum values.", "properties": { "enabled": { - "description": "Whether autoscaling is enabled for this Node Pool. Defaults to `false`.", + "description": "Whether autoscaling is enabled for this node pool. Defaults to `false`.", "example": true, "type": "boolean" }, "max": { - "description": "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The maximum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 12, "maximum": 100, "minimum": 1, "type": "integer" }, "min": { - "description": "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The minimum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 3, "maximum": 100, "minimum": 1, @@ -75260,7 +77085,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": 6, "maximum": 100, "minimum": 1, @@ -75276,10 +77101,10 @@ "type": "string" }, "disks": { - "description": "This Node Pool's custom disk layout.", + "description": "This node pool's custom disk layout.", "items": { "additionalProperties": false, - "description": "The values to assign to each partition in this Node Pool's custom disk layout.", + "description": "The values to assign to each partition in this node pool's custom disk layout.", "properties": { "size": { "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.", @@ -75302,7 +77127,7 @@ "x-linode-cli-format": "json" }, "id": { - "description": "__Filterable__ This Node Pool's unique ID.", + "description": "__Filterable__ This node pool's unique ID.", "example": 456, "type": "integer", "x-akamai": { @@ -75313,13 +77138,23 @@ "x-linode-filterable": true }, "k8s_version": { - "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.", + "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", "example": "v1.31.8+lke3", "type": "string", "x-akamai": { "status": "BETA" } }, + "label": { + "description": "__Beta__ The optional label defined for this node Pool.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", + "example": "app-pool", + "maxLength": 32, + "minLength": 1, + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "labels": { "additionalProperties": { "maxLength": 63, @@ -75335,7 +77170,7 @@ "type": "object" }, "nodes": { - "description": "Status information for the Nodes which are members of this Node Pool. If a Linode has not been provisioned for a given Node slot, the `instance_id` will be returned as `null`.", + "description": "Status information for the nodes that are members of this node pool. If a Linode has not been provisioned for a given node slot, the `instance_id` is `null`.", "items": { "additionalProperties": false, "description": "__Read-only__ Status information for a Node which is a member of a Kubernetes cluster.", @@ -75434,7 +77269,7 @@ "type": "array" }, "type": { - "description": "The Linode Type for all of the nodes in the Node Pool.", + "description": "The Linode Type for all of the nodes in the node pool.", "example": "g6-standard-4", "type": "string" }, @@ -75487,7 +77322,7 @@ } } }, - "description": "Returns an array of all Pools in this Kubernetes cluster." + "description": "Returns all node pools in this Kubernetes cluster." }, "default": { "content": { @@ -75608,26 +77443,26 @@ "application/json": { "schema": { "additionalProperties": false, - "description": "The set of Node Pools which are members of the Kubernetes cluster. Node Pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", + "description": "The set of node pools that are members of the Kubernetes cluster. Node pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", "properties": { "autoscaler": { "additionalProperties": false, "description": "When enabled, the number of nodes autoscales within the defined minimum and maximum values.", "properties": { "enabled": { - "description": "Whether autoscaling is enabled for this Node Pool. Defaults to `false`.", + "description": "Whether autoscaling is enabled for this node pool. Defaults to `false`.", "example": true, "type": "boolean" }, "max": { - "description": "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The maximum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 12, "maximum": 100, "minimum": 1, "type": "integer" }, "min": { - "description": "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The minimum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 3, "maximum": 100, "minimum": 1, @@ -75637,7 +77472,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": 6, "maximum": 100, "minimum": 1, @@ -75653,10 +77488,10 @@ "type": "string" }, "disks": { - "description": "This Node Pool's custom disk layout.", + "description": "This node pool's custom disk layout.", "items": { "additionalProperties": false, - "description": "The values to assign to each partition in this Node Pool's custom disk layout.", + "description": "The values to assign to each partition in this node pool's custom disk layout.", "properties": { "size": { "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.", @@ -75679,7 +77514,7 @@ "x-linode-cli-format": "json" }, "id": { - "description": "__Filterable__ This Node Pool's unique ID.", + "description": "__Filterable__ This node pool's unique ID.", "example": 456, "type": "integer", "x-akamai": { @@ -75690,13 +77525,23 @@ "x-linode-filterable": true }, "k8s_version": { - "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.", + "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", "example": "v1.31.8+lke3", "type": "string", "x-akamai": { "status": "BETA" } }, + "label": { + "description": "__Beta__ The optional label defined for this node Pool.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", + "example": "app-pool", + "maxLength": 32, + "minLength": 1, + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "labels": { "additionalProperties": { "maxLength": 63, @@ -75712,7 +77557,7 @@ "type": "object" }, "nodes": { - "description": "Status information for the Nodes which are members of this Node Pool. If a Linode has not been provisioned for a given Node slot, the `instance_id` will be returned as `null`.", + "description": "Status information for the nodes that are members of this node pool. If a Linode has not been provisioned for a given node slot, the `instance_id` is `null`.", "items": { "additionalProperties": false, "description": "__Read-only__ Status information for a Node which is a member of a Kubernetes cluster.", @@ -75811,7 +77656,7 @@ "type": "array" }, "type": { - "description": "The Linode Type for all of the nodes in the Node Pool.", + "description": "The Linode Type for all of the nodes in the node pool.", "example": "g6-standard-4", "type": "string" }, @@ -75911,7 +77756,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": "{{count}}", "maximum": 100, "minimum": 1, @@ -75931,6 +77776,23 @@ }, "type": "object" }, + "tags": { + "description": "__Filterable__ Organizational tags to apply to this node pool. When you apply tags to LKE Enterprise node pools, they also apply to the nodes (Linodes) within the node pool. Tags don't cascade down to nodes in non-Enterprise node pools.", + "example": [ + "example tag", + "another example" + ], + "items": { + "type": "string" + }, + "type": "array", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, "taints": { "description": "Kubernetes taints to add to node pool nodes. Taints help control how pods are scheduled onto nodes, specifically allowing them to repel certain pods. To learn more, review [Add labels and taints to your LKE node pools](https://www.linode.com/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#add-labels-and-taints-to-your-lke-node-pools).\n\nSpecifying an empty array (`[]`) removes all previously set taints.", "example": [ @@ -76004,26 +77866,26 @@ "application/json": { "schema": { "additionalProperties": false, - "description": "The set of Node Pools which are members of the Kubernetes cluster. Node Pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", + "description": "The set of node pools that are members of the Kubernetes cluster. Node pools consist of a Linode type, the number of Linodes to deploy of that type, and additional status information.", "properties": { "autoscaler": { "additionalProperties": false, "description": "When enabled, the number of nodes autoscales within the defined minimum and maximum values.", "properties": { "enabled": { - "description": "Whether autoscaling is enabled for this Node Pool. Defaults to `false`.", + "description": "Whether autoscaling is enabled for this node pool. Defaults to `false`.", "example": true, "type": "boolean" }, "max": { - "description": "The maximum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The maximum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 12, "maximum": 100, "minimum": 1, "type": "integer" }, "min": { - "description": "The minimum number of nodes to autoscale to. Defaults to the Node Pool's `count`.", + "description": "The minimum number of nodes to autoscale to. Defaults to the node pool's `count`.", "example": 3, "maximum": 100, "minimum": 1, @@ -76033,7 +77895,7 @@ "type": "object" }, "count": { - "description": "The number of nodes in the Node Pool.", + "description": "The number of nodes in the node pool.", "example": 6, "maximum": 100, "minimum": 1, @@ -76049,10 +77911,10 @@ "type": "string" }, "disks": { - "description": "This Node Pool's custom disk layout.", + "description": "This node pool's custom disk layout.", "items": { "additionalProperties": false, - "description": "The values to assign to each partition in this Node Pool's custom disk layout.", + "description": "The values to assign to each partition in this node pool's custom disk layout.", "properties": { "size": { "description": "The size of this custom disk partition in MB. The size of this disk partition can't exceed the capacity of the node's plan type.", @@ -76075,7 +77937,7 @@ "x-linode-cli-format": "json" }, "id": { - "description": "__Filterable__ This Node Pool's unique ID.", + "description": "__Filterable__ This node pool's unique ID.", "example": 456, "type": "integer", "x-akamai": { @@ -76086,13 +77948,23 @@ "x-linode-filterable": true }, "k8s_version": { - "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.", + "description": "__Beta__ The Kubernetes version used for the worker nodes within this node pool.\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", "example": "v1.31.8+lke3", "type": "string", "x-akamai": { "status": "BETA" } }, + "label": { + "description": "__Beta__ The optional label defined for this node Pool.\n\n> \ud83d\udea7\n>\n> This field is available as part of the beta API and is only returned for accounts that have been enrolled in the LKE Enterprise LA.", + "example": "app-pool", + "maxLength": 32, + "minLength": 1, + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "labels": { "additionalProperties": { "maxLength": 63, @@ -76108,7 +77980,7 @@ "type": "object" }, "nodes": { - "description": "Status information for the Nodes which are members of this Node Pool. If a Linode has not been provisioned for a given Node slot, the `instance_id` will be returned as `null`.", + "description": "Status information for the nodes that are members of this node pool. If a Linode has not been provisioned for a given node slot, the `instance_id` is `null`.", "items": { "additionalProperties": false, "description": "__Read-only__ Status information for a Node which is a member of a Kubernetes cluster.", @@ -76207,7 +78079,7 @@ "type": "array" }, "type": { - "description": "The Linode Type for all of the nodes in the Node Pool.", + "description": "The Linode Type for all of the nodes in the node pool.", "example": "g6-standard-4", "type": "string" }, @@ -80158,6 +82030,192 @@ }, "x-linode-cli-command": "longview" }, + "/{apiVersion}/maintenance/policies": { + "get": { + "description": "__Beta__ List all available maintenance policies that can be applied to your Linodes.\n\n> \ud83d\udcd8\n>\n> This operation is beta and only works when using the beta API. Call the URL with the `apiVersion` path parameter set to `v4beta`.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli maintenance policies-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-maintenance-policies" + }, + "operationId": "get-maintenance-policies", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": false, + "properties": { + "data": { + "items": { + "additionalProperties": false, + "description": "Information about maintenance policies.", + "properties": { + "description": { + "description": "A brief explanation of the maintenance policy's intended behavior.", + "example": "Migrates the Linode to a new host while it remains fully operational. Recommended for maximizing availability.", + "type": "string" + }, + "is_default": { + "description": "Indicates whether this policy is the default one applied when creating a Linode.", + "example": true, + "type": "boolean" + }, + "label": { + "description": "The display name for the maintenance policy.", + "example": "Migrate", + "type": "string" + }, + "notification_period_sec": { + "description": "__Filterable__ Number of seconds before the maintenance event triggers. A value of 0 means no prior notification.", + "example": 10800, + "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true + }, + "slug": { + "description": "Unique identifier for the maintenance policy. System policies are prefixed with `linode/`.", + "example": "linode/migrate", + "type": "string" + }, + "type": { + "description": "The type of policy.", + "enum": [ + "migrate", + "power_off_on" + ], + "example": "migrate", + "type": "string" + } + }, + "type": "object", + "x-akamai": { + "file-path": "schemas/maintenance-policies.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-policies-200.yaml" + } + }, + "x-example": { + "x-ref": "../examples/get-maintenance-policies-200.json" + } + } + }, + "description": "Returns a paginated list of maintenance policy objects." + }, + "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": [] + } + ], + "summary": "List maintenance policies", + "tags": [ + "Maintenance policies" + ], + "x-akamai": { + "status": "BETA", + "tabs": [ + { + "syntax": "linode-cli maintenance policies-list", + "title": "CLI", + "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" + } + ] + }, + "x-linode-cli-action": "policies-list", + "x-linode-grant": "read_only" + }, + "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/maintenance-policies.yaml", + "path-info": "/{apiVersion}/maintenance/policies" + }, + "x-linode-cli-command": "maintenance" + }, "/{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)", @@ -85693,15 +87751,25 @@ "type": "string" }, "id": { - "description": "The unique identifier for the alert channel.", + "description": "__Filterable__ The unique identifier for the alert channel.", "example": 10000, "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "label": { - "description": "The name of the alert channel, used to display it in Akamai Cloud Manager.", + "description": "__Filterable__ The name of the alert channel, used to display it in Akamai Cloud Manager.", "example": "Read-Write Channel", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "type": { @@ -85850,7 +87918,7 @@ ], "x-akamai": { "file-path": "paths/aclp-alert-channels.yaml", - "path-info": "/monitor/alert-channels" + "path-info": "/{apiVersion}/monitor/alert-channels" }, "x-linode-cli-command": "alerts" }, @@ -86057,7 +88125,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "126905", "126906", @@ -86078,15 +88146,25 @@ "type": "boolean" }, "id": { - "description": "The unique identifier for the alert definition.", + "description": "__Filterable__ The unique identifier for the alert definition.", "example": 10000, "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "label": { - "description": "The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", + "description": "__Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", "example": "High Memory Usage Plan Dedicated", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "rule_criteria": { @@ -86198,10 +88276,7 @@ "type": "object" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" }, @@ -86217,7 +88292,7 @@ "type": "integer" }, "status": { - "description": "The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", + "description": "__Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", "enum": [ "enabled", "disabled", @@ -86226,6 +88301,11 @@ ], "example": "enabled", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "trigger_conditions": { @@ -86259,13 +88339,18 @@ "type": "object" }, "type": { - "description": "The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", + "description": "__Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", "enum": [ "user", "system" ], "example": "system", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "updated": { @@ -86405,7 +88490,7 @@ ], "x-akamai": { "file-path": "paths/aclp-alert-definitions.yaml", - "path-info": "/monitor/alert-definitions" + "path-info": "/{apiVersion}/monitor/alert-definitions" }, "x-linode-cli-command": "alerts" }, @@ -86484,10 +88569,7 @@ "type": "string" }, "service_type": { - "description": "The Akamai Cloud Computing service used by this dashboard. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The Akamai Cloud Computing service used by this dashboard.", "example": "dbaas", "type": "string" }, @@ -86798,10 +88880,7 @@ "type": "string" }, "service_type": { - "description": "The Akamai Cloud Computing service used by this dashboard. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The Akamai Cloud Computing service used by this dashboard.", "example": "dbaas", "type": "string" }, @@ -87006,7 +89085,7 @@ } }, { - "description": "ID of the Dashboard", + "description": "Identifies each dashboard.", "example": "{{dashboard_id}}", "in": "path", "name": "dashboard_id", @@ -87016,7 +89095,7 @@ "type": "integer" }, "x-akamai": { - "file-path": "parameters/dashboard-id.yaml" + "file-path": "parameters/aclp-dashboard-id.yaml" } } ], @@ -87062,10 +89141,7 @@ "type": "string" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" } @@ -87201,7 +89277,7 @@ }, "/{apiVersion}/monitor/services/{service_type}": { "get": { - "description": "__Beta__ Returns details for a specific service type. Include the appropriate `service_type` as a path parameter.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "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" @@ -87235,10 +89311,7 @@ "type": "string" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" } @@ -87391,7 +89464,7 @@ }, "/{apiVersion}/monitor/services/{service_type}/alert-definitions": { "post": { - "description": "__Beta__ Create a new alert definition for a specific service type. Include the appropriate `service_type` as a path parameter. These are referred to as `user` alerts. You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/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> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "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" @@ -87458,7 +89531,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> - You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the `service_type` for each of the `entity_ids`.\n>\n> - The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the `service_type` for each of the `entity_ids`.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "13116", "13217", @@ -87740,7 +89813,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "126905", "126906", @@ -87761,15 +89834,25 @@ "type": "boolean" }, "id": { - "description": "The unique identifier for the alert definition.", + "description": "__Filterable__ The unique identifier for the alert definition.", "example": 10000, "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "label": { - "description": "The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", + "description": "__Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", "example": "High Memory Usage Plan Dedicated", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "rule_criteria": { @@ -87881,10 +89964,7 @@ "type": "object" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" }, @@ -87900,7 +89980,7 @@ "type": "integer" }, "status": { - "description": "The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", + "description": "__Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", "enum": [ "enabled", "disabled", @@ -87909,6 +89989,11 @@ ], "example": "enabled", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "trigger_conditions": { @@ -87942,13 +90027,18 @@ "type": "object" }, "type": { - "description": "The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", + "description": "__Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", "enum": [ "user", "system" ], "example": "system", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "updated": { @@ -88042,7 +90132,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.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "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" @@ -88243,7 +90333,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "126905", "126906", @@ -88264,15 +90354,25 @@ "type": "boolean" }, "id": { - "description": "The unique identifier for the alert definition.", + "description": "__Filterable__ The unique identifier for the alert definition.", "example": 10000, "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "label": { - "description": "The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", + "description": "__Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", "example": "High Memory Usage Plan Dedicated", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "rule_criteria": { @@ -88384,10 +90484,7 @@ "type": "object" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" }, @@ -88403,7 +90500,7 @@ "type": "integer" }, "status": { - "description": "The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", + "description": "__Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", "enum": [ "enabled", "disabled", @@ -88412,6 +90509,11 @@ ], "example": "enabled", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "trigger_conditions": { @@ -88445,13 +90547,18 @@ "type": "object" }, "type": { - "description": "The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", + "description": "__Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", "enum": [ "user", "system" ], "example": "system", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "updated": { @@ -88568,6 +90675,7 @@ ] }, "x-linode-cli-action": "definition-view", + "x-linode-cli-skip": true, "x-linode-grant": "read_only" }, "parameters": [ @@ -88608,13 +90716,13 @@ ], "x-akamai": { "file-path": "paths/aclp-service-alert-definitions.yaml", - "path-info": "/monitor/services/{service_type}/alert-definitions" + "path-info": "/{apiVersion}/monitor/services/{service_type}/alert-definitions" }, "x-linode-cli-command": "alerts" }, "/{apiVersion}/monitor/services/{service_type}/alert-definitions/{alert_id}": { "get": { - "description": "__Beta__ Returns a specific alert definition. Include the appropriate `service_type` and `alert_id` as path parameters.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-alert-definition" @@ -88746,7 +90854,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "126905", "126906", @@ -88767,15 +90875,25 @@ "type": "boolean" }, "id": { - "description": "The unique identifier for the alert definition.", + "description": "__Filterable__ The unique identifier for the alert definition.", "example": 10000, "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "label": { - "description": "The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", + "description": "__Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", "example": "High Memory Usage Plan Dedicated", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "rule_criteria": { @@ -88887,10 +91005,7 @@ "type": "object" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" }, @@ -88906,7 +91021,7 @@ "type": "integer" }, "status": { - "description": "The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", + "description": "__Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", "enum": [ "enabled", "disabled", @@ -88915,6 +91030,11 @@ ], "example": "enabled", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "trigger_conditions": { @@ -88948,13 +91068,18 @@ "type": "object" }, "type": { - "description": "The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", + "description": "__Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", "enum": [ "user", "system" ], "example": "system", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "updated": { @@ -89048,7 +91173,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. You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/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> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/put-alert-definition" @@ -89100,7 +91225,7 @@ "additionalProperties": false, "properties": { "channel_ids": { - "description": "The identifiers for the alert channels to use for the alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alerts-notification-channels) operation and store the `id` for the applicable channels.", + "description": "The identifiers for the alert channels to use for the alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation and store the `id` for the applicable channels.", "example": [ 546, 392 @@ -89116,7 +91241,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> - You need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the `service_type` for each of the `entity_ids`.\n>\n> - The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the `service_type` for each of the `entity_ids`.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "13116", "13116", @@ -89400,7 +91525,7 @@ "type": "string" }, "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.\n\n> \ud83d\udcd8\n>\n> The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you'd use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.", "example": [ "126905", "126906", @@ -89421,15 +91546,25 @@ "type": "boolean" }, "id": { - "description": "The unique identifier for the alert definition.", + "description": "__Filterable__ The unique identifier for the alert definition.", "example": 10000, "type": "integer", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "label": { - "description": "The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", + "description": "__Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager.", "example": "High Memory Usage Plan Dedicated", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "rule_criteria": { @@ -89541,10 +91676,7 @@ "type": "object" }, "service_type": { - "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API.", "example": "dbaas", "type": "string" }, @@ -89560,7 +91692,7 @@ "type": "integer" }, "status": { - "description": "The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", + "description": "__Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`.", "enum": [ "enabled", "disabled", @@ -89569,6 +91701,11 @@ ], "example": "enabled", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "trigger_conditions": { @@ -89602,13 +91739,18 @@ "type": "object" }, "type": { - "description": "The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", + "description": "__Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account.", "enum": [ "user", "system" ], "example": "system", "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, "x-linode-filterable": true }, "updated": { @@ -89630,7 +91772,7 @@ } } }, - "description": "Returns a paginated list of dashboards." + "description": "The alert definition is updated." }, "default": { "content": { @@ -89702,7 +91844,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.\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> - Currently, only the Managed Databases (`dbaas`) service type is supported.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli alerts definition-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 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. 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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/delete-alert-definition" @@ -89782,7 +91924,7 @@ "status": "BETA", "tabs": [ { - "syntax": "linode-cli alerts definition-delete 123", + "syntax": "linode-cli alerts definition-delete dbaas 123", "title": "CLI", "url": "https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli" }, @@ -89854,7 +91996,7 @@ }, "/{apiVersion}/monitor/services/{service_type}/dashboards": { "get": { - "description": "__Beta__ Returns all available dashboards for a given service type. Include the appropriate `service_type` as a path parameter.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-dashboards" @@ -89925,15 +92067,12 @@ "type": "string" }, "service_type": { - "description": "The Akamai Cloud Computing service used by this dashboard. Currently, only the Managed Databases (`dbaas`) service is supported.", - "enum": [ - "dbaas" - ], + "description": "The Akamai Cloud Computing service used by this dashboard.", "example": "dbaas", "type": "string" }, "type": { - "description": "The type of dashboard. Currently, this can only be `standard` for a dashboard that uses default formatting.", + "description": "The type of dashboard. Currently, this can only be `standard` for a dashboard, which uses default formatting.", "enum": [ "standard" ], @@ -90181,7 +92320,7 @@ }, "/{apiVersion}/monitor/services/{service_type}/metric-definitions": { "get": { - "description": "__Beta__ Returns metrics for a specific service type. Include the appropriate `service_type` as a path parameter.\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-monitor-information" @@ -90594,7 +92733,7 @@ }, "/{apiVersion}/monitor/services/{service_type}/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. 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> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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.", + "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).", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-read-metric" @@ -90620,6 +92759,10 @@ "value": "primary" } ], + "group_by": [ + "entity_id", + "node_type" + ], "metrics": [ { "aggregate_function": "avg", @@ -90690,164 +92833,186 @@ }, "type": "array" }, - "metrics": { - "description": "A list of metric objects, each specifying a metric name and its corresponding aggregation function.", - "example": [ - { - "aggregate_function": "avg", - "name": "cpu_usage" - }, - { - "aggregate_function": "sum", - "name": "cpu_usage" - } - ], - "items": { - "additionalProperties": false, - "properties": { - "aggregate_function": { - "description": "The aggregation function applied to the metric. Available values are `min`, `max`, `avg`, and `sum`.", - "enum": [ - "min", - "max", - "avg", - "sum" - ], - "example": "avg", - "type": "string" - }, - "name": { - "description": "The metric to query.", - "example": "cpu_usage", - "type": "string" - } - }, - "type": "object" - }, - "minItems": 1, - "type": "array" - }, - "time_granularity": { - "additionalProperties": false, - "description": "Allows for an optional time granularity setting for metric data.", - "properties": { - "unit": { - "description": "The unit of time granularity for the metric data. Available values are `sec`, `min`, `hr`, and `days`.", - "enum": [ - "sec", - "min", - "hr", - "days" - ], - "example": "min", - "type": "string" - }, - "value": { - "description": "The value that corresponds to the `unit`. Set to `10` with a `unit` of `hr` for 10 hours.", - "example": 5, - "type": "integer" - } - }, - "type": "object" - } - }, - "required": [ - "metrics", - "entity_ids" - ], - "type": "object", - "x-akamai": { - "file-path": "schemas/aclp-metric-common.yaml" - } - }, - { - "additionalProperties": false, - "properties": { - "relative_time_duration": { - "additionalProperties": false, - "description": "Specifies a relative time duration for data queries. Queries begin immediately for the specified amount of time. You can specify a `relative_time_duration` or an `absolute_time_duration`, but not both.", - "properties": { - "unit": { - "description": "The unit of time used for the relative duration to query metric data. Available values are `sec`, `min`, `hr`, and `days`.", - "enum": [ - "sec", - "min", - "hr", - "days" - ], - "example": "min", - "type": "string" - }, - "value": { - "description": "The value that corresponds to the `unit`. Set to `30` with a `unit` of `min` for 30 minutes.", - "example": 30, - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - } - ], - "description": "Settings applied to specify a relative time range for data queries.", - "required": [ - "relative_time_duration" - ], - "title": "Relative Time", - "type": "object", - "x-akamai": { - "file-path": "schemas/aclp-metric-relative-time.yaml" - } - }, - { - "additionalProperties": false, - "allOf": [ - { - "additionalProperties": false, - "description": "Settings used for data queries.", - "properties": { - "entity_ids": { - "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.", - "example": [ - 13116, - 13217, - 13331 - ], - "items": { - "type": "integer" - }, - "minItems": 1, - "type": "array" - }, - "filters": { - "description": "Individual objects that define dimension filters for the query.", + "group_by": { + "description": "Categorizes response data based on the specified fields:\n\n* `entity_id`. Include this parameter by name to group the response data using the `entity_id` values included in the request.\n\n* `dimension_label`. This represents the desired dimension from a monitoring metric. To get a `dimension_label`, run the [List metrics for a service type](https://techdocs.akamai.com/linode-api/reference/get-monitor-information) operation, review the available `dimensions`, and store the applicable `dimension_label` values.\n\nYou can group these fields using these combinations:\n\n* Group by `entity_id` values and one or more `dimensions_label` values. For example, `[entity_id, node_type]` groups response data based on values set for the `entity_id` parameter and the `node_type` dimension that's available for a `service_type` of `dbaas`.\n\n* Group by only the `entity_id` values. For example, `[entity_id]` exclusively groups response data based on values set for the `entity_id` parameter.\n\n* Group by one or more `dimension_label` values. For example, `[node_type]` groups response data based on the `node_type` dimension that's available for a `service_type` of `dbaas`.\n\nIf you leave this out of a request, data is aggregated across all series.", + "items": { + "example": [ + "entity_id", + "node_type" + ], + "type": "string" + }, + "type": "array" + }, + "metrics": { + "description": "A list of metric objects, each specifying a metric name and its corresponding aggregation function.", + "example": [ + { + "aggregate_function": "avg", + "name": "cpu_usage" + }, + { + "aggregate_function": "sum", + "name": "cpu_usage" + } + ], + "items": { + "additionalProperties": false, + "properties": { + "aggregate_function": { + "description": "The aggregation function applied to the metric. Available values are `min`, `max`, `avg`, and `sum`.", + "enum": [ + "min", + "max", + "avg", + "sum" + ], + "example": "avg", + "type": "string" + }, + "name": { + "description": "The metric to query.", + "example": "cpu_usage", + "type": "string" + } + }, + "type": "object" + }, + "minItems": 1, + "type": "array" + }, + "time_granularity": { + "additionalProperties": false, + "description": "Allows for an optional time granularity setting for metric data.", + "properties": { + "unit": { + "description": "The unit of time granularity for the metric data. Available values are `sec`, `min`, `hr`, and `days`.", + "enum": [ + "sec", + "min", + "hr", + "days" + ], + "example": "min", + "type": "string" + }, + "value": { + "description": "The value that corresponds to the `unit`. Set to `10` with a `unit` of `hr` for 10 hours.", + "example": 5, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "metrics", + "entity_ids" + ], + "type": "object", + "x-akamai": { + "file-path": "schemas/aclp-metric-common.yaml" + } + }, + { + "additionalProperties": false, + "properties": { + "relative_time_duration": { + "additionalProperties": false, + "description": "Specifies a relative time duration for data queries. Queries begin immediately for the specified amount of time. You can specify a `relative_time_duration` or an `absolute_time_duration`, but not both.", + "properties": { + "unit": { + "description": "The unit of time used for the relative duration to query metric data. Available values are `sec`, `min`, `hr`, and `days`.", + "enum": [ + "sec", + "min", + "hr", + "days" + ], + "example": "min", + "type": "string" + }, + "value": { + "description": "The value that corresponds to the `unit`. Set to `30` with a `unit` of `min` for 30 minutes.", + "example": 30, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + ], + "description": "Settings applied to specify a relative time range for data queries.", + "required": [ + "relative_time_duration" + ], + "title": "Relative Time", + "type": "object", + "x-akamai": { + "file-path": "schemas/aclp-metric-relative-time.yaml" + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "additionalProperties": false, + "description": "Settings used for data queries.", + "properties": { + "entity_ids": { + "description": "The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response.", + "example": [ + 13116, + 13217, + 13331 + ], + "items": { + "type": "integer" + }, + "minItems": 1, + "type": "array" + }, + "filters": { + "description": "Individual objects that define dimension filters for the query.", + "items": { + "additionalProperties": false, + "properties": { + "dimension_label": { + "description": "The name of the dimension label to filter on.", + "example": "node_type", + "type": "string" + }, + "operator": { + "description": "The operator to apply to the dimension label. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`.", + "enum": [ + "eq", + "neq", + "startswith", + "endswith" + ], + "example": "eq", + "type": "string" + }, + "value": { + "description": "The value to compare the dimension label against.", + "example": "primary", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "group_by": { + "description": "Categorizes response data based on the specified fields:\n\n* `entity_id`. Include this parameter by name to group the response data using the `entity_id` values included in the request.\n\n* `dimension_label`. This represents the desired dimension from a monitoring metric. To get a `dimension_label`, run the [List metrics for a service type](https://techdocs.akamai.com/linode-api/reference/get-monitor-information) operation, review the available `dimensions`, and store the applicable `dimension_label` values.\n\nYou can group these fields using these combinations:\n\n* Group by `entity_id` values and one or more `dimensions_label` values. For example, `[entity_id, node_type]` groups response data based on values set for the `entity_id` parameter and the `node_type` dimension that's available for a `service_type` of `dbaas`.\n\n* Group by only the `entity_id` values. For example, `[entity_id]` exclusively groups response data based on values set for the `entity_id` parameter.\n\n* Group by one or more `dimension_label` values. For example, `[node_type]` groups response data based on the `node_type` dimension that's available for a `service_type` of `dbaas`.\n\nIf you leave this out of a request, data is aggregated across all series.", "items": { - "additionalProperties": false, - "properties": { - "dimension_label": { - "description": "The name of the dimension label to filter on.", - "example": "node_type", - "type": "string" - }, - "operator": { - "description": "The operator to apply to the dimension label. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`.", - "enum": [ - "eq", - "neq", - "startswith", - "endswith" - ], - "example": "eq", - "type": "string" - }, - "value": { - "description": "The value to compare the dimension label against.", - "example": "primary", - "type": "string" - } - }, - "type": "object" + "example": [ + "entity_id", + "node_type" + ], + "type": "string" }, "type": "array" }, @@ -91220,13 +93385,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/{service_type}/metrics" }, "x-linode-cli-command": "metric" }, "/{apiVersion}/monitor/services/{service_type}/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 [Monitor API operation authentication](https://techdocs.akamai.com/linode-api/docs/get-started#monitor-api-operation-authentication).\n\n> \ud83d\udcd8\n>\n> - This operation is beta. Call it using the `v4beta` path in its URL.\n>\n> - Currently, only the Managed Databases (`dbaas`) service type is supported.\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. 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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-get-token" @@ -91402,7 +93567,7 @@ ], "x-akamai": { "file-path": "paths/aclp-get-token.yaml", - "path-info": "/{apiVersion}/monitor/services/{service-type}/token" + "path-info": "/{apiVersion}/monitor/services/{service_type}/token" }, "x-linode-cli-command": "monitor" }, @@ -91955,7 +94120,7 @@ "additionalProperties": false, "description": "Devices to create for this firewall. When a device is created, the firewall is assigned to its associated service. Currently, devices can be created for Linodes using legacy configuration profiles, Linode interfaces, and NodeBalancers. Firewall devices can't be created for individual legacy configuration profile interfaces.\n\nAdditional devices can be assigned after Firewall creation by using the [Create a firewall device](https://techdocs.akamai.com/linode-api/reference/post-firewall-device) operation.", "properties": { - "interfaces": { + "linode_interfaces": { "description": "An array of Linode interface IDs. A firewall device is created for each ID. For Linodes using Linode interfaces, firewalls need to be assigned to Linode interfaces and not the Linode.", "example": [ 321 @@ -95255,7 +97420,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`, `interface`, and `nodebalancer` entity types are accepted.\n - The `linode` type is not allowed for Linodes using Linode interfaces.\n - The `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)", + "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)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/post-firewall-device" @@ -95268,7 +97433,7 @@ "allOf": [ { "additionalProperties": false, - "description": "__Read-only__ The compute service or interface this firewall is assigned to.", + "description": "The compute service or interface this firewall is assigned to.", "properties": { "id": { "description": "The entity's ID.", @@ -95286,7 +97451,7 @@ "enum": [ "linode", "nodebalancer", - "interface" + "linode_interfaces" ], "example": "linode", "type": "string" @@ -95299,7 +97464,6 @@ "type": "string" } }, - "readOnly": true, "type": "object" } ], @@ -95342,7 +97506,7 @@ }, "entity": { "additionalProperties": false, - "description": "__Read-only__ The compute service or interface this firewall is assigned to.", + "description": "The compute service or interface this firewall is assigned to.", "properties": { "id": { "description": "The entity's ID.", @@ -95360,7 +97524,7 @@ "enum": [ "linode", "nodebalancer", - "interface" + "linode_interfaces" ], "example": "linode", "type": "string" @@ -95373,7 +97537,6 @@ "type": "string" } }, - "readOnly": true, "type": "object" }, "id": { @@ -95560,8 +97723,8 @@ "entity": { "id": 321, "label": "my-interface", - "type": "interface", - "url": "/v4/linode/instances/123/interfaces/12345" + "type": "linode_interfaces", + "url": "/v4/linode/instances/123/linode_interfaces/12345" }, "id": 654, "updated": "2025-01-02 00:01:01" @@ -95587,7 +97750,7 @@ }, "entity": { "additionalProperties": false, - "description": "__Read-only__ The compute service or interface this firewall is assigned to.", + "description": "The compute service or interface this firewall is assigned to.", "properties": { "id": { "description": "The entity's ID.", @@ -95605,7 +97768,7 @@ "enum": [ "linode", "nodebalancer", - "interface" + "linode_interfaces" ], "example": "linode", "type": "string" @@ -95618,7 +97781,6 @@ "type": "string" } }, - "readOnly": true, "type": "object" }, "id": { @@ -95825,7 +97987,7 @@ }, "entity": { "additionalProperties": false, - "description": "__Read-only__ The compute service or interface this firewall is assigned to.", + "description": "The compute service or interface this firewall is assigned to.", "properties": { "id": { "description": "The entity's ID.", @@ -95843,7 +98005,7 @@ "enum": [ "linode", "nodebalancer", - "interface" + "linode_interfaces" ], "example": "linode", "type": "string" @@ -95856,7 +98018,6 @@ "type": "string" } }, - "readOnly": true, "type": "object" }, "id": { @@ -116492,7 +118653,10 @@ "properties": { "firewall_ids": { "description": "A complete list of firewall IDs to assign to this Linode or NodeBalancer. This operation replaces any existing assignments. To remove all firewalls, pass an empty list, `[]`.", - "example": 1234, + "example": [ + 1, + 2 + ], "items": { "type": "integer" }, @@ -117733,8 +119897,7 @@ } }, "required": [ - "label", - "cluster" + "label" ], "type": "object", "x-akamai": { @@ -131155,6 +133318,18 @@ "nullable": true, "type": "string" }, + "severity": { + "default": null, + "description": "The severity of the issue. Set `1` for major issues, `2` for moderate priority issues, or `3` for low priority issues.\n\nSetting this field may not be available for all accounts.", + "enum": [ + 1, + 2, + 3 + ], + "example": "{{severity}}", + "nullable": true, + "type": "integer" + }, "summary": { "description": "The summary or title for this support ticket.", "example": "{{summary}}", @@ -131318,14 +133493,32 @@ "x-linode-filterable": true }, "opened_by": { - "description": "__Read-only__ The user who opened this ticket.", + "description": "__Filterable__, __Read-only__ The user who opened this ticket.", "example": "some_user", "readOnly": true, "type": "string", - "x-linode-cli-display": 3 + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "severity": { + "description": "__Read-only__ The severity of this ticket.", + "enum": [ + "low", + "moderate", + "major" + ], + "example": "low", + "nullable": true, + "readOnly": true, + "type": "string" }, "status": { - "description": "__Read-only__ The current status of this ticket.", + "description": "__Filterable__, __Read-only__ The current status of this ticket.", "enum": [ "closed", "new", @@ -131333,7 +133526,13 @@ ], "example": "open", "readOnly": true, - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "summary": { "description": "__Read-only__ The summary or title for this ticket.", @@ -131612,14 +133811,32 @@ "x-linode-filterable": true }, "opened_by": { - "description": "__Read-only__ The user who opened this ticket.", + "description": "__Filterable__, __Read-only__ The user who opened this ticket.", "example": "some_user", "readOnly": true, "type": "string", - "x-linode-cli-display": 3 + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "severity": { + "description": "__Read-only__ The severity of this ticket.", + "enum": [ + "low", + "moderate", + "major" + ], + "example": "low", + "nullable": true, + "readOnly": true, + "type": "string" }, "status": { - "description": "__Read-only__ The current status of this ticket.", + "description": "__Filterable__, __Read-only__ The current status of this ticket.", "enum": [ "closed", "new", @@ -131627,7 +133844,13 @@ ], "example": "open", "readOnly": true, - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "summary": { "description": "__Read-only__ The summary or title for this ticket.", @@ -131923,14 +134146,32 @@ "x-linode-filterable": true }, "opened_by": { - "description": "__Read-only__ The user who opened this ticket.", + "description": "__Filterable__, __Read-only__ The user who opened this ticket.", "example": "some_user", "readOnly": true, "type": "string", - "x-linode-cli-display": 3 + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-cli-display": 3, + "x-linode-filterable": true + }, + "severity": { + "description": "__Read-only__ The severity of this ticket.", + "enum": [ + "low", + "moderate", + "major" + ], + "example": "low", + "nullable": true, + "readOnly": true, + "type": "string" }, "status": { - "description": "__Read-only__ The current status of this ticket.", + "description": "__Filterable__, __Read-only__ The current status of this ticket.", "enum": [ "closed", "new", @@ -131938,7 +134179,13 @@ ], "example": "open", "readOnly": true, - "type": "string" + "type": "string", + "x-akamai": { + "labels": [ + "Filterable" + ] + }, + "x-linode-filterable": true }, "summary": { "description": "__Read-only__ The summary or title for this ticket.", @@ -132783,7 +135030,7 @@ }, "/{apiVersion}/tags": { "post": { - "description": "Creates a new tag and lets you optionally add it to specific objects. Tags are labels you can attach to objects in your account. Use them to specify and group attributes of objects that are relevant to you. Currently, you can add a tag to your `linodes`, your `nodebalancers`, the `domains` for your Linodes, and the `volumes` on your Linodes.\n\n> \ud83d\udcd8\n>\n> - This operation can only be accessed by account users with _unrestricted_ access.\n>\n> - If you don't add a tag to a supported object with this operation, you can use that object's update operation to later add the tag you created.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags create \\\n --label 'example tag' \\\n --linodes 123 \\\n --linodes 456 \\\n --volumes 9082 \\\n --volumes 10003\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 new tag and lets you optionally add it to specific objects. Tags are labels you can attach to objects in your account. Use them to specify and group attributes of objects that are relevant to you. Currently, you can add a tag to your `linodes`, your `nodebalancers`, the `domains` for your Linodes, and the `volumes` on your Linodes.\n\n> \ud83d\udcd8\n>\n> - This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n>\n> - If you don't add a tag to a supported object with this operation, you can use that object's update operation to later add the tag you created.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags create \\\n --label 'example tag' \\\n --linodes 123 \\\n --linodes 456 \\\n --volumes 9082 \\\n --volumes 10003\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-tag" @@ -132972,7 +135219,7 @@ "x-linode-grant": "unrestricted only" }, "get": { - "description": "Returns a paginated list of tags you've [created](https://techdocs.akamai.com/linode-api/reference/post-tag) on your account.\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags list\nlinode-cli tags ls\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 tags you've [created](https://techdocs.akamai.com/linode-api/reference/post-tag) on your account.\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags list\nlinode-cli tags ls\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-tags" @@ -133173,7 +135420,7 @@ }, "/{apiVersion}/tags/{tagLabel}": { "get": { - "description": "Returns a paginated list of all objects you've tagged with the specified tag. The response includes a mixed collection of all object types.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", + "description": "Returns a paginated list of all objects you've tagged with the specified tag. The response includes a mixed collection of all object types.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n\n<>\n\n---\n\n\n- __OAuth scopes__.\n\n ```\n account:read_only\n ```\n\n [Learn more...](https://techdocs.akamai.com/linode-api/reference/get-started#oauth)", "externalDocs": { "description": "See documentation for this operation in Akamai's Linode API", "url": "https://techdocs.akamai.com/linode-api/reference/get-tagged-objects" @@ -133563,6 +135810,18 @@ "readOnly": true, "type": "integer" }, + "maintenance_policy": { + "description": "__Beta__ The maintenance policy configured by the user for this Linode. Review [maintenance policy](https://techdocs.akamai.com/cloud-computing/docs/host-maintenance-policy) documentation for more details.", + "enum": [ + "linode/migrate", + "linode/power_off_on" + ], + "example": "linode/migrate", + "type": "string", + "x-akamai": { + "status": "BETA" + } + }, "placement_group": { "additionalProperties": false, "description": "__Read-only__ Details on the [placement group](https://www.linode.com/docs/products/compute/compute-instances/guides/placement-groups/) that this Linode belongs to. Empty if the Linode isn't in a placement group.", @@ -134323,7 +136582,7 @@ "x-linode-cli-skip": true }, "delete": { - "description": "Removes a tag from all objects and deletes it.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags delete\nlinode-cli tags rm\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": "Removes a tag from all objects and deletes it.\n\n> \ud83d\udcd8\n>\n> This operation can only be accessed by account users with _unrestricted_ access. Talk to your local account administrator about access management.\n\n\n<>\n\n---\n\n\n- __CLI__.\n\n ```\n linode-cli tags delete\nlinode-cli tags rm\n ```\n\n [Learn more...](https://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-tag" @@ -140767,6 +143026,10 @@ "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" @@ -140795,6 +143058,10 @@ "description": "Use the VPCs endpoints to view, create, and manage Virtual Private Cloud (VPC) and VPC Subnet resources.", "name": "VPCs" }, + { + "description": "Use the maintenance endpoints to view maintenance policies that are available for your Linodes.", + "name": "Maintenance" + }, { "description": "Use the Monitor endpoints to view Dashboards and Metrics", "name": "Monitor"