Skip to content

Commit b2c13c0

Browse files
authored
Merge branch 'main' into v1.6594.0
2 parents 80e3e18 + 83c5b67 commit b2c13c0

File tree

9 files changed

+2352
-5870
lines changed

9 files changed

+2352
-5870
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@
6060
"@commitlint/config-conventional": "19.8.1",
6161
"@manypkg/cli": "0.24.0",
6262
"@scaleway/eslint-config-react": "4.0.9",
63-
"@typescript-eslint/eslint-plugin": "8.32.0",
64-
"@typescript-eslint/parser": "8.32.0",
63+
"@typescript-eslint/eslint-plugin": "8.33.0",
64+
"@typescript-eslint/parser": "8.33.0",
6565
"@vitest/coverage-istanbul": "3.1.2",
6666
"@vitest/coverage-v8": "3.1.2",
6767
"@vitest/ui": "3.1.2",

packages_generated/iam/src/v1alpha1/api.gen.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ import {
1717
marshalCreatePolicyRequest,
1818
marshalCreateSSHKeyRequest,
1919
marshalCreateUserRequest,
20+
marshalJoinUserConnectionRequest,
2021
marshalRemoveGroupMemberRequest,
22+
marshalRemoveUserConnectionRequest,
2123
marshalSetGroupMembersRequest,
2224
marshalSetRulesRequest,
2325
marshalUpdateAPIKeyRequest,
@@ -35,6 +37,7 @@ import {
3537
unmarshalEncodedJWT,
3638
unmarshalGetUserConnectionsResponse,
3739
unmarshalGroup,
40+
unmarshalInitiateUserConnectionResponse,
3841
unmarshalJWT,
3942
unmarshalListAPIKeysResponse,
4043
unmarshalListApplicationsResponse,
@@ -94,7 +97,10 @@ import type {
9497
GetUserConnectionsResponse,
9598
GetUserRequest,
9699
Group,
100+
InitiateUserConnectionRequest,
101+
InitiateUserConnectionResponse,
97102
JWT,
103+
JoinUserConnectionRequest,
98104
ListAPIKeysRequest,
99105
ListAPIKeysResponse,
100106
ListApplicationsRequest,
@@ -127,6 +133,7 @@ import type {
127133
Policy,
128134
Quotum,
129135
RemoveGroupMemberRequest,
136+
RemoveUserConnectionRequest,
130137
SSHKey,
131138
SetGroupMembersRequest,
132139
SetRulesRequest,
@@ -495,6 +502,37 @@ export class API extends ParentAPI {
495502
unmarshalGetUserConnectionsResponse,
496503
)
497504

505+
initiateUserConnection = (request: Readonly<InitiateUserConnectionRequest>) =>
506+
this.client.fetch<InitiateUserConnectionResponse>(
507+
{
508+
body: '{}',
509+
headers: jsonContentHeaders,
510+
method: 'POST',
511+
path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/initiate-connection`,
512+
},
513+
unmarshalInitiateUserConnectionResponse,
514+
)
515+
516+
joinUserConnection = (request: Readonly<JoinUserConnectionRequest>) =>
517+
this.client.fetch<void>({
518+
body: JSON.stringify(
519+
marshalJoinUserConnectionRequest(request, this.client.settings),
520+
),
521+
headers: jsonContentHeaders,
522+
method: 'POST',
523+
path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/join-connection`,
524+
})
525+
526+
removeUserConnection = (request: Readonly<RemoveUserConnectionRequest>) =>
527+
this.client.fetch<void>({
528+
body: JSON.stringify(
529+
marshalRemoveUserConnectionRequest(request, this.client.settings),
530+
),
531+
headers: jsonContentHeaders,
532+
method: 'POST',
533+
path: `/iam/v1alpha1/users/${validatePathParam('userId', request.userId)}/remove-connection`,
534+
})
535+
498536
protected pageOfListApplications = (
499537
request: Readonly<ListApplicationsRequest> = {},
500538
) =>

packages_generated/iam/src/v1alpha1/marshalling.gen.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ import type {
2828
GetUserConnectionsResponse,
2929
GracePeriod,
3030
Group,
31+
InitiateUserConnectionResponse,
3132
JWT,
33+
JoinUserConnectionRequest,
3234
ListAPIKeysResponse,
3335
ListApplicationsResponse,
3436
ListGracePeriodsResponse,
@@ -49,6 +51,7 @@ import type {
4951
Quotum,
5052
QuotumLimit,
5153
RemoveGroupMemberRequest,
54+
RemoveUserConnectionRequest,
5255
Rule,
5356
RuleSpecs,
5457
SSHKey,
@@ -365,6 +368,20 @@ export const unmarshalGetUserConnectionsResponse = (
365368
} as GetUserConnectionsResponse
366369
}
367370

371+
export const unmarshalInitiateUserConnectionResponse = (
372+
data: unknown,
373+
): InitiateUserConnectionResponse => {
374+
if (!isJSONObject(data)) {
375+
throw new TypeError(
376+
`Unmarshalling the type 'InitiateUserConnectionResponse' failed as data isn't a dictionary.`,
377+
)
378+
}
379+
380+
return {
381+
token: data.token,
382+
} as InitiateUserConnectionResponse
383+
}
384+
368385
export const unmarshalListAPIKeysResponse = (
369386
data: unknown,
370387
): ListAPIKeysResponse => {
@@ -784,6 +801,13 @@ export const marshalCreateUserRequest = (
784801
]),
785802
})
786803

804+
export const marshalJoinUserConnectionRequest = (
805+
request: JoinUserConnectionRequest,
806+
defaults: DefaultValues,
807+
): Record<string, unknown> => ({
808+
token: request.token,
809+
})
810+
787811
export const marshalRemoveGroupMemberRequest = (
788812
request: RemoveGroupMemberRequest,
789813
defaults: DefaultValues,
@@ -794,6 +818,13 @@ export const marshalRemoveGroupMemberRequest = (
794818
]),
795819
})
796820

821+
export const marshalRemoveUserConnectionRequest = (
822+
request: RemoveUserConnectionRequest,
823+
defaults: DefaultValues,
824+
): Record<string, unknown> => ({
825+
target_user_id: request.targetUserId,
826+
})
827+
797828
export const marshalSetGroupMembersRequest = (
798829
request: SetGroupMembersRequest,
799830
defaults: DefaultValues,

packages_generated/iam/src/v1alpha1/types.gen.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,6 +1121,31 @@ export type GetUserRequest = {
11211121
userId: string
11221122
}
11231123

1124+
export type InitiateUserConnectionRequest = {
1125+
/**
1126+
* ID of the user that will be added to your connection.
1127+
*/
1128+
userId: string
1129+
}
1130+
1131+
export interface InitiateUserConnectionResponse {
1132+
/**
1133+
* Token to be used in JoinUserConnection.
1134+
*/
1135+
token: string
1136+
}
1137+
1138+
export type JoinUserConnectionRequest = {
1139+
/**
1140+
* User ID.
1141+
*/
1142+
userId: string
1143+
/**
1144+
* A token returned by InitiateUserConnection.
1145+
*/
1146+
token: string
1147+
}
1148+
11241149
export type ListAPIKeysRequest = {
11251150
/**
11261151
* Criteria for sorting results.
@@ -1671,6 +1696,17 @@ export type RemoveGroupMemberRequest = {
16711696
applicationId?: string
16721697
}
16731698

1699+
export type RemoveUserConnectionRequest = {
1700+
/**
1701+
* ID of the user you want to manage the connection for.
1702+
*/
1703+
userId: string
1704+
/**
1705+
* ID of the user you want to remove from your connection.
1706+
*/
1707+
targetUserId: string
1708+
}
1709+
16741710
export type SetGroupMembersRequest = {
16751711
groupId: string
16761712
userIds: string[]

packages_generated/iam/src/v1alpha1/validation-rules.gen.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ export const GetQuotumRequest = {
7979
},
8080
}
8181

82+
export const JoinUserConnectionRequest = {
83+
token: {
84+
minLength: 1,
85+
},
86+
}
87+
8288
export const ListAPIKeysRequest = {
8389
description: {
8490
maxLength: 200,

packages_generated/vpc/src/v2/api.gen.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import type {
3939
DeleteSubnetsRequest,
4040
DeleteSubnetsResponse,
4141
DeleteVPCRequest,
42+
EnableCustomRoutesPropagationRequest,
4243
EnableDHCPRequest,
4344
EnableRoutingRequest,
4445
GetAclRequest,
@@ -312,6 +313,25 @@ export class API extends ParentAPI {
312313
unmarshalVPC,
313314
)
314315

316+
/**
317+
* Enable custom routes propagation on a VPC. Enable custom routes propagation on an existing VPC. Note that you will not be able to deactivate it afterwards.
318+
*
319+
* @param request - The request {@link EnableCustomRoutesPropagationRequest}
320+
* @returns A Promise of VPC
321+
*/
322+
enableCustomRoutesPropagation = (
323+
request: Readonly<EnableCustomRoutesPropagationRequest>,
324+
) =>
325+
this.client.fetch<VPC>(
326+
{
327+
body: '{}',
328+
headers: jsonContentHeaders,
329+
method: 'POST',
330+
path: `/vpc/v2/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/vpcs/${validatePathParam('vpcId', request.vpcId)}/enable-custom-routes-propagation`,
331+
},
332+
unmarshalVPC,
333+
)
334+
315335
protected pageOfListSubnets = (request: Readonly<ListSubnetsRequest> = {}) =>
316336
this.client.fetch<ListSubnetsResponse>(
317337
{

packages_generated/vpc/src/v2/marshalling.gen.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ export const unmarshalVPC = (data: unknown): VPC => {
103103

104104
return {
105105
createdAt: unmarshalDate(data.created_at),
106+
customRoutesPropagationEnabled: data.custom_routes_propagation_enabled,
106107
id: data.id,
107108
isDefault: data.is_default,
108109
name: data.name,

packages_generated/vpc/src/v2/types.gen.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@ export interface VPC {
233233
* Defines whether the VPC routes traffic between its Private Networks.
234234
*/
235235
routingEnabled: boolean
236+
/**
237+
* Defines whether the VPC advertises custom routes between its Private Networks.
238+
*/
239+
customRoutesPropagationEnabled: boolean
236240
}
237241

238242
export type AddSubnetsRequest = {
@@ -391,6 +395,17 @@ export type DeleteVPCRequest = {
391395
vpcId: string
392396
}
393397

398+
export type EnableCustomRoutesPropagationRequest = {
399+
/**
400+
* Region to target. If none is passed will use default region from the config.
401+
*/
402+
region?: ScwRegion
403+
/**
404+
* VPC ID.
405+
*/
406+
vpcId: string
407+
}
408+
394409
export type EnableDHCPRequest = {
395410
/**
396411
* Region to target. If none is passed will use default region from the config.

0 commit comments

Comments
 (0)