diff --git a/packages/clients/src/api/document_db/v1beta1/index.gen.ts b/packages/clients/src/api/document_db/v1beta1/index.gen.ts index 045d2b2b8..66b55bba9 100644 --- a/packages/clients/src/api/document_db/v1beta1/index.gen.ts +++ b/packages/clients/src/api/document_db/v1beta1/index.gen.ts @@ -114,11 +114,14 @@ export type { SetPrivilegeRequest, Snapshot, SnapshotStatus, + SnapshotVolumeType, + StorageClass, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradableVersion, UpgradeInstanceRequest, + UpgradeInstanceRequestMajorUpgradeWorkflow, User, Volume, VolumeType, diff --git a/packages/clients/src/api/document_db/v1beta1/marshalling.gen.ts b/packages/clients/src/api/document_db/v1beta1/marshalling.gen.ts index 246c8e448..3037e1b73 100644 --- a/packages/clients/src/api/document_db/v1beta1/marshalling.gen.ts +++ b/packages/clients/src/api/document_db/v1beta1/marshalling.gen.ts @@ -76,11 +76,13 @@ import type { SetInstanceSettingsResponse, SetPrivilegeRequest, Snapshot, + SnapshotVolumeType, UpdateInstanceRequest, UpdateSnapshotRequest, UpdateUserRequest, UpgradableVersion, UpgradeInstanceRequest, + UpgradeInstanceRequestMajorUpgradeWorkflow, User, Volume, } from './types.gen' @@ -279,6 +281,7 @@ const unmarshalVolume = (data: unknown): Volume => { } return { + class: data.class, size: data.size, type: data.type, } as Volume @@ -347,6 +350,19 @@ export const unmarshalPrivilege = (data: unknown): Privilege => { } as Privilege } +const unmarshalSnapshotVolumeType = (data: unknown): SnapshotVolumeType => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'SnapshotVolumeType' failed as data isn't a dictionary.`, + ) + } + + return { + class: data.class, + type: data.type, + } as SnapshotVolumeType +} + export const unmarshalSnapshot = (data: unknown): Snapshot => { if (!isJSONObject(data)) { throw new TypeError( @@ -366,6 +382,9 @@ export const unmarshalSnapshot = (data: unknown): Snapshot => { size: data.size, status: data.status, updatedAt: unmarshalDate(data.updated_at), + volumeType: data.volume_type + ? unmarshalSnapshotVolumeType(data.volume_type) + : undefined, } as Snapshot } @@ -661,6 +680,7 @@ const unmarshalNodeTypeVolumeType = (data: unknown): NodeTypeVolumeType => { return { chunkSize: data.chunk_size, + class: data.class, description: data.description, maxSize: data.max_size, minSize: data.min_size, @@ -1129,15 +1149,33 @@ export const marshalUpdateUserRequest = ( password: request.password, }) +const marshalUpgradeInstanceRequestMajorUpgradeWorkflow = ( + request: UpgradeInstanceRequestMajorUpgradeWorkflow, + defaults: DefaultValues, +): Record => ({ + upgradable_version_id: request.upgradableVersionId, + with_endpoints: request.withEndpoints, +}) + export const marshalUpgradeInstanceRequest = ( request: UpgradeInstanceRequest, defaults: DefaultValues, ): Record => ({ - ...resolveOneOf([ + ...resolveOneOf>([ { param: 'node_type', value: request.nodeType }, { param: 'enable_ha', value: request.enableHa }, { param: 'volume_size', value: request.volumeSize }, { param: 'volume_type', value: request.volumeType }, { param: 'upgradable_version_id', value: request.upgradableVersionId }, + { + param: 'major_upgrade_workflow', + value: + request.majorUpgradeWorkflow !== undefined + ? marshalUpgradeInstanceRequestMajorUpgradeWorkflow( + request.majorUpgradeWorkflow, + defaults, + ) + : undefined, + }, ]), }) diff --git a/packages/clients/src/api/document_db/v1beta1/types.gen.ts b/packages/clients/src/api/document_db/v1beta1/types.gen.ts index 0f401b59a..5d1fce2fc 100644 --- a/packages/clients/src/api/document_db/v1beta1/types.gen.ts +++ b/packages/clients/src/api/document_db/v1beta1/types.gen.ts @@ -101,7 +101,9 @@ export type SnapshotStatus = | 'error' | 'locked' -export type VolumeType = 'lssd' | 'bssd' +export type StorageClass = 'unknown_storage_class' | 'lssd' | 'bssd' | 'sbs' + +export type VolumeType = 'lssd' | 'bssd' | 'sbs_5k' | 'sbs_15k' export interface EndpointDirectAccessDetails {} @@ -316,6 +318,7 @@ export interface UpgradableVersion { export interface Volume { type: VolumeType size: number + class: StorageClass } export interface NodeTypeVolumeConstraintSizes { @@ -336,6 +339,13 @@ export interface NodeTypeVolumeType { maxSize: number /** Minimum increment level for a Block Storage volume size. */ chunkSize: number + /** The storage class of the volume. */ + class: StorageClass +} + +export interface SnapshotVolumeType { + type: VolumeType + class: StorageClass } export interface ACLRuleRequest { @@ -546,6 +556,8 @@ export interface Snapshot { instanceName: string /** Source node type. */ nodeType: string + /** Type of volume where data is stored (lssd, bssd or sbs). */ + volumeType?: SnapshotVolumeType /** Region of this snapshot. */ region: Region } @@ -564,6 +576,19 @@ export interface User { isAdmin: boolean } +export interface UpgradeInstanceRequestMajorUpgradeWorkflow { + /** + * This will create a new Database Instance with same specifications as the + * current one and perform a Database Engine upgrade. + */ + upgradableVersionId: string + /** + * At the end of the migration procedure this option let you migrate all your + * database endpoint to the upgraded instance. + */ + withEndpoints: boolean +} + export type AddInstanceACLRulesRequest = { /** * Region to target. If none is passed will use default region from the @@ -1349,7 +1374,8 @@ export type UpgradeInstanceRequest = { * Node type of the Database Instance you want to upgrade to. * * One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa', - * 'volumeSize', 'volumeType', 'upgradableVersionId' could be set. + * 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow' + * could be set. */ nodeType?: string /** @@ -1357,21 +1383,24 @@ export type UpgradeInstanceRequest = { * Instance. * * One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa', - * 'volumeSize', 'volumeType', 'upgradableVersionId' could be set. + * 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow' + * could be set. */ enableHa?: boolean /** * Increase your Block volume size. * * One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa', - * 'volumeSize', 'volumeType', 'upgradableVersionId' could be set. + * 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow' + * could be set. */ volumeSize?: number /** * Change your Database Instance storage type. * * One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa', - * 'volumeSize', 'volumeType', 'upgradableVersionId' could be set. + * 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow' + * could be set. */ volumeType?: VolumeType /** @@ -1379,7 +1408,17 @@ export type UpgradeInstanceRequest = { * current one and perform a Database Engine upgrade. * * One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa', - * 'volumeSize', 'volumeType', 'upgradableVersionId' could be set. + * 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow' + * could be set. */ upgradableVersionId?: string + /** + * Upgrade your database engine to a new major version including instance + * endpoints. + * + * One-of ('upgradeTarget'): at most one of 'nodeType', 'enableHa', + * 'volumeSize', 'volumeType', 'upgradableVersionId', 'majorUpgradeWorkflow' + * could be set. + */ + majorUpgradeWorkflow?: UpgradeInstanceRequestMajorUpgradeWorkflow }