Skip to content

Commit 2b19def

Browse files
authored
feat(rdb): add seemless major upgrade (#958)
1 parent 84a7095 commit 2b19def

File tree

3 files changed

+54
-5
lines changed

3 files changed

+54
-5
lines changed

packages/clients/src/api/rdb/v1/index.gen.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ export type {
133133
UpdateUserRequest,
134134
UpgradableVersion,
135135
UpgradeInstanceRequest,
136+
UpgradeInstanceRequestMajorUpgradeWorkflow,
136137
User,
137138
Volume,
138139
VolumeType,

packages/clients/src/api/rdb/v1/marshalling.gen.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ import type {
8888
UpdateUserRequest,
8989
UpgradableVersion,
9090
UpgradeInstanceRequest,
91+
UpgradeInstanceRequestMajorUpgradeWorkflow,
9192
User,
9293
Volume,
9394
} from './types.gen'
@@ -935,6 +936,14 @@ const marshalReadReplicaEndpointSpec = (
935936
]),
936937
})
937938

939+
const marshalUpgradeInstanceRequestMajorUpgradeWorkflow = (
940+
request: UpgradeInstanceRequestMajorUpgradeWorkflow,
941+
defaults: DefaultValues,
942+
): Record<string, unknown> => ({
943+
upgradable_version_id: request.upgradableVersionId,
944+
with_endpoints: request.withEndpoints,
945+
})
946+
938947
export const marshalAddInstanceACLRulesRequest = (
939948
request: AddInstanceACLRulesRequest,
940949
defaults: DefaultValues,
@@ -1198,5 +1207,14 @@ export const marshalUpgradeInstanceRequest = (
11981207
param: 'upgradable_version_id',
11991208
value: request.upgradableVersionId,
12001209
},
1210+
{
1211+
param: 'major_upgrade_workflow',
1212+
value: request.majorUpgradeWorkflow
1213+
? marshalUpgradeInstanceRequestMajorUpgradeWorkflow(
1214+
request.majorUpgradeWorkflow,
1215+
defaults,
1216+
)
1217+
: undefined,
1218+
},
12011219
]),
12021220
})

packages/clients/src/api/rdb/v1/types.gen.ts

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,22 @@ export interface UpgradableVersion {
752752
minorVersion: string
753753
}
754754

755+
/** Upgrade instance request. major upgrade workflow. */
756+
export interface UpgradeInstanceRequestMajorUpgradeWorkflow {
757+
/**
758+
* Update your database engine to a newer version. This will create a new
759+
* Database Instance with same specifications as the current one and perform a
760+
* Database Engine upgrade.
761+
*/
762+
upgradableVersionId: string
763+
/**
764+
* Include endpoint during the migration. At the end of the migration
765+
* procedure this option let you migrate all your database endpoint to the
766+
* upgraded instance.
767+
*/
768+
withEndpoints: boolean
769+
}
770+
755771
/** User. */
756772
export interface User {
757773
/**
@@ -909,29 +925,33 @@ export type UpgradeInstanceRequest = {
909925
* Node type of the Database Instance you want to upgrade to.
910926
*
911927
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
912-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
928+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
929+
* could be set.
913930
*/
914931
nodeType?: string
915932
/**
916933
* Defines whether or not high availability should be enabled on the Database
917934
* Instance.
918935
*
919936
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
920-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
937+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
938+
* could be set.
921939
*/
922940
enableHa?: boolean
923941
/**
924942
* Increase your block storage volume size.
925943
*
926944
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
927-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
945+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
946+
* could be set.
928947
*/
929948
volumeSize?: number
930949
/**
931950
* Change your Database Instance storage type.
932951
*
933952
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
934-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
953+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
954+
* could be set.
935955
*/
936956
volumeType?: VolumeType
937957
/**
@@ -940,9 +960,19 @@ export type UpgradeInstanceRequest = {
940960
* Database Engine upgrade.
941961
*
942962
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
943-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
963+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
964+
* could be set.
944965
*/
945966
upgradableVersionId?: string
967+
/**
968+
* Upgrade your database engine to a new major version including instance
969+
* endpoints.
970+
*
971+
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
972+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
973+
* could be set.
974+
*/
975+
majorUpgradeWorkflow?: UpgradeInstanceRequestMajorUpgradeWorkflow
946976
}
947977

948978
export type ListInstancesRequest = {

0 commit comments

Comments
 (0)