From 049a9c4b134067a4b354c223018f3fd2b8095627 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Tue, 29 Oct 2024 15:37:27 +0000 Subject: [PATCH] feat: update generated APIs --- .../src/api/mongodb/v1alpha1/api.gen.ts | 23 +++++++++++++++++++ .../src/api/mongodb/v1alpha1/index.gen.ts | 1 + .../api/mongodb/v1alpha1/marshalling.gen.ts | 8 +++++++ .../src/api/mongodb/v1alpha1/types.gen.ts | 14 +++++++++++ .../mongodb/v1alpha1/validation-rules.gen.ts | 12 ++++++++++ 5 files changed, 58 insertions(+) diff --git a/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts index 05a60655c..c9c832fe1 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/api.gen.ts @@ -15,6 +15,7 @@ import { import { marshalCreateInstanceRequest, marshalCreateSnapshotRequest, + marshalCreateUserRequest, marshalRestoreSnapshotRequest, marshalUpdateInstanceRequest, marshalUpdateSnapshotRequest, @@ -32,6 +33,7 @@ import { import type { CreateInstanceRequest, CreateSnapshotRequest, + CreateUserRequest, DeleteInstanceRequest, DeleteSnapshotRequest, GetInstanceCertificateRequest, @@ -492,6 +494,27 @@ export class API extends ParentAPI { listUsers = (request: Readonly) => enrichForPagination('users', this.pageOfListUsers, request) + /** + * Create an user on a Database Instance. Create an user on a Database + * Instance. You must define the `name`, `password` of the user and + * `instance_id` parameters in the request. + * + * @param request - The request {@link CreateUserRequest} + * @returns A Promise of User + */ + createUser = (request: Readonly) => + this.client.fetch( + { + body: JSON.stringify( + marshalCreateUserRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/mongodb/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/instances/${validatePathParam('instanceId', request.instanceId)}/users/${validatePathParam('name', request.name)}`, + }, + unmarshalUser, + ) + /** * Update a user on a Database Instance. Update the parameters of a user on a * Database Instance. You can update the `password` parameter, but you cannot diff --git a/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts index 77915a46b..734c25891 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/index.gen.ts @@ -6,6 +6,7 @@ export type { CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, + CreateUserRequest, DeleteInstanceRequest, DeleteSnapshotRequest, Endpoint, diff --git a/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts index d0e978158..4c33d1ba3 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/marshalling.gen.ts @@ -12,6 +12,7 @@ import type { CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, + CreateUserRequest, Endpoint, EndpointPrivateNetworkDetails, EndpointPublicDetails, @@ -415,6 +416,13 @@ export const marshalCreateSnapshotRequest = ( name: request.name, }) +export const marshalCreateUserRequest = ( + request: CreateUserRequest, + defaults: DefaultValues, +): Record => ({ + password: request.password, +}) + const marshalRestoreSnapshotRequestVolumeDetails = ( request: RestoreSnapshotRequestVolumeDetails, 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 8447da888..3a583545d 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/types.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/types.gen.ts @@ -300,6 +300,20 @@ export type CreateSnapshotRequest = { expiresAt?: Date } +export type CreateUserRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: Region + /** UUID of the Database Instance the user belongs to. */ + instanceId: string + /** Name of the database user. */ + name: string + /** Password of the database user. */ + password?: string +} + export type DeleteInstanceRequest = { /** * Region to target. If none is passed will use default region from the diff --git a/packages/clients/src/api/mongodb/v1alpha1/validation-rules.gen.ts b/packages/clients/src/api/mongodb/v1alpha1/validation-rules.gen.ts index 9762ef08b..8330d0572 100644 --- a/packages/clients/src/api/mongodb/v1alpha1/validation-rules.gen.ts +++ b/packages/clients/src/api/mongodb/v1alpha1/validation-rules.gen.ts @@ -38,6 +38,18 @@ export const CreateSnapshotRequest = { }, } +export const CreateUserRequest = { + name: { + maxLength: 63, + minLength: 1, + pattern: /^[a-zA-Z0-9_\-]*$/, + }, + password: { + maxLength: 128, + minLength: 8, + }, +} + export const ListInstancesRequest = { name: { maxLength: 255,