@scaleway/sdk-vpc 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import type { ApiLocality } from '@scaleway/sdk-client';
2
2
  import { API as ParentAPI } from '@scaleway/sdk-client';
3
- import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableCustomRoutesPropagationRequest, EnableDHCPRequest, EnableRoutingRequest, GetAclRequest, GetAclResponse, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsResponse, ListVPCsRequest, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen.js';
3
+ import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCConnectorRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCConnectorRequest, DeleteVPCRequest, EnableCustomRoutesPropagationRequest, EnableDHCPRequest, EnableRoutingRequest, GetAclRequest, GetAclResponse, GetPrivateNetworkRequest, GetRouteRequest, GetVPCConnectorRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsResponse, ListVPCConnectorsRequest, ListVPCConnectorsResponse, ListVPCsRequest, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCConnectorRequest, UpdateVPCRequest, VPC, VPCConnector } from './types.gen.js';
4
4
  /**
5
5
  * VPC API.
6
6
 
@@ -175,4 +175,42 @@ export declare class API extends ParentAPI {
175
175
  * @returns A Promise of SetAclResponse
176
176
  */
177
177
  setAcl: (request: Readonly<SetAclRequest>) => Promise<SetAclResponse>;
178
+ protected pageOfListVPCConnectors: (request?: Readonly<ListVPCConnectorsRequest>) => Promise<ListVPCConnectorsResponse>;
179
+ /**
180
+ * List VPC connectors. List existing VPC connectors in the specified region.
181
+ *
182
+ * @param request - The request {@link ListVPCConnectorsRequest}
183
+ * @returns A Promise of ListVPCConnectorsResponse
184
+ */
185
+ listVPCConnectors: (request?: Readonly<ListVPCConnectorsRequest>) => Promise<ListVPCConnectorsResponse> & {
186
+ all: () => Promise<VPCConnector[]>;
187
+ [Symbol.asyncIterator]: () => AsyncGenerator<VPCConnector[], void, void>;
188
+ };
189
+ /**
190
+ * Create a VPC connector. Create a new VPC connector in the specified region.
191
+ *
192
+ * @param request - The request {@link CreateVPCConnectorRequest}
193
+ * @returns A Promise of VPCConnector
194
+ */
195
+ createVPCConnector: (request: Readonly<CreateVPCConnectorRequest>) => Promise<VPCConnector>;
196
+ /**
197
+ * Get a VPC connector. Retrieve details of an existing VPC connector, specified by its VPC connector ID.
198
+ *
199
+ * @param request - The request {@link GetVPCConnectorRequest}
200
+ * @returns A Promise of VPCConnector
201
+ */
202
+ getVPCConnector: (request: Readonly<GetVPCConnectorRequest>) => Promise<VPCConnector>;
203
+ /**
204
+ * Update VPC connector. Update parameters including name and tags of the specified VPC connector.
205
+ *
206
+ * @param request - The request {@link UpdateVPCConnectorRequest}
207
+ * @returns A Promise of VPCConnector
208
+ */
209
+ updateVPCConnector: (request: Readonly<UpdateVPCConnectorRequest>) => Promise<VPCConnector>;
210
+ /**
211
+ * Delete a VPC connector. Delete a VPC connector specified by its VPC connector ID.
212
+ *
213
+ * @param request - The request {@link DeleteVPCConnectorRequest}
214
+ */
215
+ deleteVPCConnector: (request: Readonly<DeleteVPCConnectorRequest>) => Promise<void>;
178
216
  }
@@ -1,5 +1,5 @@
1
1
  import { API as API$1, toApiLocality, urlParams, validatePathParam, enrichForPagination } from "@scaleway/sdk-client";
2
- import { unmarshalListVPCsResponse, marshalCreateVPCRequest, unmarshalVPC, marshalUpdateVPCRequest, unmarshalListPrivateNetworksResponse, marshalCreatePrivateNetworkRequest, unmarshalPrivateNetwork, marshalUpdatePrivateNetworkRequest, unmarshalListSubnetsResponse, marshalAddSubnetsRequest, unmarshalAddSubnetsResponse, marshalDeleteSubnetsRequest, unmarshalDeleteSubnetsResponse, marshalCreateRouteRequest, unmarshalRoute, marshalUpdateRouteRequest, unmarshalGetAclResponse, marshalSetAclRequest, unmarshalSetAclResponse } from "./marshalling.gen.js";
2
+ import { unmarshalListVPCsResponse, marshalCreateVPCRequest, unmarshalVPC, marshalUpdateVPCRequest, unmarshalListPrivateNetworksResponse, marshalCreatePrivateNetworkRequest, unmarshalPrivateNetwork, marshalUpdatePrivateNetworkRequest, unmarshalListSubnetsResponse, marshalAddSubnetsRequest, unmarshalAddSubnetsResponse, marshalDeleteSubnetsRequest, unmarshalDeleteSubnetsResponse, marshalCreateRouteRequest, unmarshalRoute, marshalUpdateRouteRequest, unmarshalGetAclResponse, marshalSetAclRequest, unmarshalSetAclResponse, unmarshalListVPCConnectorsResponse, marshalCreateVPCConnectorRequest, unmarshalVPCConnector, marshalUpdateVPCConnectorRequest } from "./marshalling.gen.js";
3
3
  const jsonContentHeaders = {
4
4
  "Content-Type": "application/json; charset=utf-8"
5
5
  };
