Skip to content

Commit d31b3a3

Browse files
authored
Merge pull request #620 from bbiggerr/dbaas-mysql-patch
[New] Managed MySQL Database Patch
2 parents 7725a36 + effd22a commit d31b3a3

File tree

1 file changed

+142
-3
lines changed

1 file changed

+142
-3
lines changed

openapi.yaml

Lines changed: 142 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3272,7 +3272,17 @@ paths:
32723272
* Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.
32733273
* **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.
32743274

3275-
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.
3275+
All Managed Databases include automatic, daily backups. Up to seven backups are automatically stored for each Managed Database, providing restore points for each day of the past week.
3276+
3277+
All Managed Databases include automatic patch updates.
3278+
3279+
* By default, the maintenance window is set to start *every week* on *Sunday* at *20:00 UTC* and lasts for 3 hours.
3280+
3281+
* If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
3282+
3283+
* Currently, these automatic updates do not include major releases for the database engine software (DBMS). To upgrade to a new major version (such as upgrading MySQL 8.0.26 to 9.0.0), consider deploying a new Managed Database with your preferred version. Then, once it's deployed, you can [migrate your database](/docs/products/databases/managed-databases/guides/migrate-mysql/).
3284+
3285+
* To modify update the maintenance window for a Database, use the **Managed MySQL Database Update** ([PUT /databases/mysql/instances/{instanceId}](/docs/api/databases/#managed-mysql-database-update)) command.
32763286

32773287
**Beta**: This endpoint is in **open** beta. During the beta period, Managed Databases will not incur any charges.
32783288
If you deploy a Managed Database during this time, you will receive a notice with pricing details in advance of the
@@ -3449,6 +3459,14 @@ paths:
34493459
* Entering an empty array (`[]`) blocks all connections (both public and private) to the Managed Database.
34503460
* **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.
34513461

3462+
All Managed Databases include automatic patch updates. The maintenance window for these updates is configured with the Managed Database `updates` property.
3463+
3464+
* By default, the maintenance window is set to start *every week* on *Sunday* at *20:00 UTC* and lasts for 3 hours.
3465+
3466+
* If your database cluster is configured with a single node, you will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that will be the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan to avoid any downtime due to maintenance.
3467+
3468+
* Currently, these automatic updates do not include major releases for the database engine software (DBMS). To upgrade to a new major version (such as upgrading MySQL 8.0.26 to 9.0.0), consider deploying a new Managed Database with your preferred version. Then, once it's deployed, you can [migrate your database](/docs/products/databases/managed-databases/guides/migrate-mysql/).
3469+
34523470
**Beta**: This endpoint is in **open** beta. During the beta period, Managed Databases will not incur any charges.
34533471
If you deploy a Managed Database during this time, you will receive a notice with pricing details in advance of the
34543472
GA (general availability) release.
@@ -3471,6 +3489,8 @@ paths:
34713489
$ref: '#/components/schemas/DatabaseMySQLRequest/properties/label'
34723490
allow_list:
34733491
$ref: '#/components/schemas/DatabaseMySQLRequest/properties/allow_list'
3492+
updates:
3493+
$ref: '#/components/schemas/DatabaseMySQLRequest/properties/updates'
34743494
responses:
34753495
'200':
34763496
description: Managed Database updated successfully.
@@ -3490,15 +3510,27 @@ paths:
34903510
"allow_list": [
34913511
"203.0.113.1",
34923512
"192.0.1.0/24"
3493-
]
3513+
],
3514+
"updates" = {
3515+
"frequency": "monthly",
3516+
"duration": 3,
3517+
"hour_of_day": 12,
3518+
"day_of_week": 4,
3519+
"week_of_month": 3,
3520+
}
34943521
}' \
34953522
https://api.linode.com/v4beta/databases/mysql/instances/123
34963523
- lang: CLI
34973524
source: >
34983525
linode-cli databases mysql-update 123 \
34993526
--label example-db \
35003527
--allow_list 203.0.113.1 \
3501-
--allow_list 192.0.1.0/24
3528+
--allow_list 192.0.1.0/24 \
3529+
--updates.frequency monthly \
3530+
--updates.duration 3 \
3531+
--updates.hour_of_day 12 \
3532+
--updates.day_of_week 4 \
3533+
--updates.week_of_month 3
35023534
/databases/mysql/instances/{instanceId}/backups:
35033535
x-linode-cli-command: databases
35043536
parameters:
@@ -3917,6 +3949,63 @@ paths:
39173949
- lang: CLI
39183950
source: >
39193951
linode-cli databases mysql-ssl-cert 123
3952+
/databases/mysql/instances/{instanceId}/patch:
3953+
x-linode-cli-command: databases
3954+
parameters:
3955+
- name: instanceId
3956+
in: path
3957+
description: The ID of the Managed MySQL Database.
3958+
required: true
3959+
schema:
3960+
type: integer
3961+
post:
3962+
tags:
3963+
- Databases
3964+
summary: Managed MySQL Database Patch
3965+
operationId: postDatabasesMySQLInstancePatch
3966+
servers:
3967+
- url: https://api.linode.com/v4beta
3968+
x-linode-cli-action: mysql-patch
3969+
x-linode-grant: unrestricted only
3970+
description: |
3971+
Update the minor patch version of the Managed MySQL Database.
3972+
3973+
The Database must have an `active` status to perform this command.
3974+
3975+
Only unrestricted Users can access this command, and have access regardless of the acting token's OAuth scopes.
3976+
3977+
**Note**
3978+
3979+
* If your database cluster is configured with a single node, you will experience downtime during this maintenance. Consider upgrading to a high availability plan to avoid any downtime due to maintenance.
3980+
3981+
* Currently, patching does not include major releases for the database engine software (DBMS). To patch to a new major version (such as upgrading MySQL 8.0.26 to 9.0.0), consider deploying a new Managed Database with your preferred version. Then, once it's deployed, you can [migrate your database](/docs/products/databases/managed-databases/guides/migrate-mysql/).
3982+
3983+
**Beta**: This endpoint is in **open** beta. During the beta period, Managed Databases will not incur any charges.
3984+
If you deploy a Managed Database during this time, you will receive a notice with pricing details in advance of the
3985+
GA (general availability) release.
3986+
When accessing this endpoint, please make sure to prepend all requests with `/v4beta` instead of `/v4`, and be
3987+
aware that this endpoint may receive breaking updates in the future. This notice will be removed when this
3988+
endpoint is out of beta.
3989+
security:
3990+
- personalAccessToken: []
3991+
- oauth: []
3992+
responses:
3993+
'200':
3994+
description: Managed Database instance patch request successful.
3995+
content:
3996+
application/json:
3997+
schema:
3998+
type: object
3999+
default:
4000+
$ref: '#/components/responses/ErrorResponse'
4001+
x-code-samples:
4002+
- lang: Shell
4003+
source: >
4004+
curl -H "Authorization: Bearer $TOKEN" \
4005+
-X POST https://api.linode.com/v4beta/databases/mysql/instances/123/patch
4006+
- lang: CLI
4007+
source: >
4008+
linode-cli databases mysql-patch 123
39204009
/databases/types:
39214010
x-linode-cli-command: databases
39224011
get:
@@ -17759,6 +17848,7 @@ components:
1775917848
- restoring
1776017849
- failed
1776117850
- degraded
17851+
- updating
1776217852
description: The operating status of the Managed Database.
1776317853
example: active
1776417854
x-linode-filterable: true
@@ -17770,6 +17860,8 @@ components:
1777017860
restoring: yellow
1777117861
failed: red
1777217862
degraded: red
17863+
updating: yellow
17864+
default_: white
1777317865
readOnly: true
1777417866
encrypted:
1777517867
type: boolean
@@ -17978,10 +18070,55 @@ components:
1797818070

