diff --git a/packages/clients/src/api/iam/v1alpha1/api.gen.ts b/packages/clients/src/api/iam/v1alpha1/api.gen.ts index 8d044f608..6963a6e9d 100644 --- a/packages/clients/src/api/iam/v1alpha1/api.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/api.gen.ts @@ -28,6 +28,7 @@ import { marshalUpdateSSHKeyRequest, marshalUpdateUserPasswordRequest, marshalUpdateUserRequest, + marshalUpdateUserUsernameRequest, unmarshalAPIKey, unmarshalApplication, unmarshalEncodedJWT, @@ -129,6 +130,7 @@ import type { UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, + UpdateUserUsernameRequest, User, } from './types.gen' @@ -355,6 +357,26 @@ export class API extends ParentAPI { unmarshalUser, ) + /** + * Update an user's username. Private Beta feature.. Update an user's + * username. Private Beta feature. + * + * @param request - The request {@link UpdateUserUsernameRequest} + * @returns A Promise of User + */ + updateUserUsername = (request: Readonly) => + this.client.fetch( + { + body: JSON.stringify( + marshalUpdateUserUsernameRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/update-username`, + }, + unmarshalUser, + ) + /** * Update an user's password. Private Beta feature.. Update an user's * password. Private Beta feature. diff --git a/packages/clients/src/api/iam/v1alpha1/index.gen.ts b/packages/clients/src/api/iam/v1alpha1/index.gen.ts index 68b33821c..d25177e5d 100644 --- a/packages/clients/src/api/iam/v1alpha1/index.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/index.gen.ts @@ -97,6 +97,7 @@ export type { UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, + UpdateUserUsernameRequest, User, UserStatus, UserType, diff --git a/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts b/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts index a0d1539d8..1a1daba91 100644 --- a/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/marshalling.gen.ts @@ -57,6 +57,7 @@ import type { UpdateSSHKeyRequest, UpdateUserPasswordRequest, UpdateUserRequest, + UpdateUserUsernameRequest, User, } from './types.gen' @@ -761,3 +762,10 @@ export const marshalUpdateUserRequest = ( email: request.email, tags: request.tags, }) + +export const marshalUpdateUserUsernameRequest = ( + request: UpdateUserUsernameRequest, + defaults: DefaultValues, +): Record => ({ + username: request.username, +}) diff --git a/packages/clients/src/api/iam/v1alpha1/types.gen.ts b/packages/clients/src/api/iam/v1alpha1/types.gen.ts index 2cb4a8dc2..0aff51123 100644 --- a/packages/clients/src/api/iam/v1alpha1/types.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/types.gen.ts @@ -1156,3 +1156,10 @@ export type UpdateUserRequest = { /** IAM member email. */ email?: string } + +export type UpdateUserUsernameRequest = { + /** ID of the user to update. */ + userId: string + /** The new username. */ + username: string +} diff --git a/packages/clients/src/api/iam/v1alpha1/validation-rules.gen.ts b/packages/clients/src/api/iam/v1alpha1/validation-rules.gen.ts index faffb8884..057845334 100644 --- a/packages/clients/src/api/iam/v1alpha1/validation-rules.gen.ts +++ b/packages/clients/src/api/iam/v1alpha1/validation-rules.gen.ts @@ -261,3 +261,11 @@ export const UpdateUserPasswordRequest = { minLength: 1, }, } + +export const UpdateUserUsernameRequest = { + username: { + maxLength: 64, + minLength: 2, + pattern: /^[a-zA-Z0-9._-]+$/, + }, +}