diff --git a/packages_generated/iam/src/v1alpha1/api.gen.ts b/packages_generated/iam/src/v1alpha1/api.gen.ts index 350f44b04..dd3922cfc 100644 --- a/packages_generated/iam/src/v1alpha1/api.gen.ts +++ b/packages_generated/iam/src/v1alpha1/api.gen.ts @@ -17,7 +17,9 @@ import { marshalCreatePolicyRequest, marshalCreateSSHKeyRequest, marshalCreateUserRequest, + marshalJoinUserConnectionRequest, marshalRemoveGroupMemberRequest, + marshalRemoveUserConnectionRequest, marshalSetGroupMembersRequest, marshalSetRulesRequest, marshalUpdateAPIKeyRequest, @@ -35,6 +37,7 @@ import { unmarshalEncodedJWT, unmarshalGetUserConnectionsResponse, unmarshalGroup, + unmarshalInitiateUserConnectionResponse, unmarshalJWT, unmarshalListAPIKeysResponse, unmarshalListApplicationsResponse, @@ -94,7 +97,10 @@ import type { GetUserConnectionsResponse, GetUserRequest, Group, + InitiateUserConnectionRequest, + InitiateUserConnectionResponse, JWT, + JoinUserConnectionRequest, ListAPIKeysRequest, ListAPIKeysResponse, ListApplicationsRequest, @@ -127,6 +133,7 @@ import type { Policy, Quotum, RemoveGroupMemberRequest, + RemoveUserConnectionRequest, SSHKey, SetGroupMembersRequest, SetRulesRequest, @@ -495,6 +502,37 @@ export class API extends ParentAPI { unmarshalGetUserConnectionsResponse, ) + initiateUserConnection = (request: Readonly) => + this.client.fetch( + { + body: '{}', + headers: jsonContentHeaders, + method: 'POST', + path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/initiate-connection`, + }, + unmarshalInitiateUserConnectionResponse, + ) + + joinUserConnection = (request: Readonly) => + this.client.fetch({ + body: JSON.stringify( + marshalJoinUserConnectionRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/join-connection`, + }) + + removeUserConnection = (request: Readonly) => + this.client.fetch({ + body: JSON.stringify( + marshalRemoveUserConnectionRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'POST', + path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/remove-connection`, + }) + protected pageOfListApplications = ( request: Readonly = {}, ) => diff --git a/packages_generated/iam/src/v1alpha1/index.gen.ts b/packages_generated/iam/src/v1alpha1/index.gen.ts index 474bf7c21..3c2449056 100644 --- a/packages_generated/iam/src/v1alpha1/index.gen.ts +++ b/packages_generated/iam/src/v1alpha1/index.gen.ts @@ -45,7 +45,10 @@ export type { GracePeriod, GracePeriodType, Group, + InitiateUserConnectionRequest, + InitiateUserConnectionResponse, JWT, + JoinUserConnectionRequest, ListAPIKeysRequest, ListAPIKeysRequestOrderBy, ListAPIKeysResponse, @@ -94,6 +97,7 @@ export type { Quotum, QuotumLimit, RemoveGroupMemberRequest, + RemoveUserConnectionRequest, Rule, RuleSpecs, SSHKey, diff --git a/packages_generated/iam/src/v1alpha1/marshalling.gen.ts b/packages_generated/iam/src/v1alpha1/marshalling.gen.ts index db9f6457d..29c6b96c4 100644 --- a/packages_generated/iam/src/v1alpha1/marshalling.gen.ts +++ b/packages_generated/iam/src/v1alpha1/marshalling.gen.ts @@ -28,7 +28,9 @@ import type { GetUserConnectionsResponse, GracePeriod, Group, + InitiateUserConnectionResponse, JWT, + JoinUserConnectionRequest, ListAPIKeysResponse, ListApplicationsResponse, ListGracePeriodsResponse, @@ -49,6 +51,7 @@ import type { Quotum, QuotumLimit, RemoveGroupMemberRequest, + RemoveUserConnectionRequest, Rule, RuleSpecs, SSHKey, @@ -365,6 +368,20 @@ export const unmarshalGetUserConnectionsResponse = ( } as GetUserConnectionsResponse } +export const unmarshalInitiateUserConnectionResponse = ( + data: unknown, +): InitiateUserConnectionResponse => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'InitiateUserConnectionResponse' failed as data isn't a dictionary.`, + ) + } + + return { + token: data.token, + } as InitiateUserConnectionResponse +} + export const unmarshalListAPIKeysResponse = ( data: unknown, ): ListAPIKeysResponse => { @@ -784,6 +801,13 @@ export const marshalCreateUserRequest = ( ]), }) +export const marshalJoinUserConnectionRequest = ( + request: JoinUserConnectionRequest, + defaults: DefaultValues, +): Record => ({ + token: request.token, +}) + export const marshalRemoveGroupMemberRequest = ( request: RemoveGroupMemberRequest, defaults: DefaultValues, @@ -794,6 +818,13 @@ export const marshalRemoveGroupMemberRequest = ( ]), }) +export const marshalRemoveUserConnectionRequest = ( + request: RemoveUserConnectionRequest, + defaults: DefaultValues, +): Record => ({ + target_user_id: request.targetUserId, +}) + export const marshalSetGroupMembersRequest = ( request: SetGroupMembersRequest, defaults: DefaultValues, diff --git a/packages_generated/iam/src/v1alpha1/types.gen.ts b/packages_generated/iam/src/v1alpha1/types.gen.ts index 031adedc3..85575cc07 100644 --- a/packages_generated/iam/src/v1alpha1/types.gen.ts +++ b/packages_generated/iam/src/v1alpha1/types.gen.ts @@ -1121,6 +1121,31 @@ export type GetUserRequest = { userId: string } +export type InitiateUserConnectionRequest = { + /** + * ID of the user that will be added to your connection. + */ + userId: string +} + +export interface InitiateUserConnectionResponse { + /** + * Token to be used in JoinUserConnection. + */ + token: string +} + +export type JoinUserConnectionRequest = { + /** + * User ID. + */ + userId: string + /** + * A token returned by InitiateUserConnection. + */ + token: string +} + export type ListAPIKeysRequest = { /** * Criteria for sorting results. @@ -1671,6 +1696,17 @@ export type RemoveGroupMemberRequest = { applicationId?: string } +export type RemoveUserConnectionRequest = { + /** + * ID of the user you want to manage the connection for. + */ + userId: string + /** + * ID of the user you want to remove from your connection. + */ + targetUserId: string +} + export type SetGroupMembersRequest = { groupId: string userIds: string[] diff --git a/packages_generated/iam/src/v1alpha1/validation-rules.gen.ts b/packages_generated/iam/src/v1alpha1/validation-rules.gen.ts index 3a8cb8d4a..6b29c1a33 100644 --- a/packages_generated/iam/src/v1alpha1/validation-rules.gen.ts +++ b/packages_generated/iam/src/v1alpha1/validation-rules.gen.ts @@ -79,6 +79,12 @@ export const GetQuotumRequest = { }, } +export const JoinUserConnectionRequest = { + token: { + minLength: 1, + }, +} + export const ListAPIKeysRequest = { description: { maxLength: 200,