@@ -9,7 +9,11 @@ class API extends API$1 {
9
9
  * type ∈ {'zone','region','global','unspecified'}
10
10
  */
11
11
  static LOCALITY = toApiLocality({
12
- regions: ["fr-par", "nl-ams", "pl-waw"]
12
+ regions: [
13
+ "fr-par",
14
+ "nl-ams",
15
+ "pl-waw"
16
+ ]
13
17
  });
14
18
  pageOfListVPCs = (request = {}) => this.client.fetch(
15
19
  {
@@ -21,10 +25,7 @@ class API extends API$1 {
21
25
  ["order_by", request.orderBy],
22
26
  ["organization_id", request.organizationId],
23
27
  ["page", request.page],
24
- [
25
- "page_size",
26
- request.pageSize ?? this.client.settings.defaultPageSize
27
- ],
28
+ ["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
28
29
  ["project_id", request.projectId],
29
30
  ["routing_enabled", request.routingEnabled],
30
31
  ["tags", request.tags]
@@ -91,10 +92,12 @@ class API extends API$1 {
91
92
  *
92
93
  * @param request - The request {@link DeleteVPCRequest}
93
94
  */
94
- deleteVPC = (request) => this.client.fetch({
95
- method: "DELETE",
96
- path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${validatePathParam("vpcId", request.vpcId)}`
97
- });
95
+ deleteVPC = (request) => this.client.fetch(
96
+ {
97
+ method: "DELETE",
98
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${validatePathParam("vpcId", request.vpcId)}`
99
+ }
100
+ );
98
101
  pageOfListPrivateNetworks = (request = {}) => this.client.fetch(
99
102
  {
100
103
  method: "GET",
@@ -105,10 +108,7 @@ class API extends API$1 {
105
108
  ["order_by", request.orderBy],
106
109
  ["organization_id", request.organizationId],
107
110
  ["page", request.page],
108
- [
109
- "page_size",
110
- request.pageSize ?? this.client.settings.defaultPageSize
111
- ],
111
+ ["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
112
112
  ["private_network_ids", request.privateNetworkIds],
113
113
  ["project_id", request.projectId],
114
114
  ["tags", request.tags],
@@ -123,11 +123,7 @@ class API extends API$1 {
123
123
  * @param request - The request {@link ListPrivateNetworksRequest}
124
124
  * @returns A Promise of ListPrivateNetworksResponse
125
125
  */
126
- listPrivateNetworks = (request = {}) => enrichForPagination(
127
- "privateNetworks",
128
- this.pageOfListPrivateNetworks,
129
- request
130
- );
126
+ listPrivateNetworks = (request = {}) => enrichForPagination("privateNetworks", this.pageOfListPrivateNetworks, request);
131
127
  /**
132
128
  * Create a Private Network. Create a new Private Network. Once created, you can attach Scaleway resources which are in the same region.
133
129
  *
@@ -180,10 +176,12 @@ class API extends API$1 {
180
176
  *
181
177
  * @param request - The request {@link DeletePrivateNetworkRequest}
182
178
  */
183
- deletePrivateNetwork = (request) => this.client.fetch({
184
- method: "DELETE",
185
- path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/private-networks/${validatePathParam("privateNetworkId", request.privateNetworkId)}`
186
- });
179
+ deletePrivateNetwork = (request) => this.client.fetch(
180
+ {
181
+ method: "DELETE",
182
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/private-networks/${validatePathParam("privateNetworkId", request.privateNetworkId)}`
183
+ }
184
+ );
187
185
  /**
188
186
  * Enable DHCP on a Private Network. Enable DHCP managed on an existing Private Network. Note that you will not be able to deactivate it afterwards.
189
187
  *
@@ -237,10 +235,7 @@ class API extends API$1 {
237
235
  ["order_by", request.orderBy],
238
236
  ["organization_id", request.organizationId],
239
237
  ["page", request.page],
240
- [
241
- "page_size",
242
- request.pageSize ?? this.client.settings.defaultPageSize
243
- ],
238
+ ["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
244
239
  ["project_id", request.projectId],
245
240
  ["subnet_ids", request.subnetIds],
246
241
  ["vpc_id", request.vpcId]
@@ -341,10 +336,12 @@ class API extends API$1 {
341
336
  *
342
337
  * @param request - The request {@link DeleteRouteRequest}
343
338
  */
344
- deleteRoute = (request) => this.client.fetch({
345
- method: "DELETE",
346
- path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${validatePathParam("routeId", request.routeId)}`
347
- });
339
+ deleteRoute = (request) => this.client.fetch(
340
+ {
341
+ method: "DELETE",
342
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${validatePathParam("routeId", request.routeId)}`
343
+ }
344
+ );
348
345
  /**
349
346
  * Get ACL Rules for VPC. Retrieve a list of ACL rules for a VPC, specified by its VPC ID.
350
347
  *
@@ -355,7 +352,9 @@ class API extends API$1 {
355
352
  {
356
353
  method: "GET",
357
354
  path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpcs/${validatePathParam("vpcId", request.vpcId)}/acl-rules`,
358
- urlParams: urlParams(["is_ipv6", request.isIpv6])
355
+ urlParams: urlParams(
356
+ ["is_ipv6", request.isIpv6]
357
+ )
359
358
  },
360
359
  unmarshalGetAclResponse
361
360
  );
@@ -376,6 +375,90 @@ class API extends API$1 {
376
375
  },
377
376
  unmarshalSetAclResponse
378
377
  );
378
+ pageOfListVPCConnectors = (request = {}) => this.client.fetch(
379
+ {
380
+ method: "GET",
381
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpc-connectors`,
382
+ urlParams: urlParams(
383
+ ["name", request.name],
384
+ ["order_by", request.orderBy],
385
+ ["organization_id", request.organizationId],
386
+ ["page", request.page],
387
+ ["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
388
+ ["project_id", request.projectId],
389
+ ["status", request.status],
390
+ ["tags", request.tags],
391
+ ["target_vpc_id", request.targetVpcId],
392
+ ["vpc_id", request.vpcId]
393
+ )
394
+ },
395
+ unmarshalListVPCConnectorsResponse
396
+ );
397
+ /**
398
+ * List VPC connectors. List existing VPC connectors in the specified region.
399
+ *
400
+ * @param request - The request {@link ListVPCConnectorsRequest}
401
+ * @returns A Promise of ListVPCConnectorsResponse
402
+ */
403
+ listVPCConnectors = (request = {}) => enrichForPagination("vpcConnectors", this.pageOfListVPCConnectors, request);
404
+ /**
405
+ * Create a VPC connector. Create a new VPC connector in the specified region.
406
+ *
407
+ * @param request - The request {@link CreateVPCConnectorRequest}
408
+ * @returns A Promise of VPCConnector
409
+ */
410
+ createVPCConnector = (request) => this.client.fetch(
411
+ {
412
+ body: JSON.stringify(
413
+ marshalCreateVPCConnectorRequest(request, this.client.settings)
414
+ ),
415
+ headers: jsonContentHeaders,
416
+ method: "POST",
417
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpc-connectors`
418
+ },
419
+ unmarshalVPCConnector
420
+ );
421
+ /**
422
+ * Get a VPC connector. Retrieve details of an existing VPC connector, specified by its VPC connector ID.
423
+ *
424
+ * @param request - The request {@link GetVPCConnectorRequest}
425
+ * @returns A Promise of VPCConnector
426
+ */
427
+ getVPCConnector = (request) => this.client.fetch(
428
+ {
429
+ method: "GET",
430
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpc-connectors/${validatePathParam("vpcConnectorId", request.vpcConnectorId)}`
431
+ },
432
+ unmarshalVPCConnector
433
+ );
434
+ /**
435
+ * Update VPC connector. Update parameters including name and tags of the specified VPC connector.
436
+ *
437
+ * @param request - The request {@link UpdateVPCConnectorRequest}
438
+ * @returns A Promise of VPCConnector
439
+ */
440
+ updateVPCConnector = (request) => this.client.fetch(
441
+ {
442
+ body: JSON.stringify(
443
+ marshalUpdateVPCConnectorRequest(request, this.client.settings)
444
+ ),
445
+ headers: jsonContentHeaders,
446
+ method: "PATCH",
447
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpc-connectors/${validatePathParam("vpcConnectorId", request.vpcConnectorId)}`
448
+ },
449
+ unmarshalVPCConnector
450
+ );
451
+ /**
452
+ * Delete a VPC connector. Delete a VPC connector specified by its VPC connector ID.
453
+ *
454
+ * @param request - The request {@link DeleteVPCConnectorRequest}
455
+ */
456
+ deleteVPCConnector = (request) => this.client.fetch(
457
+ {
458
+ method: "DELETE",
459
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/vpc-connectors/${validatePathParam("vpcConnectorId", request.vpcConnectorId)}`
460
+ }
461
+ );
379
462
  }
380
463
  export {
381
464
  API
@@ -1,4 +1,4 @@
1
- export { API } from './api.gen.js';
1
+ export { API, } from './api.gen.js';
2
2
  export * from './marshalling.gen.js';
3
- export type { AclRule, AclRuleProtocol, Action, AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableCustomRoutesPropagationRequest, EnableDHCPRequest, EnableRoutingRequest, GetAclRequest, GetAclResponse, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksRequestOrderBy, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsRequestOrderBy, ListSubnetsResponse, ListVPCsRequest, ListVPCsRequestOrderBy, ListVPCsResponse, PrivateNetwork, Route, RouteType, SetAclRequest, SetAclResponse, Subnet, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC, } from './types.gen.js';
3
+ export type { AclRule, AclRuleProtocol, Action, AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCConnectorRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCConnectorRequest, DeleteVPCRequest, EnableCustomRoutesPropagationRequest, EnableDHCPRequest, EnableRoutingRequest, GetAclRequest, GetAclResponse, GetPrivateNetworkRequest, GetRouteRequest, GetVPCConnectorRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksRequestOrderBy, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsRequestOrderBy, ListSubnetsResponse, ListVPCConnectorsRequest, ListVPCConnectorsRequestOrderBy, ListVPCConnectorsResponse, ListVPCsRequest, ListVPCsRequestOrderBy, ListVPCsResponse, PrivateNetwork, Route, RouteType, SetAclRequest, SetAclResponse, Subnet, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCConnectorRequest, UpdateVPCRequest, VPC, VPCConnector, VPCConnectorPeerInfo, VPCConnectorStatus, } from './types.gen.js';
4
4
  export * as ValidationRules from './validation-rules.gen.js';
@@ -1,5 +1,5 @@
1
1
  import { API } from "./api.gen.js";
2
- import { marshalAclRule, marshalAddSubnetsRequest, marshalCreatePrivateNetworkRequest, marshalCreateRouteRequest, marshalCreateVPCRequest, marshalDeleteSubnetsRequest, marshalSetAclRequest, marshalUpdatePrivateNetworkRequest, marshalUpdateRouteRequest, marshalUpdateVPCRequest, unmarshalAclRule, unmarshalAddSubnetsResponse, unmarshalDeleteSubnetsResponse, unmarshalGetAclResponse, unmarshalListPrivateNetworksResponse, unmarshalListSubnetsResponse, unmarshalListVPCsResponse, unmarshalPrivateNetwork, unmarshalRoute, unmarshalSetAclResponse, unmarshalVPC } from "./marshalling.gen.js";
2
+ import { marshalAclRule, marshalAddSubnetsRequest, marshalCreatePrivateNetworkRequest, marshalCreateRouteRequest, marshalCreateVPCConnectorRequest, marshalCreateVPCRequest, marshalDeleteSubnetsRequest, marshalSetAclRequest, marshalUpdatePrivateNetworkRequest, marshalUpdateRouteRequest, marshalUpdateVPCConnectorRequest, marshalUpdateVPCRequest, unmarshalAclRule, unmarshalAddSubnetsResponse, unmarshalDeleteSubnetsResponse, unmarshalGetAclResponse, unmarshalListPrivateNetworksResponse, unmarshalListSubnetsResponse, unmarshalListVPCConnectorsResponse, unmarshalListVPCsResponse, unmarshalPrivateNetwork, unmarshalRoute, unmarshalSetAclResponse, unmarshalVPC, unmarshalVPCConnector } from "./marshalling.gen.js";
3
3
  import * as validationRules_gen from "./validation-rules.gen.js";
4
4
  export {
5
5
  API,
@@ -8,11 +8,13 @@ export {
8
8
  marshalAddSubnetsRequest,
9
9
  marshalCreatePrivateNetworkRequest,
10
10
  marshalCreateRouteRequest,
11
+ marshalCreateVPCConnectorRequest,
11
12
  marshalCreateVPCRequest,
12
13
  marshalDeleteSubnetsRequest,
13
14
  marshalSetAclRequest,
14
15
  marshalUpdatePrivateNetworkRequest,
15
16
  marshalUpdateRouteRequest,
17
+ marshalUpdateVPCConnectorRequest,
16
18
  marshalUpdateVPCRequest,
17
19
  unmarshalAclRule,
18
20
  unmarshalAddSubnetsResponse,
@@ -20,9 +22,11 @@ export {
20
22
  unmarshalGetAclResponse,
21
23
  unmarshalListPrivateNetworksResponse,
22
24
  unmarshalListSubnetsResponse,
25
+ unmarshalListVPCConnectorsResponse,
23
26
  unmarshalListVPCsResponse,
24
27
  unmarshalPrivateNetwork,
25
28
  unmarshalRoute,
26
29
  unmarshalSetAclResponse,
27
- unmarshalVPC
30
+ unmarshalVPC,
31
+ unmarshalVPCConnector
28
32
  };
@@ -1,7 +1,8 @@
1
1
  import type { DefaultValues } from '@scaleway/sdk-client';
2
- import type { AclRule, AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, GetAclResponse, ListPrivateNetworksResponse, ListSubnetsResponse, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen.js';
2
+ import type { AclRule, AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCConnectorRequest, CreateVPCRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, GetAclResponse, ListPrivateNetworksResponse, ListSubnetsResponse, ListVPCConnectorsResponse, ListVPCsResponse, PrivateNetwork, Route, SetAclRequest, SetAclResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCConnectorRequest, UpdateVPCRequest, VPC, VPCConnector } from './types.gen.js';
3
3
  export declare const unmarshalPrivateNetwork: (data: unknown) => PrivateNetwork;
4
4
  export declare const unmarshalRoute: (data: unknown) => Route;
5
+ export declare const unmarshalVPCConnector: (data: unknown) => VPCConnector;
5
6
  export declare const unmarshalVPC: (data: unknown) => VPC;
6
7
  export declare const unmarshalAddSubnetsResponse: (data: unknown) => AddSubnetsResponse;
7
8
  export declare const unmarshalDeleteSubnetsResponse: (data: unknown) => DeleteSubnetsResponse;
@@ -9,15 +10,18 @@ export declare const unmarshalAclRule: (data: unknown) => AclRule;
9
10
  export declare const unmarshalGetAclResponse: (data: unknown) => GetAclResponse;
10
11
  export declare const unmarshalListPrivateNetworksResponse: (data: unknown) => ListPrivateNetworksResponse;
11
12
  export declare const unmarshalListSubnetsResponse: (data: unknown) => ListSubnetsResponse;
13
+ export declare const unmarshalListVPCConnectorsResponse: (data: unknown) => ListVPCConnectorsResponse;
12
14
  export declare const unmarshalListVPCsResponse: (data: unknown) => ListVPCsResponse;
13
15
  export declare const unmarshalSetAclResponse: (data: unknown) => SetAclResponse;
14
16
  export declare const marshalAddSubnetsRequest: (request: AddSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
15
17
  export declare const marshalCreatePrivateNetworkRequest: (request: CreatePrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
16
18
  export declare const marshalCreateRouteRequest: (request: CreateRouteRequest, defaults: DefaultValues) => Record<string, unknown>;
19
+ export declare const marshalCreateVPCConnectorRequest: (request: CreateVPCConnectorRequest, defaults: DefaultValues) => Record<string, unknown>;
17
20
  export declare const marshalCreateVPCRequest: (request: CreateVPCRequest, defaults: DefaultValues) => Record<string, unknown>;
18
21
  export declare const marshalDeleteSubnetsRequest: (request: DeleteSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
19
22
  export declare const marshalAclRule: (request: AclRule, defaults: DefaultValues) => Record<string, unknown>;
20
23
  export declare const marshalSetAclRequest: (request: SetAclRequest, defaults: DefaultValues) => Record<string, unknown>;
21
24
  export declare const marshalUpdatePrivateNetworkRequest: (request: UpdatePrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
22
25
  export declare const marshalUpdateRouteRequest: (request: UpdateRouteRequest, defaults: DefaultValues) => Record<string, unknown>;
26
+ export declare const marshalUpdateVPCConnectorRequest: (request: UpdateVPCConnectorRequest, defaults: DefaultValues) => Record<string, unknown>;
23
27
  export declare const marshalUpdateVPCRequest: (request: UpdateVPCRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -51,6 +51,7 @@ const unmarshalRoute = (data) => {
51
51
  isReadOnly: data.is_read_only,
52
52
  nexthopPrivateNetworkId: data.nexthop_private_network_id,
53
53
  nexthopResourceId: data.nexthop_resource_id,
54
+ nexthopVpcConnectorId: data.nexthop_vpc_connector_id,
54
55
  region: data.region,
55
56
  tags: data.tags,
56
57
  type: data.type ? data.type : void 0,
@@ -58,6 +59,39 @@ const unmarshalRoute = (data) => {
58
59
  vpcId: data.vpc_id
59
60
  };
60
61
  };
62
+ const unmarshalVPCConnectorPeerInfo = (data) => {
63
+ if (!isJSONObject(data)) {
64
+ throw new TypeError(
65
+ `Unmarshalling the type 'VPCConnectorPeerInfo' failed as data isn't a dictionary.`
66
+ );
67
+ }
68
+ return {
69
+ organizationId: data.organization_id,
70
+ projectId: data.project_id,
71
+ vpcName: data.vpc_name
72
+ };
73
+ };
74
+ const unmarshalVPCConnector = (data) => {
75
+ if (!isJSONObject(data)) {
76
+ throw new TypeError(
77
+ `Unmarshalling the type 'VPCConnector' failed as data isn't a dictionary.`
78
+ );
79
+ }
80
+ return {
81
+ createdAt: unmarshalDate(data.created_at),
82
+ id: data.id,
83
+ name: data.name,
84
+ organizationId: data.organization_id,
85
+ peerInfo: data.peer_info ? unmarshalVPCConnectorPeerInfo(data.peer_info) : void 0,
86
+ projectId: data.project_id,
87
+ region: data.region,
88
+ status: data.status,
89
+ tags: data.tags,
90
+ targetVpcId: data.target_vpc_id,
91
+ updatedAt: unmarshalDate(data.updated_at),
92
+ vpcId: data.vpc_id
93
+ };
94
+ };
61
95
  const unmarshalVPC = (data) => {
62
96
  if (!isJSONObject(data)) {
63
97
  throw new TypeError(
@@ -135,10 +169,7 @@ const unmarshalListPrivateNetworksResponse = (data) => {
135
169
  );
136
170
  }
137
171
  return {
138
- privateNetworks: unmarshalArrayOfObject(
139
- data.private_networks,
140
- unmarshalPrivateNetwork
141
- ),
172
+ privateNetworks: unmarshalArrayOfObject(data.private_networks, unmarshalPrivateNetwork),
142
173
  totalCount: data.total_count
143
174
  };
144
175
  };
@@ -153,6 +184,17 @@ const unmarshalListSubnetsResponse = (data) => {
153
184
  totalCount: data.total_count
154
185
  };
155
186
  };
187
+ const unmarshalListVPCConnectorsResponse = (data) => {
188
+ if (!isJSONObject(data)) {
189
+ throw new TypeError(
190
+ `Unmarshalling the type 'ListVPCConnectorsResponse' failed as data isn't a dictionary.`
191
+ );
192
+ }
193
+ return {
194
+ totalCount: data.total_count,
195
+ vpcConnectors: unmarshalArrayOfObject(data.vpc_connectors, unmarshalVPCConnector)
196
+ };
197
+ };
156
198
  const unmarshalListVPCsResponse = (data) => {
157
199
  if (!isJSONObject(data)) {
158
200
  throw new TypeError(
@@ -191,9 +233,16 @@ const marshalCreateRouteRequest = (request, defaults) => ({
191
233
  destination: request.destination,
192
234
  nexthop_private_network_id: request.nexthopPrivateNetworkId,
193
235
  nexthop_resource_id: request.nexthopResourceId,
236
+ nexthop_vpc_connector_id: request.nexthopVpcConnectorId,
194
237
  tags: request.tags,
195
238
  vpc_id: request.vpcId
196
239
  });
240
+ const marshalCreateVPCConnectorRequest = (request, defaults) => ({
241
+ name: request.name || randomName("VPCConnector"),
242
+ tags: request.tags,
243
+ target_vpc_id: request.targetVpcId,
244
+ vpc_id: request.vpcId
245
+ });
197
246
  const marshalCreateVPCRequest = (request, defaults) => ({
198
247
  enable_routing: request.enableRouting,
199
248
  name: request.name || randomName("vpc"),
@@ -229,6 +278,11 @@ const marshalUpdateRouteRequest = (request, defaults) => ({
229
278
  destination: request.destination,
230
279
  nexthop_private_network_id: request.nexthopPrivateNetworkId,
231
280
  nexthop_resource_id: request.nexthopResourceId,
281
+ nexthop_vpc_connector_id: request.nexthopVpcConnectorId,
282
+ tags: request.tags
283
+ });
284
+ const marshalUpdateVPCConnectorRequest = (request, defaults) => ({
285
+ name: request.name,
232
286
  tags: request.tags
233
287
  });
234
288
  const marshalUpdateVPCRequest = (request, defaults) => ({
@@ -240,11 +294,13 @@ export {
240
294
  marshalAddSubnetsRequest,
241
295
  marshalCreatePrivateNetworkRequest,
242
296
  marshalCreateRouteRequest,
297
+ marshalCreateVPCConnectorRequest,
243
298
  marshalCreateVPCRequest,
244
299
  marshalDeleteSubnetsRequest,
245
300
  marshalSetAclRequest,
246
301
  marshalUpdatePrivateNetworkRequest,
247
302
  marshalUpdateRouteRequest,
303
+ marshalUpdateVPCConnectorRequest,
248
304
  marshalUpdateVPCRequest,
249
305
  unmarshalAclRule,
250
306
  unmarshalAddSubnetsResponse,
@@ -252,9 +308,11 @@ export {
252
308
  unmarshalGetAclResponse,
253
309
  unmarshalListPrivateNetworksResponse,
254
310
  unmarshalListSubnetsResponse,
311
+ unmarshalListVPCConnectorsResponse,
255
312
  unmarshalListVPCsResponse,
256
313
  unmarshalPrivateNetwork,
257
314
  unmarshalRoute,
258
315
  unmarshalSetAclResponse,
259
- unmarshalVPC
316
+ unmarshalVPC,
317
+ unmarshalVPCConnector
260
318
  };
@@ -3,8 +3,10 @@ export type AclRuleProtocol = 'ANY' | 'TCP' | 'UDP' | 'ICMP';
3
3
  export type Action = 'unknown_action' | 'accept' | 'drop';
4
4
  export type ListPrivateNetworksRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
5
5
  export type ListSubnetsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
6
+ export type ListVPCConnectorsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
6
7
  export type ListVPCsRequestOrderBy = 'created_at_asc' | 'created_at_desc' | 'name_asc' | 'name_desc';
7
8
  export type RouteType = 'unknown_route_type' | 'subnet' | 'default' | 'custom' | 'interlink' | 's2s_vpn';
9
+ export type VPCConnectorStatus = 'unknown_vpc_connector_status' | 'orphan' | 'peered';
8
10
  export interface Subnet {
9
11
  /**
10
12
  * ID of the subnet.
@@ -114,6 +116,10 @@ export interface Route {
114
116
  * ID of the nexthop private network.
115
117
  */
116
118
  nexthopPrivateNetworkId?: string;
119
+ /**
120
+ * ID of the nexthop VPC connector.
121
+ */
122
+ nexthopVpcConnectorId?: string;
117
123
  /**
118
124
  * Date the Route was created.
119
125
  */
@@ -135,6 +141,11 @@ export interface Route {
135
141
  */
136
142
  region: ScwRegion;
137
143
  }
144
+ export interface VPCConnectorPeerInfo {
145
+ organizationId: string;
146
+ projectId: string;
147
+ vpcName: string;
148
+ }
138
149
  export interface AclRule {
139
150
  /**
140
151
  * Protocol to which this rule applies.
@@ -173,6 +184,56 @@ export interface AclRule {
173
184
  */
174
185
  description?: string;
175
186
  }
187
+ export interface VPCConnector {
188
+ /**
189
+ * VPC connector ID.
190
+ */
191
+ id: string;
192
+ /**
193
+ * VPC connector name.
194
+ */
195
+ name: string;
196
+ /**
197
+ * Scaleway Organization the VPC connector belongs to.
198
+ */
199
+ organizationId: string;
200
+ /**
201
+ * Scaleway Project the VPC connector belongs to.
202
+ */
203
+ projectId: string;
204
+ /**
205
+ * VPC the VPC connector belongs to (origin VPC).
206
+ */
207
+ vpcId: string;
208
+ /**
209
+ * VPC with which the VPC connector is peered (target VPC).
210
+ */
211
+ targetVpcId: string;
212
+ /**
213
+ * Status of the VPC connector.
214
+ */
215
+ status: VPCConnectorStatus;
216
+ /**
217
+ * Peer info of target VPC. Available when status is Peered.
218
+ */
219
+ peerInfo?: VPCConnectorPeerInfo;
220
+ /**
221
+ * Region of the VPC connector.
222
+ */
223
+ region: ScwRegion;
224
+ /**
225
+ * Tags for the VPC connector.
226
+ */
227
+ tags: string[];
228
+ /**
229
+ * Date the VPC connector was created.
230
+ */
231
+ createdAt?: Date;
232
+ /**
233
+ * Date the VPC connector was last modified.
234
+ */
235
+ updatedAt?: Date;
236
+ }
176
237
  export interface VPC {
177
238
  /**
178
239
  * VPC ID.
@@ -299,6 +360,32 @@ export type CreateRouteRequest = {
299
360
  * ID of the nexthop private network.
300
361
  */
301
362
  nexthopPrivateNetworkId?: string;
363
+ /**
364
+ * ID of the nexthop VPC Connector.
365
+ */
366
+ nexthopVpcConnectorId?: string;
367
+ };
368
+ export type CreateVPCConnectorRequest = {
369
+ /**
370
+ * Region to target. If none is passed will use default region from the config.
371
+ */
372
+ region?: ScwRegion;
373
+ /**
374
+ * Name for the VPC connector.
375
+ */
376
+ name?: string;
377
+ /**
378
+ * Tags for the VPC connector.
379
+ */
380
+ tags?: string[];
381
+ /**
382
+ * VPC ID to filter for. Only connectors belonging to this VPC will be returned.
383
+ */
384
+ vpcId: string;
385
+ /**
386
+ * Target VPC ID to filter for. Only connectors belonging to this target VPC will be returned.
387
+ */
388
+ targetVpcId: string;
302
389
  };
303
390
  export type CreateVPCRequest = {
304
391
  /**
@@ -359,6 +446,16 @@ export type DeleteSubnetsRequest = {
359
446
  export interface DeleteSubnetsResponse {
360
447
  subnets: string[];
361
448
  }
449
+ export type DeleteVPCConnectorRequest = {
450
+ /**
451
+ * Region to target. If none is passed will use default region from the config.
452
+ */
453
+ region?: ScwRegion;
454
+ /**
455
+ * VPC connector ID.
456
+ */
457
+ vpcConnectorId: string;
458
+ };
362
459
  export type DeleteVPCRequest = {
363
460
  /**
364
461
  * Region to target. If none is passed will use default region from the config.
@@ -437,6 +534,16 @@ export type GetRouteRequest = {
437
534
  */
438
535
  routeId: string;
439
536
  };
537
+ export type GetVPCConnectorRequest = {
538
+ /**
539
+ * Region to target. If none is passed will use default region from the config.
540
+ */
541
+ region?: ScwRegion;
542
+ /**
543
+ * VPC connector ID.
544
+ */
545
+ vpcConnectorId: string;
546
+ };
440
547
  export type GetVPCRequest = {
441
548
  /**
442
549
  * Region to target. If none is passed will use default region from the config.
@@ -535,6 +642,56 @@ export interface ListSubnetsResponse {
535
642
  subnets: Subnet[];
536
643
  totalCount: number;
537
644
  }
645
+ export type ListVPCConnectorsRequest = {
646
+ /**
647
+ * Region to target. If none is passed will use default region from the config.
648
+ */
649
+ region?: ScwRegion;
650
+ /**
651
+ * Sort order of the returned VPC connectors.
652
+ */
653
+ orderBy?: ListVPCConnectorsRequestOrderBy;
654
+ /**
655
+ * Page number to return, from the paginated results.
656
+ */
657
+ page?: number;
658
+ /**
659
+ * Maximum number of VPC connectors to return per page.
660
+ */
661
+ pageSize?: number;
662
+ /**
663
+ * Name to filter for. Only connectors with names containing this string will be returned.
664
+ */
665
+ name?: string;
666
+ /**
667
+ * Tags to filter for. Only connectors with one or more matching tags will be returned.
668
+ */
669
+ tags?: string[];
670
+ /**
671
+ * Organization ID to filter for. Only connectors belonging to this Organization will be returned.
672
+ */
673
+ organizationId?: string;
674
+ /**
675
+ * Project ID to filter for. Only connectors belonging to this Project will be returned.
676
+ */
677
+ projectId?: string;
678
+ /**
679
+ * VPC ID to filter for. Only connectors belonging to this VPC will be returned.
680
+ */
681
+ vpcId?: string;
682
+ /**
683
+ * Target VPC ID to filter for. Only connectors belonging to this target VPC will be returned.
684
+ */
685
+ targetVpcId?: string;
686
+ /**
687
+ * Status of the VPC connector.
688
+ */
689
+ status?: VPCConnectorStatus;
690
+ };
691
+ export interface ListVPCConnectorsResponse {
692
+ vpcConnectors: VPCConnector[];
693
+ totalCount: number;
694
+ }
538
695
  export type ListVPCsRequest = {
539
696
  /**
540
697
  * Region to target. If none is passed will use default region from the config.
@@ -658,6 +815,28 @@ export type UpdateRouteRequest = {
658
815
  * ID of the nexthop private network.
659
816
  */
660
817
  nexthopPrivateNetworkId?: string;
818
+ /**
819
+ * ID of the nexthop VPC connector.
820
+ */
821
+ nexthopVpcConnectorId?: string;
822
+ };
823
+ export type UpdateVPCConnectorRequest = {
824
+ /**
825
+ * Region to target. If none is passed will use default region from the config.
826
+ */
827
+ region?: ScwRegion;
828
+ /**
829
+ * VPC connector ID.
830
+ */
831
+ vpcConnectorId: string;
832
+ /**
833
+ * Name for the VPC connector.
834
+ */
835
+ name?: string;
836
+ /**
837
+ * Tags for the VPC connector.
838
+ */
839
+ tags?: string[];
661
840
  };
662
841
  export type UpdateVPCRequest = {
663
842
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scaleway/sdk-vpc",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Scaleway SDK vpc",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@scaleway/random-name": "5.1.2",
30
- "@scaleway/sdk-std": "2.1.0"
30
+ "@scaleway/sdk-std": "2.1.1"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@scaleway/sdk-client": "^2.1.0"