1797918071
Must be `asynch` or `semi_synch` for a high availability cluster.
1798018072
x-linode-cli-display: 99
18073+
port:
18074+
type: integer
18075+
description: The access port for this Managed Database.
18076+
example: 3306
18077+
x-linode-cli-display: 98
1798118078
created:
1798218079
$ref: '#/components/schemas/Database/properties/created'
1798318080
updated:
1798418081
$ref: '#/components/schemas/Database/properties/updated'
18082+
updates:
18083+
type: object
18084+
description: Configuration settings for automated patch update maintenance for the Managed Database.
18085+
properties:
18086+
frequency:
18087+
type: string
18088+
enum:
18089+
- weekly
18090+
- monthly
18091+
description: Whether maintenance occurs on a weekly or monthly basis.
18092+
example:
18093+
duration:
18094+
type: integer
18095+
minimum: 1
18096+
maximum: 3
18097+
description: The maximum maintenance window time in hours.
18098+
example: 3
18099+
hour_of_day:
18100+
type: integer
18101+
minimum: 0
18102+
maximum: 23
18103+
description: The hour to begin maintenance based in UTC time.
18104+
example: 0
18105+
day_of_week:
18106+
type: integer
18107+
minimum: 1
18108+
maximum: 7
18109+
description: The day to perform maintenance. 1=Monday, 2=Tuesday, etc.
18110+
example: 1
18111+
week_of_month:
18112+
type: integer
18113+
minimum: 1
18114+
maximum: 4
18115+
description: |
18116+
The week of the month to perform `monthly` frequency updates.
18117+
18118+
* Required for `monthly` frequency updates.
18119+
18120+
* Must be `null` for `weekly` frequency updates.
18121+
example: 1
1798518122
DatabaseMySQLRequest:
1798618123
type: object
1798718124
description: Managed MySQL Database request object.
@@ -18011,6 +18148,8 @@ components:
1801118148
$ref: '#/components/schemas/DatabaseMySQL/properties/ssl_connection'
1801218149
replication_type:
1801318150
$ref: '#/components/schemas/DatabaseMySQL/properties/replication_type'
18151+
updates:
18152+
$ref: '#/components/schemas/DatabaseMySQL/properties/updates'
1801418153
DatabaseSSL:
1801518154
type: object
1801618155
description: Managed Database SSL object.

0 commit comments

Comments
 (0)