diff --git a/openapi.yaml b/openapi.yaml index d968d33d3..cfea359c6 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -3062,6 +3062,871 @@ paths: ] }' \ https://api.linode.com/v4/account/users/example_user/grants + /databases/engines: + x-linode-cli-command: databases + get: + tags: + - Databases + summary: Managed Database Engines List + operationId: getDatabasesEngines + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: engines + parameters: + - $ref: '#/components/parameters/pageOffset' + - $ref: '#/components/parameters/pageSize' + description: | + Display all available Managed Database engine types and versions. Engine IDs are used when creating new Managed Databases. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this + endpoint is out of beta. + responses: + '200': + description: Returns a paginated list of all available Managed Database engines and versions. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginationEnvelope' + - type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/DatabaseEngine' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl https://api.linode.com/v4beta/databases/engines/ + - lang: CLI + source: > + linode-cli databases engines + /databases/engines/{engineId}: + parameters: + - name: engineId + in: path + description: The ID of the Managed Database engine. + required: true + schema: + type: string + x-linode-cli-command: databases + get: + tags: + - Databases + summary: Managed Database Engine View + operationId: getDatabasesEngine + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: engine-view + parameters: + - $ref: '#/components/parameters/pageOffset' + - $ref: '#/components/parameters/pageSize' + description: | + Display information for a single Managed Database engine type and version. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + responses: + '200': + description: Returns information for a single Managed Database engine type and version. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseEngine' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl https://api.linode.com/v4beta/databases/engines/mysql/5.7.30 + - lang: CLI + source: > + linode-cli databases engine-view mysql/5.7.30 + /databases/instances: + x-linode-cli-command: databases + get: + tags: + - Databases + summary: Managed Databases List + operationId: getDatabasesInstances + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: list + x-linode-grant: read_only + parameters: + - $ref: '#/components/parameters/pageOffset' + - $ref: '#/components/parameters/pageSize' + description: | + Display all accessible Managed Databases on your Account, regardless of engine type. + + Only unrestricted Users can access this command. + + For more detailed information on a particular Database instance, make a request to its `instance_uri`. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this + endpoint is out of beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Returns a paginated list of all accessible Managed Databases on your Account. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginationEnvelope' + - type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Database' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/instances + - lang: CLI + source: > + linode-cli databases list + /databases/mysql/instances: + x-linode-cli-command: databases + get: + tags: + - Databases + summary: Managed MySQL Databases List + operationId: getDatabasesMySQLInstances + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-list + x-linode-grant: unrestricted only + description: | + Display all accessible Managed MySQL Databases on your Account. + + Only unrestricted Users can access this command. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Returns a paginated list of all accessible Managed MySQL Databases on your Account. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginationEnvelope' + - type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/DatabaseMySQL' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/mysql/instances/ + - lang: CLI + source: > + linode-cli databases mysql-list + post: + tags: + - Databases + summary: Managed MySQL Database Create + operationId: postDatabasesMySQLInstances + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-create + x-linode-grant: unrestricted only + description: | + Provision a Managed MySQL Database. + + Only unrestricted Users can access this command. + + New instances can take approximately 15 to 30 minutes to provision. + + The `allow_list` is used to control access to the Managed Database. + + * IP addresses on this list can access the Managed Database. All other sources are blocked. + * Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database. + * **Note**: Updates to the `allow_list` may take a short period of time to complete, making this command inappropriate for rapid successive updates to this property. + + All Managed Databases include automatic, daily backups. Up to seven backups are stored for each Managed Database, providing restore points for each day of the past week. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + requestBody: + description: Information about the Managed MySQL Database you are creating. + x-linode-cli-allowed-defaults: + - region + - type + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseMySQLRequest' + responses: + '200': + description: A new Managed MySQL Database is provisioning. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseMySQL' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -X POST -d '{ + "label": "example-db", + "region": "us-east", + "type": "g6-dedicated-2", + "cluster_size": 3, + "engine": "mysql/8.0.26", + "encrypted": false, + "ssl_connection": false, + "replication_type": "semi_synch", + "allow_list": [ + "203.0.113.1", + "192.0.1.0/24" + ] + }' \ + https://api.linode.com/v4beta/databases/mysql/instances + - lang: CLI + source: > + linode-cli databases mysql-create \ + --label example-db1 \ + --region us-east \ + --type g6-dedicated-2 \ + --cluster_size 3 \ + --engine mysql/8.0.26 \ + --encrypted false \ + --ssl_connection false \ + --replication_type semi_synch \ + --allow_list 203.0.113.1 \ + --allow_list 192.0.1.0/24 + /databases/mysql/instances/{instanceId}: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + get: + tags: + - Databases + summary: Managed MySQL Database View + operationId: getDatabasesMySQLInstance + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-view + x-linode-grant: unrestricted only + description: | + Display information for a single, accessible Managed MySQL Database on your Account. + + Only unrestricted Users can access this command. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Returns information for a single Managed MySQL Database. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseMySQL' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/mysql/instances/123 + - lang: CLI + source: > + linode-cli databases mysql-view 123 + delete: + tags: + - Databases + summary: Managed MySQL Database Delete + operationId: deleteDatabasesMySQLInstance + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-delete + x-linode-grant: unrestricted only + description: | + Remove a Managed MySQL Database from your Account. + + The Database must have an `active` status to perform this command. + + Only unrestricted Users can access this command. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Managed MySQL Database successfully deleted. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + -X DELETE \ + https://api.linode.com/v4beta/databases/mysql/instances/123 + - lang: CLI + source: > + linode-cli databases mysql-delete 123 + put: + tags: + - Databases + summary: Managed MySQL Database Update + operationId: putDatabasesMySQLInstance + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-update + x-linode-grant: unrestricted only + description: | + Update a Managed MySQL Database. + + The Database must have an `active` status to perform this command. + + Only unrestricted Users can access this command. + + Updating addresses in the `allow_list` overwrites any existing addresses. + + * IP addresses on this list can access the Managed Database. All other sources are blocked. + * Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database. + * **Note**: Updates to the `allow_list` may take a short period of time to complete, making this command inappropriate for rapid successive updates to this property. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + requestBody: + description: Updated information for the Managed MySQL Database. + required: true + content: + application/json: + schema: + type: object + description: Updated information for the Managed MySQL Database. + properties: + label: + $ref: '#/components/schemas/DatabaseMySQLRequest/properties/label' + allow_list: + $ref: '#/components/schemas/DatabaseMySQLRequest/properties/allow_list' + responses: + '200': + description: Managed Database updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseMySQL' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -X PUT -d '{ + "label": "example-db", + "allow_list": [ + "203.0.113.1", + "192.0.1.0/24" + ] + }' \ + https://api.linode.com/v4beta/databases/mysql/instances/123 + - lang: CLI + source: > + linode-cli databases mysql-update 123 \ + --label example-db \ + --allow_list 203.0.113.1 \ + --allow_list 192.0.1.0/24 + /databases/mysql/instances/{instanceId}/backups: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + get: + tags: + - Databases + summary: Managed MySQL Database Backups List + operationId: getDatabasesMySQLInstanceBackups + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-backups-list + x-linode-grant: unrestricted only + description: | + Display all backups for an accessible Managed MySQL Database on your Account. + + Only unrestricted Users can access this command. + + At this time, only automatically scheduled backups (type `auto`) are available. + + Database backups are created every 24 hours at 0:00 UTC. Each backup is retained for 7 days. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Returns a paginated list of backups for the Managed MySQL Database. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/PaginationEnvelope' + - type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/DatabaseBackup' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/mysql/instances/123/backups + - lang: CLI + source: > + linode-cli databases mysql-backups-list 123 + /databases/mysql/instances/{instanceId}/backups/{backupId}: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + - name: backupId + in: path + description: The ID of the Managed MySQL Database backup. + required: true + schema: + type: integer + get: + tags: + - Databases + summary: Managed MySQL Database Backup View + operationId: getDatabasesMySQLInstanceBackup + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-backup-view + x-linode-grant: unrestricted only + description: | + Display information for a single backup for an accessible Managed MySQL Database on your Account. + + Only unrestricted Users can access this command. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Returns a single backup for the Managed MySQL Database. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseBackup' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/mysql/instances/123/backups/456 + - lang: CLI + source: > + linode-cli databases mysql-backup-view 123 456 + /databases/mysql/instances/{instanceId}/backups/{backupId}/restore: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + - name: backupId + in: path + description: The ID of the Managed MySQL Database backup. + required: true + schema: + type: integer + post: + tags: + - Databases + summary: Managed MySQL Database Backup Restore + operationId: postDatabasesMySQLInstanceBackupRestore + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-backup-restore + x-linode-grant: unrestricted only + description: | + Restore a backup to a Managed MySQL Database on your Account. + + The Database must have an `active` status to perform this command. + + Only unrestricted Users can access this command. + + **Note**: Restoring from a backup will erase all existing data on the database instance and replace it with backup data. + + **Note**: Currently, restoring a backup after resetting Managed Database credentials results in a failed cluster. Please contact Customer Support if this occurs. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Request to restore backup successful. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + -X POST https://api.linode.com/v4beta/databases/mysql/instances/123/backups/456/restore + - lang: CLI + source: > + linode-cli databases mysql-backup-restore 123 456 + /databases/mysql/instances/{instanceId}/credentials: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + get: + tags: + - Databases + summary: Managed MySQL Database Credentials View + operationId: getDatabasesMySQLInstanceCredentials + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-creds-view + x-linode-grant: unrestricted only + description: | + Display the the root username and password for a Managed MySQL Database. + + The Database must have an `active` status to perform this command. + + Only unrestricted Users can access this command. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Managed Database root username and password. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseCredentials' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/mysql/instances/123/credentials/ + - lang: CLI + source: > + linode-cli databases mysql-creds-view 123 + /databases/mysql/instances/{instanceId}/credentials/reset: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + post: + tags: + - Databases + summary: Managed MySQL Database Credentials Reset + operationId: postDatabasesMySQLInstanceCredentialsReset + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-creds-reset + x-linode-grant: unrestricted only + description: | + Reset the root password for a Managed MySQL Database. + + The Database must have an `active` status to perform this command. + + A new root password is randomly generated and accessible with the **Managed MySQL Database Credentials View** ([GET /databases/mysql/instances/{instanceId}/credentials](/docs/api/databases/#managed-mysql-database-credentials-view)) command. + + Only unrestricted Users can access this command. + + **Note**: Note that it may take several seconds for credentials to reset. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Managed Database instance credentials successfully reset. + content: + application/json: + schema: + type: object + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + -X POST https://api.linode.com/v4beta/databases/mysql/instances/123/credentials/reset + - lang: CLI + source: > + linode-cli databases mysql-creds-reset 123 + /databases/mysql/instances/{instanceId}/ssl: + x-linode-cli-command: databases + parameters: + - name: instanceId + in: path + description: The ID of the Managed MySQL Database. + required: true + schema: + type: integer + get: + tags: + - Databases + summary: Managed MySQL Database SSL Certificate View + operationId: getDatabasesMySQLInstanceSSL + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: mysql-ssl-cert + x-linode-grant: unrestricted only + description: | + Display the SSL CA certificate for an accessible Managed MySQL Database. + + Only unrestricted Users can access this command. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + security: + - personalAccessToken: [] + responses: + '200': + description: Returns the SSL CA certificate of a single Managed MySQL Database. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseSSL' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl -H "Authorization: Bearer $TOKEN" \ + https://api.linode.com/v4beta/databases/mysql/instances/123/ssl + - lang: CLI + source: > + linode-cli databases mysql-ssl-cert 123 + /databases/types: + x-linode-cli-command: databases + get: + tags: + - Databases + summary: Managed Database Types List + operationId: getDatabasesTypes + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: types + parameters: + - $ref: '#/components/parameters/pageOffset' + - $ref: '#/components/parameters/pageSize' + description: | + Display all Managed Database node types. The type and number of nodes determine the resources and price of a Managed Database instance. + + Each Managed Database can have one node type. In the case of a high availabilty Database, all nodes are provisioned according to the chosen type. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + responses: + '200': + description: Returns a paginated list of all Managed Database types. + content: + application/json: + x-linode-cli-nested-list: cluster_size + x-linode-cli-use-schema: + type: object + properties: + id: + x-linode-cli-display: 1 + label: + x-linode-cli-display: 2 + cluster_size.quantity: + x-linode-cli-display: 3 + cluster_size.price.hourly: + x-linode-cli-display: 4 + cluster_size.price.monthly: + x-linode-cli-display: 5 + schema: + allOf: + - $ref: '#/components/schemas/PaginationEnvelope' + - type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/DatabaseType' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl https://api.linode.com/v4beta/databases/types + - lang: CLI + source: > + linode-cli databases types + /databases/types/{typeId}: + parameters: + - name: typeId + in: path + description: The ID of the Managed Database type. + required: true + schema: + type: string + x-linode-cli-command: databases + get: + tags: + - Databases + summary: Managed Database Type View + operationId: getDatabasesType + servers: + - url: https://api.linode.com/v4beta + x-linode-cli-action: type-view + parameters: + - $ref: '#/components/parameters/pageOffset' + - $ref: '#/components/parameters/pageSize' + description: | + Display the details of a single Managed Database type. The type and number of nodes determine the resources and price of a Managed Database instance. + + **Beta**: This endpoint is in **closed** beta. To get early access and test new Linode products before they + hit the market, join the [Linode Green Light](https://www.linode.com/green-light/) program. + When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be + aware that this endpoint may receive breaking updates in the future. This notice will be removed when this out of + beta. + responses: + '200': + description: Returns a single Managed Database type. + content: + application/json: + x-linode-cli-nested-list: cluster_size + x-linode-cli-use-schema: + type: object + properties: + id: + x-linode-cli-display: 1 + label: + x-linode-cli-display: 2 + cluster_size.quantity: + x-linode-cli-display: 3 + cluster_size.price.hourly: + x-linode-cli-display: 4 + cluster_size.price.monthly: + x-linode-cli-display: 5 + schema: + $ref: '#/components/schemas/DatabaseType' + default: + $ref: '#/components/responses/ErrorResponse' + x-code-samples: + - lang: Shell + source: > + curl https://api.linode.com/v4beta/databases/types/g6-nanode-1 + - lang: CLI + source: > + linode-cli databases type-view g6-nanode-1 /domains: x-linode-cli-command: domains get: @@ -16680,6 +17545,386 @@ components: description: > CVV (Card Verification Value) of the credit card, typically found on the back of the card. example: '123' + Database: + type: object + description: A general Managed Database instance object containing properties that are identical for all database types. + properties: + id: + type: integer + description: A unique ID that can be used to identify and reference the Managed Database. + example: 123 + x-linode-cli-display: 1 + readOnly: true + label: + type: string + maxLength: 32 + minLength: 3 + x-linode-filterable: true + example: example-db + description: A unique, user-defined string referring to the Managed Database. + x-linode-cli-display: 2 + type: + type: string + description: The Linode Instance type used by the Managed Database for its nodes. + example: g6-dedicated-2 + x-linode-filterable: true + x-linode-cli-display: 4 + engine: + type: string + description: The Managed Database engine type. Currently, only MySQL is available. + example: mysql + x-linode-filterable: true + x-linode-cli-display: 6 + readOnly: true + version: + type: string + description: The Managed Database engine version. + example: "8.0.26" + x-linode-filterable: true + x-linode-cli-display: 7 + readOnly: true + region: + type: string + description: The [Region](/docs/api/regions/) ID for the Managed Database. + example: us-east + x-linode-filterable: true + x-linode-cli-display: 3 + status: + type: string + enum: + - provisioning + - active + - suspending + - suspended + - resuming + - restoring + - failed + - degraded + description: The operating status of the Managed Database. + example: active + x-linode-filterable: true + x-linode-cli-display: 100 + x-linode-cli-color: + provisioning: yellow + active: green + resuming: yellow + restoring: yellow + failed: red + degraded: red + readOnly: true + encrypted: + type: boolean + default: false + description: Whether the Managed Databases is encrypted. Defaults to `false`. + example: false + allow_list: + type: array + example: + - "203.0.113.1/32" + - "192.0.1.0/24" + description: | + A list of IP addresses that can access the Managed Database. Each item can be a single IP address or a range in CIDR format. + + By default, this is an empty array (`[]`), which blocks all connections (both public and private) to the Managed Database. + items: + type: string + format: ipv4/prefix_length + pattern: '^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$' + cluster_size: + type: integer + enum: + - 1 + - 3 + example: 3 + description: | + The number of Linode Instance nodes deployed to the Managed Database. Defaults to `1`. + + Choosing 3 nodes creates a high availability cluster consisting of 1 primary node and 2 replica nodes. + x-linode-cli-display: 5 + hosts: + type: object + readOnly: true + description: The primary and secondary hosts for the Managed Database. These are assigned after provisioning is complete. + properties: + primary: + type: string + description: The primary host for the Managed Database. + example: lin-123-456-mysql-mysql-primary.servers.linodedb.net + nullable: true + secondary: + type: string + description: | + The secondary/private network host for the Managed Database. + + A private network host and a private IP can only be used to access a Database Cluster from Linodes in the same data center and will not incur transfer costs. + + **Note**: The secondary hostname is publicly viewable and accessible. + example: lin-123-456-mysql-primary-private.servers.linodedb.net + nullable: true + created: + type: string + format: date-time + description: When this Managed Database was created. + example: '2022-01-01T00:01:01' + readOnly: true + updated: + type: string + format: date-time + description: When this Managed Database was last updated. + example: '2022-01-01T00:01:01' + readOnly: true + instance_uri: + type: string + example: "/v4/databases/mysql/instances/123" + description: | + Append this to `https://api.linode.com` to run commands for the Managed Database. + readOnly: true + DatabaseBackup: + type: object + description: A database backup object. + properties: + id: + type: integer + description: The ID of the database backup object. + example: 123 + x-linode-cli-display: 1 + type: + type: string + enum: + - snapshot + - auto + description: The type of database backup, determined by how the backup was created. + example: auto + x-linode-filterable: true + x-linode-cli-display: 3 + label: + type: string + description: The database backup's label, for display purposes only. + example: Scheduled - 02/04/22 11:11 UTC-XcCRmI + x-linode-cli-display: 2 + created: + type: string + format: datetime + example: '2022-01-01T00:01:01' + description: A time value given in a combined date and time format that represents when the database backup was created. + x-linode-filterable: true + x-linode-cli-display: 4 + DatabaseCredentials: + type: object + description: Managed Database object for database credentials. + properties: + username: + type: string + readOnly: true + description: The root username for the Managed Database instance. + example: linroot + x-linode-cli-display: 1 + password: + type: string + readOnly: true + description: The randomly-generated root password for the Managed Database instance. + example: s3cur3P@ssw0rd + x-linode-cli-display: 2 + DatabaseEngine: + type: object + description: Managed Database engine object. + properties: + id: + type: string + example: mysql/8.0.26 + description: The Managed Database engine ID in engine/version format. + x-linode-cli-display: 1 + engine: + type: string + example: mysql + description: The Managed Database engine type. + x-linode-filterable: true + x-linode-cli-display: 2 + version: + type: string + example: "8.0.26" + description: The Managed Database engine version. + x-linode-filterable: true + x-linode-cli-display: 3 + DatabaseMySQL: + type: object + description: Managed MySQL Databases object. + properties: + id: + $ref: '#/components/schemas/Database/properties/id' + x-linode-cli-display: 1 + label: + $ref: '#/components/schemas/Database/properties/label' + x-linode-cli-display: 2 + type: + $ref: '#/components/schemas/Database/properties/type' + x-linode-cli-display: 4 + engine: + type: string + description: The Managed Database engine type. + example: mysql + x-linode-filterable: true + x-linode-cli-display: 6 + readOnly: true + version: + type: string + description: The Managed Database engine version. + example: "8.0.26" + x-linode-filterable: true + x-linode-cli-display: 7 + readOnly: true + region: + $ref: '#/components/schemas/Database/properties/region' + x-linode-cli-display: 3 + status: + $ref: '#/components/schemas/Database/properties/status' + x-linode-cli-display: 100 + x-linode-cli-color: + provisioning: yellow + active: green + resuming: yellow + restoring: yellow + failed: red + degraded: red + encrypted: + $ref: '#/components/schemas/Database/properties/encrypted' + allow_list: + $ref: '#/components/schemas/Database/properties/allow_list' + cluster_size: + $ref: '#/components/schemas/Database/properties/cluster_size' + x-linode-cli-display: 5 + hosts: + $ref: '#/components/schemas/Database/properties/hosts' + ssl_connection: + type: boolean + default: false + example: true + description: | + Whether to require SSL credentials to establish a connection to the Managed Database. Defaults to `false`. + + Use the **Managed MySQL Database Credentials View** ([GET /databases/mysql/instances/{instanceId}/credentials](/docs/api/databases/#managed-mysql-database-credentials-view)) command for access information. + replication_type: + type: string + enum: + - none + - asynch + - semi_synch + example: semi_synch + description: | + The replication method used for the Managed Database. + + Defaults to `none` for a single cluster and `semi_synch` for a high availability cluster. + + Must be `none` for a single node cluster. + + Must be `asynch` or `semi_synch` for a high availability cluster. + x-linode-cli-display: 99 + created: + $ref: '#/components/schemas/Database/properties/created' + updated: + $ref: '#/components/schemas/Database/properties/updated' + DatabaseMySQLRequest: + type: object + description: Managed MySQL Database request object. + required: + - label + - type + - engine + - region + properties: + label: + $ref: '#/components/schemas/DatabaseMySQL/properties/label' + type: + $ref: '#/components/schemas/DatabaseMySQL/properties/type' + engine: + type: string + example: mysql/8.0.26 + description: The Managed Database engine in engine/version format. + region: + $ref: '#/components/schemas/DatabaseMySQL/properties/region' + encrypted: + $ref: '#/components/schemas/DatabaseMySQL/properties/encrypted' + allow_list: + $ref: '#/components/schemas/DatabaseMySQL/properties/allow_list' + cluster_size: + $ref: '#/components/schemas/DatabaseMySQL/properties/cluster_size' + ssl_connection: + $ref: '#/components/schemas/DatabaseMySQL/properties/ssl_connection' + replication_type: + $ref: '#/components/schemas/DatabaseMySQL/properties/replication_type' + DatabaseSSL: + type: object + description: Managed Database SSL object. + properties: + ca_certificate: + type: string + format: base64 + description: The base64-encoded SSL CA certificate for the Managed Database instance. + example: LS0tLS1CRUdJ...== + x-linode-cli-display: 1 + DatabaseType: + type: object + description: Managed Database plan type object. + properties: + id: + type: string + description: The ID representing the Managed Database node plan type. + readOnly: true + example: g6-nanode-1 + x-linode-cli-display: 1 + label: + type: string + description: A human-readable string that describes each plan type. For display purposes only. + readOnly: true + example: DBaaS MySQL - Nanode 1GB + x-linode-cli-display: 2 + cluster_size: + type: array + description: A pricing list depending on the number of nodes. + items: + type: object + properties: + quantity: + type: integer + description: The number of nodes. + example: 1 + price: + type: object + description: Cost in US dollars, broken down into hourly and monthly charges. + properties: + hourly: + type: number + description: Cost (in US dollars) per hour. + example: 0.03 + monthly: + type: number + description: Cost (in US dollars) per month. + example: 20 + memory: + type: integer + description: The amount of RAM allocated to Database created of this plan type. The value is represented in megabytes. + example: 1024 + x-linode-cli-display: 3 + disk: + type: integer + description: The amount of disk space set aside for Databases of this plan type. The value is represented in megabytes. + example: 25600 + x-linode-cli-display: 4 + vcpus: + type: integer + description: The integer of number CPUs allocated to databases of this plan type. + example: 1 + x-linode-cli-display: 5 + deprecated: + type: boolean + description: Whether this Database plan type has been deprecated and is no longer available. + example: false + x-linode-filterable: true + x-linode-cli-display: 6 + class: + type: string + description: The compute class category. + example: nanode Device: type: object description: > @@ -22858,6 +24103,8 @@ components: tags: - name: Account description: Use the Account endpoints to manage user settings, billing, and payments. You can also initiate and maintain OAuth client application authentication, enable the Linode Managed service, and create new users on your account. + - name: Databases + description: Managed Databases is Linode's fully-managed, high-performance database service. Use the Managed Databases endpoints to create and manage database clusters. - name: Domains description: Use the Domains endpoints to create and manage domains and domain records on your account. - name: Images