From d51e02a8625e33d47875eaf96bf859b4f1565f72 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Mon, 18 Nov 2024 14:15:52 +0000 Subject: [PATCH] feat: update generated APIs --- .../src/api/mongodb/v1alpha1/api.gen.ts | 25 +++++++++++++++++ .../src/api/mongodb/v1alpha1/index.gen.ts | 1 + .../api/mongodb/v1alpha1/marshalling.gen.ts | 27 ++++++++++++------- .../src/api/mongodb/v1alpha1/types.gen.ts | 26 +++++++++++++----- 4 files changed, 63 insertions(+), 16 deletions(-) diff --git a/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts index 6f4f0f539..736c571dd 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts @@ -13,6 +13,7 @@ import { SNAPSHOT_TRANSIENT_STATUSES, } from './content.gen' import { + marshalCreateEndpointRequest, marshalCreateInstanceRequest, marshalCreateSnapshotRequest, marshalCreateUserRequest, @@ -21,6 +22,7 @@ import { marshalUpdateSnapshotRequest, marshalUpdateUserRequest, marshalUpgradeInstanceRequest, + unmarshalEndpoint, unmarshalInstance, unmarshalListInstancesResponse, unmarshalListNodeTypesResponse, @@ -31,12 +33,14 @@ import { unmarshalUser, } from './marshalling.gen' import type { + CreateEndpointRequest, CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, DeleteEndpointRequest, DeleteInstanceRequest, DeleteSnapshotRequest, + Endpoint, GetInstanceCertificateRequest, GetInstanceRequest, GetSnapshotRequest, @@ -536,4 +540,25 @@ export class API extends ParentAPI { method: 'DELETE', path: `/mongodb/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam('endpointId', request.endpointId)}`, }) + + /** + * Create a new Instance endpoint. Create a new endpoint for a MongoDB® + * Database Instance. You can add `public_network` or `private_network` + * specifications to the body of the request. + * + * @param request - The request {@link CreateEndpointRequest} + * @returns A Promise of Endpoint + */ + createEndpoint = (request: Readonly) => + this.client.fetch( + { + body: JSON.stringify( + marshalCreateEndpointRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/mongodb/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/endpoints`, + }, + unmarshalEndpoint, + ) } diff --git a/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts index 34d98a87f..4fc499583 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts @@ -3,6 +3,7 @@ export { API } from './api.gen' export * from './content.gen' export type { + CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, diff --git a/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts index dc622a591..2a79ece61 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts @@ -9,6 +9,7 @@ import { } from '../../../bridge' import type { DefaultValues } from '../../../bridge' import type { + CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, @@ -68,7 +69,7 @@ const unmarshalEndpointPublicDetails = ( return {} as EndpointPublicDetails } -const unmarshalEndpoint = (data: unknown): Endpoint => { +export const unmarshalEndpoint = (data: unknown): Endpoint => { if (!isJSONObject(data)) { throw new TypeError( `Unmarshalling the type 'Endpoint' failed as data isn't a dictionary.`, @@ -353,14 +354,6 @@ const marshalEndpointSpecPublicDetails = ( defaults: DefaultValues, ): Record => ({}) -const marshalCreateInstanceRequestVolumeDetails = ( - request: CreateInstanceRequestVolumeDetails, - defaults: DefaultValues, -): Record => ({ - volume_size: request.volumeSize, - volume_type: request.volumeType, -}) - const marshalEndpointSpec = ( request: EndpointSpec, defaults: DefaultValues, @@ -386,6 +379,22 @@ const marshalEndpointSpec = ( ]), }) +export const marshalCreateEndpointRequest = ( + request: CreateEndpointRequest, + defaults: DefaultValues, +): Record => ({ + endpoint: marshalEndpointSpec(request.endpoint, defaults), + instance_id: request.instanceId, +}) + +const marshalCreateInstanceRequestVolumeDetails = ( + request: CreateInstanceRequestVolumeDetails, + defaults: DefaultValues, +): Record => ({ + volume_size: request.volumeSize, + volume_type: request.volumeType, +}) + export const marshalCreateInstanceRequest = ( request: CreateInstanceRequest, defaults: DefaultValues, diff --git a/packages/clients/src/api/mongodb/v1alpha1/types.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/types.gen.ts index 231378fb3..b6c1743a6 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/types.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/types.gen.ts @@ -144,13 +144,6 @@ export interface Setting { floatMax?: number } -export interface CreateInstanceRequestVolumeDetails { - /** Volume size. */ - volumeSize: number - /** Type of volume where data is stored. */ - volumeType: VolumeType -} - export interface EndpointSpec { /** One-of ('details'): at most one of 'public', 'privateNetwork' could be set. */ public?: EndpointSpecPublicDetails @@ -158,6 +151,13 @@ export interface EndpointSpec { privateNetwork?: EndpointSpecPrivateNetworkDetails } +export interface CreateInstanceRequestVolumeDetails { + /** Volume size. */ + volumeSize: number + /** Type of volume where data is stored. */ + volumeType: VolumeType +} + export interface Instance { /** UUID of the Database Instance. */ id: string @@ -258,6 +258,18 @@ export interface RestoreSnapshotRequestVolumeDetails { volumeType: VolumeType } +export type CreateEndpointRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: Region + /** UUID of the Database Instance. */ + instanceId: string + /** EndpointSpec used to expose your Database Instance. */ + endpoint: EndpointSpec +} + export type CreateInstanceRequest = { /** * Region to target. If none is passed will use default region from the