Skip to content

Commit e10457e

Browse files
authored
feat(document_db): align proto with rdb proto (#1066)
1 parent 2268b85 commit e10457e

File tree

3 files changed

+87
-7
lines changed

3 files changed

+87
-7
lines changed

packages/clients/src/api/document_db/v1beta1/index.gen.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,14 @@ export type {
114114
SetPrivilegeRequest,
115115
Snapshot,
116116
SnapshotStatus,
117+
SnapshotVolumeType,
118+
StorageClass,
117119
UpdateInstanceRequest,
118120
UpdateSnapshotRequest,
119121
UpdateUserRequest,
120122
UpgradableVersion,
121123
UpgradeInstanceRequest,
124+
UpgradeInstanceRequestMajorUpgradeWorkflow,
122125
User,
123126
Volume,
124127
VolumeType,

packages/clients/src/api/document_db/v1beta1/marshalling.gen.ts

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,13 @@ import type {
7676
SetInstanceSettingsResponse,
7777
SetPrivilegeRequest,
7878
Snapshot,
79+
SnapshotVolumeType,
7980
UpdateInstanceRequest,
8081
UpdateSnapshotRequest,
8182
UpdateUserRequest,
8283
UpgradableVersion,
8384
UpgradeInstanceRequest,
85+
UpgradeInstanceRequestMajorUpgradeWorkflow,
8486
User,
8587
Volume,
8688
} from './types.gen'
@@ -279,6 +281,7 @@ const unmarshalVolume = (data: unknown): Volume => {
279281
}
280282

281283
return {
284+
class: data.class,
282285
size: data.size,
283286
type: data.type,
284287
} as Volume
@@ -347,6 +350,19 @@ export const unmarshalPrivilege = (data: unknown): Privilege => {
347350
} as Privilege
348351
}
349352

353+
const unmarshalSnapshotVolumeType = (data: unknown): SnapshotVolumeType => {
354+
if (!isJSONObject(data)) {
355+
throw new TypeError(
356+
`Unmarshalling the type 'SnapshotVolumeType' failed as data isn't a dictionary.`,
357+
)
358+
}
359+
360+
return {
361+
class: data.class,
362+
type: data.type,
363+
} as SnapshotVolumeType
364+
}
365+
350366
export const unmarshalSnapshot = (data: unknown): Snapshot => {
351367
if (!isJSONObject(data)) {
352368
throw new TypeError(
@@ -366,6 +382,9 @@ export const unmarshalSnapshot = (data: unknown): Snapshot => {
366382
size: data.size,
367383
status: data.status,
368384
updatedAt: unmarshalDate(data.updated_at),
385+
volumeType: data.volume_type
386+
? unmarshalSnapshotVolumeType(data.volume_type)
387+
: undefined,
369388
} as Snapshot
370389
}
371390

@@ -661,6 +680,7 @@ const unmarshalNodeTypeVolumeType = (data: unknown): NodeTypeVolumeType => {
661680

662681
return {
663682
chunkSize: data.chunk_size,
683+
class: data.class,
664684
description: data.description,
665685
maxSize: data.max_size,
666686
minSize: data.min_size,
@@ -1129,15 +1149,33 @@ export const marshalUpdateUserRequest = (
11291149
password: request.password,
11301150
})
11311151

1152+
const marshalUpgradeInstanceRequestMajorUpgradeWorkflow = (
1153+
request: UpgradeInstanceRequestMajorUpgradeWorkflow,
1154+
defaults: DefaultValues,
1155+
): Record<string, unknown> => ({
1156+
upgradable_version_id: request.upgradableVersionId,
1157+
with_endpoints: request.withEndpoints,
1158+
})
1159+
11321160
export const marshalUpgradeInstanceRequest = (
11331161
request: UpgradeInstanceRequest,
11341162
defaults: DefaultValues,
11351163
): Record<string, unknown> => ({
1136-
...resolveOneOf<string | boolean | number>([
1164+
...resolveOneOf<string | boolean | number | Record<string, unknown>>([
11371165
{ param: 'node_type', value: request.nodeType },
11381166
{ param: 'enable_ha', value: request.enableHa },
11391167
{ param: 'volume_size', value: request.volumeSize },
11401168
{ param: 'volume_type', value: request.volumeType },
11411169
{ param: 'upgradable_version_id', value: request.upgradableVersionId },
1170+
{
1171+
param: 'major_upgrade_workflow',
1172+
value:
1173+
request.majorUpgradeWorkflow !== undefined
1174+
? marshalUpgradeInstanceRequestMajorUpgradeWorkflow(
1175+
request.majorUpgradeWorkflow,
1176+
defaults,
1177+
)
1178+
: undefined,
1179+
},
11421180
]),
11431181
})

packages/clients/src/api/document_db/v1beta1/types.gen.ts

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ export type SnapshotStatus =
101101
| 'error'
102102
| 'locked'
103103

104-
export type VolumeType = 'lssd' | 'bssd'
104+
export type StorageClass = 'unknown_storage_class' | 'lssd' | 'bssd' | 'sbs'
105+
106+
export type VolumeType = 'lssd' | 'bssd' | 'sbs_5k' | 'sbs_15k'
105107

106108
export interface EndpointDirectAccessDetails {}
107109

@@ -316,6 +318,7 @@ export interface UpgradableVersion {
316318
export interface Volume {
317319
type: VolumeType
318320
size: number
321+
class: StorageClass
319322
}
320323

321324
export interface NodeTypeVolumeConstraintSizes {
@@ -336,6 +339,13 @@ export interface NodeTypeVolumeType {
336339
maxSize: number
337340
/** Minimum increment level for a Block Storage volume size. */
338341
chunkSize: number
342+
/** The storage class of the volume. */
343+
class: StorageClass
344+
}
345+
346+
export interface SnapshotVolumeType {
347+
type: VolumeType
348+
class: StorageClass
339349
}
340350

341351
export interface ACLRuleRequest {
@@ -546,6 +556,8 @@ export interface Snapshot {
546556
instanceName: string
547557
/** Source node type. */
548558
nodeType: string
559+
/** Type of volume where data is stored (lssd, bssd or sbs). */
560+
volumeType?: SnapshotVolumeType
549561
/** Region of this snapshot. */
550562
region: Region
551563
}
@@ -564,6 +576,19 @@ export interface User {
564576
isAdmin: boolean
565577
}
566578

579+
export interface UpgradeInstanceRequestMajorUpgradeWorkflow {
580+
/**
581+
* This will create a new Database Instance with same specifications as the
582+
* current one and perform a Database Engine upgrade.
583+
*/
584+
upgradableVersionId: string
585+
/**
586+
* At the end of the migration procedure this option let you migrate all your
587+
* database endpoint to the upgraded instance.
588+
*/
589+
withEndpoints: boolean
590+
}
591+
567592
export type AddInstanceACLRulesRequest = {
568593
/**
569594
* Region to target. If none is passed will use default region from the
@@ -1349,37 +1374,51 @@ export type UpgradeInstanceRequest = {
13491374
* Node type of the Database Instance you want to upgrade to.
13501375
*
13511376
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
1352-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
1377+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
1378+
* could be set.
13531379
*/
13541380
nodeType?: string
13551381
/**
13561382
* Defines whether or not High Availability should be enabled on the Database
13571383
* Instance.
13581384
*
13591385
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
1360-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
1386+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
1387+
* could be set.
13611388
*/
13621389
enableHa?: boolean
13631390
/**
13641391
* Increase your Block volume size.
13651392
*
13661393
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
1367-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
1394+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
1395+
* could be set.
13681396
*/
13691397
volumeSize?: number
13701398
/**
13711399
* Change your Database Instance storage type.
13721400
*
13731401
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
1374-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
1402+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
1403+
* could be set.
13751404
*/
13761405
volumeType?: VolumeType
13771406
/**
13781407
* This will create a new Database Instance with same specifications as the
13791408
* current one and perform a Database Engine upgrade.
13801409
*
13811410
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
1382-
* 'volumeSize', 'volumeType', 'upgradableVersionId' could be set.
1411+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
1412+
* could be set.
13831413
*/
13841414
upgradableVersionId?: string
1415+
/**
1416+
* Upgrade your database engine to a new major version including instance
1417+
* endpoints.
1418+
*
1419+
* One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa',
1420+
* 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow'
1421+
* could be set.
1422+
*/
1423+
majorUpgradeWorkflow?: UpgradeInstanceRequestMajorUpgradeWorkflow
13851424
}

0 commit comments

Comments
 (0)