@scaleway/sdk 2.35.0 → 2.37.0

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.
Files changed (66) hide show
  1. package/dist/api/cockpit/v1/api.gen.cjs +21 -0
  2. package/dist/api/cockpit/v1/api.gen.d.ts +9 -1
  3. package/dist/api/cockpit/v1/api.gen.js +22 -1
  4. package/dist/api/cockpit/v1/index.gen.d.ts +1 -1
  5. package/dist/api/cockpit/v1/marshalling.gen.cjs +4 -0
  6. package/dist/api/cockpit/v1/marshalling.gen.d.ts +2 -1
  7. package/dist/api/cockpit/v1/marshalling.gen.js +4 -0
  8. package/dist/api/cockpit/v1/types.gen.d.ts +12 -0
  9. package/dist/api/cockpit/v1/validation-rules.gen.cjs +8 -0
  10. package/dist/api/cockpit/v1/validation-rules.gen.d.ts +7 -0
  11. package/dist/api/cockpit/v1/validation-rules.gen.js +9 -1
  12. package/dist/api/container/v1beta1/index.gen.d.ts +1 -1
  13. package/dist/api/container/v1beta1/marshalling.gen.cjs +3 -0
  14. package/dist/api/container/v1beta1/marshalling.gen.js +3 -0
  15. package/dist/api/container/v1beta1/types.gen.d.ts +7 -0
  16. package/dist/api/edge_services/index.d.ts +1 -0
  17. package/dist/api/edge_services/v1alpha1/api.gen.d.ts +300 -0
  18. package/dist/api/edge_services/v1alpha1/content.gen.d.ts +5 -0
  19. package/dist/api/edge_services/v1alpha1/index.gen.d.ts +3 -0
  20. package/dist/api/edge_services/v1alpha1/marshalling.gen.d.ts +31 -0
  21. package/dist/api/edge_services/v1alpha1/types.gen.d.ts +692 -0
  22. package/dist/api/function/v1beta1/index.gen.d.ts +1 -1
  23. package/dist/api/function/v1beta1/marshalling.gen.cjs +3 -0
  24. package/dist/api/function/v1beta1/marshalling.gen.js +3 -0
  25. package/dist/api/function/v1beta1/types.gen.d.ts +7 -0
  26. package/dist/api/inference/v1beta1/api.gen.d.ts +151 -0
  27. package/dist/api/inference/v1beta1/content.gen.d.ts +3 -0
  28. package/dist/api/inference/v1beta1/index.gen.d.ts +4 -0
  29. package/dist/api/inference/v1beta1/marshalling.gen.d.ts +18 -0
  30. package/dist/api/inference/v1beta1/types.gen.d.ts +435 -0
  31. package/dist/api/inference/v1beta1/validation-rules.gen.d.ts +50 -0
  32. package/dist/api/instance/v1/marshalling.gen.cjs +2 -2
  33. package/dist/api/instance/v1/marshalling.gen.js +2 -2
  34. package/dist/api/instance/v1/types.gen.d.ts +2 -1
  35. package/dist/api/lb/v1/marshalling.gen.cjs +2 -0
  36. package/dist/api/lb/v1/marshalling.gen.js +2 -0
  37. package/dist/api/lb/v1/types.gen.d.ts +16 -0
  38. package/dist/api/marketplace/v2/types.gen.d.ts +19 -6
  39. package/dist/api/secret/v1beta1/api.gen.cjs +25 -0
  40. package/dist/api/secret/v1beta1/api.gen.d.ts +12 -1
  41. package/dist/api/secret/v1beta1/api.gen.js +26 -1
  42. package/dist/api/secret/v1beta1/index.gen.d.ts +1 -1
  43. package/dist/api/secret/v1beta1/marshalling.gen.cjs +12 -0
  44. package/dist/api/secret/v1beta1/marshalling.gen.d.ts +2 -1
  45. package/dist/api/secret/v1beta1/marshalling.gen.js +12 -0
  46. package/dist/api/secret/v1beta1/types.gen.d.ts +17 -0
  47. package/dist/api/vpc/v2/api.gen.cjs +57 -0
  48. package/dist/api/vpc/v2/api.gen.d.ts +29 -1
  49. package/dist/api/vpc/v2/api.gen.js +58 -1
  50. package/dist/api/vpc/v2/index.gen.cjs +2 -0
  51. package/dist/api/vpc/v2/index.gen.d.ts +2 -1
  52. package/dist/api/vpc/v2/index.gen.js +3 -1
  53. package/dist/api/vpc/v2/marshalling.gen.cjs +37 -0
  54. package/dist/api/vpc/v2/marshalling.gen.d.ts +4 -1
  55. package/dist/api/vpc/v2/marshalling.gen.js +37 -0
  56. package/dist/api/vpc/v2/types.gen.d.ts +78 -0
  57. package/dist/api/vpc/v2/validation-rules.gen.cjs +8 -0
  58. package/dist/api/vpc/v2/validation-rules.gen.d.ts +5 -0
  59. package/dist/api/vpc/v2/validation-rules.gen.js +8 -0
  60. package/dist/api/webhosting/v1alpha1/marshalling.gen.cjs +1 -0
  61. package/dist/api/webhosting/v1alpha1/marshalling.gen.js +1 -0
  62. package/dist/api/webhosting/v1alpha1/types.gen.d.ts +2 -0
  63. package/dist/scw/constants.cjs +1 -1
  64. package/dist/scw/constants.d.ts +2 -2
  65. package/dist/scw/constants.js +1 -1
  66. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region } from '../../../bridge';
3
- import type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, GetSecretRequest, GetSecretVersionRequest, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsResponse, ListTagsRequest, ListTagsResponse, ProtectSecretRequest, Secret, SecretVersion, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
3
+ import type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsResponse, ListTagsRequest, ListTagsResponse, ProtectSecretRequest, Secret, SecretVersion, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
4
4
  /**
5
5
  * Secret Manager API.
6
6
  *
@@ -179,4 +179,15 @@ export declare class API extends ParentAPI {
179
179
  all: () => Promise<string[]>;
180
180
  [Symbol.asyncIterator]: () => AsyncGenerator<string[], void, void>;
181
181
  };
182
+ protected pageOfListSecretTypes: (request?: Readonly<ListSecretTypesRequest>) => Promise<ListSecretTypesResponse>;
183
+ /**
184
+ * List secret types. List all secret types created within a given Project.
185
+ *
186
+ * @param request - The request {@link ListSecretTypesRequest}
187
+ * @returns A Promise of ListSecretTypesResponse
188
+ */
189
+ listSecretTypes: (request?: Readonly<ListSecretTypesRequest>) => Promise<ListSecretTypesResponse> & {
190
+ all: () => Promise<import("./types.gen").SecretType[]>;
191
+ [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen").SecretType[], void, void>;
192
+ };
182
193
  }
@@ -1,7 +1,7 @@
1
1
  import { API as API$1 } from "../../../scw/api.js";
2
2
  import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
3
3
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
4
- import { marshalCreateSecretRequest, unmarshalSecret, marshalUpdateSecretRequest, unmarshalListSecretsResponse, unmarshalBrowseSecretsResponse, marshalAddSecretOwnerRequest, marshalCreateSecretVersionRequest, unmarshalSecretVersion, marshalUpdateSecretVersionRequest, unmarshalListSecretVersionsResponse, unmarshalAccessSecretVersionResponse, unmarshalListTagsResponse } from "./marshalling.gen.js";
4
+ import { marshalCreateSecretRequest, unmarshalSecret, marshalUpdateSecretRequest, unmarshalListSecretsResponse, unmarshalBrowseSecretsResponse, marshalAddSecretOwnerRequest, marshalCreateSecretVersionRequest, unmarshalSecretVersion, marshalUpdateSecretVersionRequest, unmarshalListSecretVersionsResponse, unmarshalAccessSecretVersionResponse, unmarshalListTagsResponse, unmarshalListSecretTypesResponse } from "./marshalling.gen.js";
5
5
  const jsonContentHeaders = {
6
6
  "Content-Type": "application/json; charset=utf-8"
7
7
  };
@@ -353,6 +353,31 @@ class API extends API$1 {
353
353
  * @returns A Promise of ListTagsResponse
354
354
  */
355
355
  listTags = (request = {}) => enrichForPagination("tags", this.pageOfListTags, request);
356
+ pageOfListSecretTypes = (request = {}) => this.client.fetch(
357
+ {
358
+ method: "GET",
359
+ path: `/secret-manager/v1beta1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secret-types`,
360
+ urlParams: urlParams(
361
+ ["page", request.page],
362
+ [
363
+ "page_size",
364
+ request.pageSize ?? this.client.settings.defaultPageSize
365
+ ],
366
+ [
367
+ "project_id",
368
+ request.projectId ?? this.client.settings.defaultProjectId
369
+ ]
370
+ )
371
+ },
372
+ unmarshalListSecretTypesResponse
373
+ );
374
+ /**
375
+ * List secret types. List all secret types created within a given Project.
376
+ *
377
+ * @param request - The request {@link ListSecretTypesRequest}
378
+ * @returns A Promise of ListSecretTypesResponse
379
+ */
380
+ listSecretTypes = (request = {}) => enrichForPagination("types", this.pageOfListSecretTypes, request);
356
381
  }
357
382
  export {
358
383
  API
@@ -1,3 +1,3 @@
1
1
  export { API } from './api.gen';
2
- export type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BasicCredentials, BrowseSecretsRequest, BrowseSecretsRequestOrderBy, BrowseSecretsResponse, BrowseSecretsResponseItem, BrowseSecretsResponseItemFolderDetails, BrowseSecretsResponseItemSecretDetails, CreateSecretRequest, CreateSecretVersionRequest, DatabaseCredentials, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, EphemeralPolicy, EphemeralPolicyAction, EphemeralProperties, GetSecretRequest, GetSecretVersionRequest, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsRequestOrderBy, ListSecretsResponse, ListTagsRequest, ListTagsResponse, Product, ProtectSecretRequest, SSHKey, Secret, SecretStatus, SecretType, SecretVersion, SecretVersionStatus, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest, } from './types.gen';
2
+ export type { AccessSecretVersionByPathRequest, AccessSecretVersionRequest, AccessSecretVersionResponse, AddSecretOwnerRequest, BasicCredentials, BrowseSecretsRequest, BrowseSecretsRequestOrderBy, BrowseSecretsResponse, BrowseSecretsResponseItem, BrowseSecretsResponseItemFolderDetails, BrowseSecretsResponseItemSecretDetails, CreateSecretRequest, CreateSecretVersionRequest, DatabaseCredentials, DeleteSecretRequest, DeleteSecretVersionRequest, DisableSecretVersionRequest, EnableSecretVersionRequest, EphemeralPolicy, EphemeralPolicyAction, EphemeralProperties, GetSecretRequest, GetSecretVersionRequest, ListSecretTypesRequest, ListSecretTypesResponse, ListSecretVersionsRequest, ListSecretVersionsResponse, ListSecretsRequest, ListSecretsRequestOrderBy, ListSecretsResponse, ListTagsRequest, ListTagsResponse, Product, ProtectSecretRequest, SSHKey, Secret, SecretStatus, SecretType, SecretVersion, SecretVersionStatus, UnprotectSecretRequest, UpdateSecretRequest, UpdateSecretVersionRequest, } from './types.gen';
3
3
  export * as ValidationRules from './validation-rules.gen';
@@ -132,6 +132,17 @@ const unmarshalBrowseSecretsResponse = (data) => {
132
132
  totalCount: data.total_count
133
133
  };
134
134
  };
135
+ const unmarshalListSecretTypesResponse = (data) => {
136
+ if (!json.isJSONObject(data)) {
137
+ throw new TypeError(
138
+ `Unmarshalling the type 'ListSecretTypesResponse' failed as data isn't a dictionary.`
139
+ );
140
+ }
141
+ return {
142
+ totalCount: data.total_count,
143
+ types: data.types
144
+ };
145
+ };
135
146
  const unmarshalListSecretVersionsResponse = (data) => {
136
147
  if (!json.isJSONObject(data)) {
137
148
  throw new TypeError(
@@ -212,6 +223,7 @@ exports.marshalUpdateSecretRequest = marshalUpdateSecretRequest;
212
223
  exports.marshalUpdateSecretVersionRequest = marshalUpdateSecretVersionRequest;
213
224
  exports.unmarshalAccessSecretVersionResponse = unmarshalAccessSecretVersionResponse;
214
225
  exports.unmarshalBrowseSecretsResponse = unmarshalBrowseSecretsResponse;
226
+ exports.unmarshalListSecretTypesResponse = unmarshalListSecretTypesResponse;
215
227
  exports.unmarshalListSecretVersionsResponse = unmarshalListSecretVersionsResponse;
216
228
  exports.unmarshalListSecretsResponse = unmarshalListSecretsResponse;
217
229
  exports.unmarshalListTagsResponse = unmarshalListTagsResponse;
@@ -1,9 +1,10 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, ListSecretVersionsResponse, ListSecretsResponse, ListTagsResponse, Secret, SecretVersion, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
2
+ import type { AccessSecretVersionResponse, AddSecretOwnerRequest, BrowseSecretsResponse, CreateSecretRequest, CreateSecretVersionRequest, ListSecretTypesResponse, ListSecretVersionsResponse, ListSecretsResponse, ListTagsResponse, Secret, SecretVersion, UpdateSecretRequest, UpdateSecretVersionRequest } from './types.gen';
3
3
  export declare const unmarshalSecretVersion: (data: unknown) => SecretVersion;
4
4
  export declare const unmarshalSecret: (data: unknown) => Secret;
5
5
  export declare const unmarshalAccessSecretVersionResponse: (data: unknown) => AccessSecretVersionResponse;
6
6
  export declare const unmarshalBrowseSecretsResponse: (data: unknown) => BrowseSecretsResponse;
7
+ export declare const unmarshalListSecretTypesResponse: (data: unknown) => ListSecretTypesResponse;
7
8
  export declare const unmarshalListSecretVersionsResponse: (data: unknown) => ListSecretVersionsResponse;
8
9
  export declare const unmarshalListSecretsResponse: (data: unknown) => ListSecretsResponse;
9
10
  export declare const unmarshalListTagsResponse: (data: unknown) => ListTagsResponse;
@@ -130,6 +130,17 @@ const unmarshalBrowseSecretsResponse = (data) => {
130
130
  totalCount: data.total_count
131
131
  };
132
132
  };
133
+ const unmarshalListSecretTypesResponse = (data) => {
134
+ if (!isJSONObject(data)) {
135
+ throw new TypeError(
136
+ `Unmarshalling the type 'ListSecretTypesResponse' failed as data isn't a dictionary.`
137
+ );
138
+ }
139
+ return {
140
+ totalCount: data.total_count,
141
+ types: data.types
142
+ };
143
+ };
133
144
  const unmarshalListSecretVersionsResponse = (data) => {
134
145
  if (!isJSONObject(data)) {
135
146
  throw new TypeError(
@@ -211,6 +222,7 @@ export {
211
222
  marshalUpdateSecretVersionRequest,
212
223
  unmarshalAccessSecretVersionResponse,
213
224
  unmarshalBrowseSecretsResponse,
225
+ unmarshalListSecretTypesResponse,
214
226
  unmarshalListSecretVersionsResponse,
215
227
  unmarshalListSecretsResponse,
216
228
  unmarshalListTagsResponse,
@@ -375,6 +375,23 @@ export type GetSecretVersionRequest = {
375
375
  */
376
376
  revision: string;
377
377
  };
378
+ export type ListSecretTypesRequest = {
379
+ /**
380
+ * Region to target. If none is passed will use default region from the
381
+ * config.
382
+ */
383
+ region?: Region;
384
+ /** ID of the Project to target. */
385
+ projectId?: string;
386
+ page?: number;
387
+ pageSize?: number;
388
+ };
389
+ export interface ListSecretTypesResponse {
390
+ /** List of secret types. */
391
+ types: SecretType[];
392
+ /** Count of all secret types matching the requested criteria. */
393
+ totalCount: number;
394
+ }
378
395
  export type ListSecretVersionsRequest = {
379
396
  /**
380
397
  * Region to target. If none is passed will use default region from the
@@ -326,5 +326,62 @@ class API extends api.API {
326
326
  },
327
327
  marshalling_gen.unmarshalDeleteSubnetsResponse
328
328
  );
329
+ /**
330
+ * Create a Route. Create a new custom Route.
331
+ *
332
+ * @param request - The request {@link CreateRouteRequest}
333
+ * @returns A Promise of Route
334
+ */
335
+ createRoute = (request) => this.client.fetch(
336
+ {
337
+ body: JSON.stringify(
338
+ marshalling_gen.marshalCreateRouteRequest(request, this.client.settings)
339
+ ),
340
+ headers: jsonContentHeaders,
341
+ method: "POST",
342
+ path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes`
343
+ },
344
+ marshalling_gen.unmarshalRoute
345
+ );
346
+ /**
347
+ * Get a Route. Retrieve details of an existing Route, specified by its Route
348
+ * ID.
349
+ *
350
+ * @param request - The request {@link GetRouteRequest}
351
+ * @returns A Promise of Route
352
+ */
353
+ getRoute = (request) => this.client.fetch(
354
+ {
355
+ method: "GET",
356
+ path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${marshalling.validatePathParam("routeId", request.routeId)}`
357
+ },
358
+ marshalling_gen.unmarshalRoute
359
+ );
360
+ /**
361
+ * Update Route. Update parameters of the specified Route.
362
+ *
363
+ * @param request - The request {@link UpdateRouteRequest}
364
+ * @returns A Promise of Route
365
+ */
366
+ updateRoute = (request) => this.client.fetch(
367
+ {
368
+ body: JSON.stringify(
369
+ marshalling_gen.marshalUpdateRouteRequest(request, this.client.settings)
370
+ ),
371
+ headers: jsonContentHeaders,
372
+ method: "PATCH",
373
+ path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${marshalling.validatePathParam("routeId", request.routeId)}`
374
+ },
375
+ marshalling_gen.unmarshalRoute
376
+ );
377
+ /**
378
+ * Delete a Route. Delete a Route specified by its Route ID.
379
+ *
380
+ * @param request - The request {@link DeleteRouteRequest}
381
+ */
382
+ deleteRoute = (request) => this.client.fetch({
383
+ method: "DELETE",
384
+ path: `/vpc/v2/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${marshalling.validatePathParam("routeId", request.routeId)}`
385
+ });
329
386
  }
330
387
  exports.API = API;
@@ -1,6 +1,6 @@
1
1
  import { API as ParentAPI } from '../../../bridge';
2
2
  import type { Region } from '../../../bridge';
3
- import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetPrivateNetworkRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsResponse, ListVPCsRequest, ListVPCsResponse, MigrateZonalPrivateNetworksRequest, PrivateNetwork, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateVPCRequest, VPC } from './types.gen';
3
+ import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsResponse, ListVPCsRequest, ListVPCsResponse, MigrateZonalPrivateNetworksRequest, PrivateNetwork, Route, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen';
4
4
  /**
5
5
  * VPC API.
6
6
  *
@@ -158,4 +158,32 @@ export declare class API extends ParentAPI {
158
158
  * @returns A Promise of DeleteSubnetsResponse
159
159
  */
160
160
  deleteSubnets: (request: Readonly<DeleteSubnetsRequest>) => Promise<DeleteSubnetsResponse>;
161
+ /**
162
+ * Create a Route. Create a new custom Route.
163
+ *
164
+ * @param request - The request {@link CreateRouteRequest}
165
+ * @returns A Promise of Route
166
+ */
167
+ createRoute: (request: Readonly<CreateRouteRequest>) => Promise<Route>;
168
+ /**
169
+ * Get a Route. Retrieve details of an existing Route, specified by its Route
170
+ * ID.
171
+ *
172
+ * @param request - The request {@link GetRouteRequest}
173
+ * @returns A Promise of Route
174
+ */
175
+ getRoute: (request: Readonly<GetRouteRequest>) => Promise<Route>;
176
+ /**
177
+ * Update Route. Update parameters of the specified Route.
178
+ *
179
+ * @param request - The request {@link UpdateRouteRequest}
180
+ * @returns A Promise of Route
181
+ */
182
+ updateRoute: (request: Readonly<UpdateRouteRequest>) => Promise<Route>;
183
+ /**
184
+ * Delete a Route. Delete a Route specified by its Route ID.
185
+ *
186
+ * @param request - The request {@link DeleteRouteRequest}
187
+ */
188
+ deleteRoute: (request: Readonly<DeleteRouteRequest>) => Promise<void>;
161
189
  }
@@ -1,7 +1,7 @@
1
1
  import { API as API$1 } from "../../../scw/api.js";
2
2
  import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
3
3
  import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
4
- import { unmarshalListVPCsResponse, marshalCreateVPCRequest, unmarshalVPC, marshalUpdateVPCRequest, unmarshalListPrivateNetworksResponse, marshalCreatePrivateNetworkRequest, unmarshalPrivateNetwork, marshalUpdatePrivateNetworkRequest, marshalMigrateZonalPrivateNetworksRequest, unmarshalListSubnetsResponse, marshalSetSubnetsRequest, unmarshalSetSubnetsResponse, marshalAddSubnetsRequest, unmarshalAddSubnetsResponse, marshalDeleteSubnetsRequest, unmarshalDeleteSubnetsResponse } from "./marshalling.gen.js";
4
+ import { unmarshalListVPCsResponse, marshalCreateVPCRequest, unmarshalVPC, marshalUpdateVPCRequest, unmarshalListPrivateNetworksResponse, marshalCreatePrivateNetworkRequest, unmarshalPrivateNetwork, marshalUpdatePrivateNetworkRequest, marshalMigrateZonalPrivateNetworksRequest, unmarshalListSubnetsResponse, marshalSetSubnetsRequest, unmarshalSetSubnetsResponse, marshalAddSubnetsRequest, unmarshalAddSubnetsResponse, marshalDeleteSubnetsRequest, unmarshalDeleteSubnetsResponse, marshalCreateRouteRequest, unmarshalRoute, marshalUpdateRouteRequest } from "./marshalling.gen.js";
5
5
  const jsonContentHeaders = {
6
6
  "Content-Type": "application/json; charset=utf-8"
7
7
  };
@@ -324,6 +324,63 @@ class API extends API$1 {
324
324
  },
325
325
  unmarshalDeleteSubnetsResponse
326
326
  );
327
+ /**
328
+ * Create a Route. Create a new custom Route.
329
+ *
330
+ * @param request - The request {@link CreateRouteRequest}
331
+ * @returns A Promise of Route
332
+ */
333
+ createRoute = (request) => this.client.fetch(
334
+ {
335
+ body: JSON.stringify(
336
+ marshalCreateRouteRequest(request, this.client.settings)
337
+ ),
338
+ headers: jsonContentHeaders,
339
+ method: "POST",
340
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes`
341
+ },
342
+ unmarshalRoute
343
+ );
344
+ /**
345
+ * Get a Route. Retrieve details of an existing Route, specified by its Route
346
+ * ID.
347
+ *
348
+ * @param request - The request {@link GetRouteRequest}
349
+ * @returns A Promise of Route
350
+ */
351
+ getRoute = (request) => this.client.fetch(
352
+ {
353
+ method: "GET",
354
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${validatePathParam("routeId", request.routeId)}`
355
+ },
356
+ unmarshalRoute
357
+ );
358
+ /**
359
+ * Update Route. Update parameters of the specified Route.
360
+ *
361
+ * @param request - The request {@link UpdateRouteRequest}
362
+ * @returns A Promise of Route
363
+ */
364
+ updateRoute = (request) => this.client.fetch(
365
+ {
366
+ body: JSON.stringify(
367
+ marshalUpdateRouteRequest(request, this.client.settings)
368
+ ),
369
+ headers: jsonContentHeaders,
370
+ method: "PATCH",
371
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${validatePathParam("routeId", request.routeId)}`
372
+ },
373
+ unmarshalRoute
374
+ );
375
+ /**
376
+ * Delete a Route. Delete a Route specified by its Route ID.
377
+ *
378
+ * @param request - The request {@link DeleteRouteRequest}
379
+ */
380
+ deleteRoute = (request) => this.client.fetch({
381
+ method: "DELETE",
382
+ path: `/vpc/v2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/routes/${validatePathParam("routeId", request.routeId)}`
383
+ });
327
384
  }
328
385
  export {
329
386
  API
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const api_gen = require("./api.gen.cjs");
4
+ const validationRules_gen = require("./validation-rules.gen.cjs");
4
5
  exports.API = api_gen.API;
6
+ exports.ValidationRules = validationRules_gen;
@@ -1,2 +1,3 @@
1
1
  export { API } from './api.gen';
2
- export type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetPrivateNetworkRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksRequestOrderBy, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsRequestOrderBy, ListSubnetsResponse, ListVPCsRequest, ListVPCsRequestOrderBy, ListVPCsResponse, MigrateZonalPrivateNetworksRequest, PrivateNetwork, SetSubnetsRequest, SetSubnetsResponse, Subnet, UpdatePrivateNetworkRequest, UpdateVPCRequest, VPC, } from './types.gen';
2
+ export type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeletePrivateNetworkRequest, DeleteRouteRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, DeleteVPCRequest, EnableDHCPRequest, EnableRoutingRequest, GetPrivateNetworkRequest, GetRouteRequest, GetVPCRequest, ListPrivateNetworksRequest, ListPrivateNetworksRequestOrderBy, ListPrivateNetworksResponse, ListSubnetsRequest, ListSubnetsRequestOrderBy, ListSubnetsResponse, ListVPCsRequest, ListVPCsRequestOrderBy, ListVPCsResponse, MigrateZonalPrivateNetworksRequest, PrivateNetwork, Route, SetSubnetsRequest, SetSubnetsResponse, Subnet, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC, } from './types.gen';
3
+ export * as ValidationRules from './validation-rules.gen';
@@ -1,4 +1,6 @@
1
1
  import { API } from "./api.gen.js";
2
+ import * as validationRules_gen from "./validation-rules.gen.js";
2
3
  export {
3
- API
4
+ API,
5
+ validationRules_gen as ValidationRules
4
6
  };
@@ -39,6 +39,25 @@ const unmarshalPrivateNetwork = (data) => {
39
39
  vpcId: data.vpc_id
40
40
  };
41
41
  };
42
+ const unmarshalRoute = (data) => {
43
+ if (!json.isJSONObject(data)) {
44
+ throw new TypeError(
45
+ `Unmarshalling the type 'Route' failed as data isn't a dictionary.`
46
+ );
47
+ }
48
+ return {
49
+ createdAt: marshalling.unmarshalDate(data.created_at),
50
+ description: data.description,
51
+ destination: data.destination,
52
+ id: data.id,
53
+ nexthopPrivateNetworkId: data.nexthop_private_network_id,
54
+ nexthopResourceId: data.nexthop_resource_id,
55
+ region: data.region,
56
+ tags: data.tags,
57
+ updatedAt: marshalling.unmarshalDate(data.updated_at),
58
+ vpcId: data.vpc_id
59
+ };
60
+ };
42
61
  const unmarshalVPC = (data) => {
43
62
  if (!json.isJSONObject(data)) {
44
63
  throw new TypeError(
@@ -135,6 +154,14 @@ const marshalCreatePrivateNetworkRequest = (request, defaults) => ({
135
154
  tags: request.tags,
136
155
  vpc_id: request.vpcId
137
156
  });
157
+ const marshalCreateRouteRequest = (request, defaults) => ({
158
+ description: request.description,
159
+ destination: request.destination,
160
+ nexthop_private_network_id: request.nexthopPrivateNetworkId,
161
+ nexthop_resource_id: request.nexthopResourceId,
162
+ tags: request.tags,
163
+ vpc_id: request.vpcId
164
+ });
138
165
  const marshalCreateVPCRequest = (request, defaults) => ({
139
166
  enable_routing: request.enableRouting,
140
167
  name: request.name || randomName("vpc"),
@@ -166,17 +193,26 @@ const marshalUpdatePrivateNetworkRequest = (request, defaults) => ({
166
193
  name: request.name,
167
194
  tags: request.tags
168
195
  });
196
+ const marshalUpdateRouteRequest = (request, defaults) => ({
197
+ description: request.description,
198
+ destination: request.destination,
199
+ nexthop_private_network_id: request.nexthopPrivateNetworkId,
200
+ nexthop_resource_id: request.nexthopResourceId,
201
+ tags: request.tags
202
+ });
169
203
  const marshalUpdateVPCRequest = (request, defaults) => ({
170
204
  name: request.name,
171
205
  tags: request.tags
172
206
  });
173
207
  exports.marshalAddSubnetsRequest = marshalAddSubnetsRequest;
174
208
  exports.marshalCreatePrivateNetworkRequest = marshalCreatePrivateNetworkRequest;
209
+ exports.marshalCreateRouteRequest = marshalCreateRouteRequest;
175
210
  exports.marshalCreateVPCRequest = marshalCreateVPCRequest;
176
211
  exports.marshalDeleteSubnetsRequest = marshalDeleteSubnetsRequest;
177
212
  exports.marshalMigrateZonalPrivateNetworksRequest = marshalMigrateZonalPrivateNetworksRequest;
178
213
  exports.marshalSetSubnetsRequest = marshalSetSubnetsRequest;
179
214
  exports.marshalUpdatePrivateNetworkRequest = marshalUpdatePrivateNetworkRequest;
215
+ exports.marshalUpdateRouteRequest = marshalUpdateRouteRequest;
180
216
  exports.marshalUpdateVPCRequest = marshalUpdateVPCRequest;
181
217
  exports.unmarshalAddSubnetsResponse = unmarshalAddSubnetsResponse;
182
218
  exports.unmarshalDeleteSubnetsResponse = unmarshalDeleteSubnetsResponse;
@@ -184,5 +220,6 @@ exports.unmarshalListPrivateNetworksResponse = unmarshalListPrivateNetworksRespo
184
220
  exports.unmarshalListSubnetsResponse = unmarshalListSubnetsResponse;
185
221
  exports.unmarshalListVPCsResponse = unmarshalListVPCsResponse;
186
222
  exports.unmarshalPrivateNetwork = unmarshalPrivateNetwork;
223
+ exports.unmarshalRoute = unmarshalRoute;
187
224
  exports.unmarshalSetSubnetsResponse = unmarshalSetSubnetsResponse;
188
225
  exports.unmarshalVPC = unmarshalVPC;
@@ -1,6 +1,7 @@
1
1
  import type { DefaultValues } from '../../../bridge';
2
- import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateVPCRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, ListPrivateNetworksResponse, ListSubnetsResponse, ListVPCsResponse, MigrateZonalPrivateNetworksRequest, PrivateNetwork, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateVPCRequest, VPC } from './types.gen';
2
+ import type { AddSubnetsRequest, AddSubnetsResponse, CreatePrivateNetworkRequest, CreateRouteRequest, CreateVPCRequest, DeleteSubnetsRequest, DeleteSubnetsResponse, ListPrivateNetworksResponse, ListSubnetsResponse, ListVPCsResponse, MigrateZonalPrivateNetworksRequest, PrivateNetwork, Route, SetSubnetsRequest, SetSubnetsResponse, UpdatePrivateNetworkRequest, UpdateRouteRequest, UpdateVPCRequest, VPC } from './types.gen';
3
3
  export declare const unmarshalPrivateNetwork: (data: unknown) => PrivateNetwork;
4
+ export declare const unmarshalRoute: (data: unknown) => Route;
4
5
  export declare const unmarshalVPC: (data: unknown) => VPC;
5
6
  export declare const unmarshalAddSubnetsResponse: (data: unknown) => AddSubnetsResponse;
6
7
  export declare const unmarshalDeleteSubnetsResponse: (data: unknown) => DeleteSubnetsResponse;
@@ -10,9 +11,11 @@ export declare const unmarshalListVPCsResponse: (data: unknown) => ListVPCsRespo
10
11
  export declare const unmarshalSetSubnetsResponse: (data: unknown) => SetSubnetsResponse;
11
12
  export declare const marshalAddSubnetsRequest: (request: AddSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
12
13
  export declare const marshalCreatePrivateNetworkRequest: (request: CreatePrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
14
+ export declare const marshalCreateRouteRequest: (request: CreateRouteRequest, defaults: DefaultValues) => Record<string, unknown>;
13
15
  export declare const marshalCreateVPCRequest: (request: CreateVPCRequest, defaults: DefaultValues) => Record<string, unknown>;
14
16
  export declare const marshalDeleteSubnetsRequest: (request: DeleteSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
15
17
  export declare const marshalMigrateZonalPrivateNetworksRequest: (request: MigrateZonalPrivateNetworksRequest, defaults: DefaultValues) => Record<string, unknown>;
16
18
  export declare const marshalSetSubnetsRequest: (request: SetSubnetsRequest, defaults: DefaultValues) => Record<string, unknown>;
17
19
  export declare const marshalUpdatePrivateNetworkRequest: (request: UpdatePrivateNetworkRequest, defaults: DefaultValues) => Record<string, unknown>;
20
+ export declare const marshalUpdateRouteRequest: (request: UpdateRouteRequest, defaults: DefaultValues) => Record<string, unknown>;
18
21
  export declare const marshalUpdateVPCRequest: (request: UpdateVPCRequest, defaults: DefaultValues) => Record<string, unknown>;
@@ -37,6 +37,25 @@ const unmarshalPrivateNetwork = (data) => {
37
37
  vpcId: data.vpc_id
38
38
  };
39
39
  };
40
+ const unmarshalRoute = (data) => {
41
+ if (!isJSONObject(data)) {
42
+ throw new TypeError(
43
+ `Unmarshalling the type 'Route' failed as data isn't a dictionary.`
44
+ );
45
+ }
46
+ return {
47
+ createdAt: unmarshalDate(data.created_at),
48
+ description: data.description,
49
+ destination: data.destination,
50
+ id: data.id,
51
+ nexthopPrivateNetworkId: data.nexthop_private_network_id,
52
+ nexthopResourceId: data.nexthop_resource_id,
53
+ region: data.region,
54
+ tags: data.tags,
55
+ updatedAt: unmarshalDate(data.updated_at),
56
+ vpcId: data.vpc_id
57
+ };
58
+ };
40
59
  const unmarshalVPC = (data) => {
41
60
  if (!isJSONObject(data)) {
42
61
  throw new TypeError(
@@ -133,6 +152,14 @@ const marshalCreatePrivateNetworkRequest = (request, defaults) => ({
133
152
  tags: request.tags,
134
153
  vpc_id: request.vpcId
135
154
  });
155
+ const marshalCreateRouteRequest = (request, defaults) => ({
156
+ description: request.description,
157
+ destination: request.destination,
158
+ nexthop_private_network_id: request.nexthopPrivateNetworkId,
159
+ nexthop_resource_id: request.nexthopResourceId,
160
+ tags: request.tags,
161
+ vpc_id: request.vpcId
162
+ });
136
163
  const marshalCreateVPCRequest = (request, defaults) => ({
137
164
  enable_routing: request.enableRouting,
138
165
  name: request.name || randomName("vpc"),
@@ -164,6 +191,13 @@ const marshalUpdatePrivateNetworkRequest = (request, defaults) => ({
164
191
  name: request.name,
165
192
  tags: request.tags
166
193
  });
194
+ const marshalUpdateRouteRequest = (request, defaults) => ({
195
+ description: request.description,
196
+ destination: request.destination,
197
+ nexthop_private_network_id: request.nexthopPrivateNetworkId,
198
+ nexthop_resource_id: request.nexthopResourceId,
199
+ tags: request.tags
200
+ });
167
201
  const marshalUpdateVPCRequest = (request, defaults) => ({
168
202
  name: request.name,
169
203
  tags: request.tags
@@ -171,11 +205,13 @@ const marshalUpdateVPCRequest = (request, defaults) => ({
171
205
  export {
172
206
  marshalAddSubnetsRequest,
173
207
  marshalCreatePrivateNetworkRequest,
208
+ marshalCreateRouteRequest,
174
209
  marshalCreateVPCRequest,
175
210
  marshalDeleteSubnetsRequest,
176
211
  marshalMigrateZonalPrivateNetworksRequest,
177
212
  marshalSetSubnetsRequest,
178
213
  marshalUpdatePrivateNetworkRequest,
214
+ marshalUpdateRouteRequest,
179
215
  marshalUpdateVPCRequest,
180
216
  unmarshalAddSubnetsResponse,
181
217
  unmarshalDeleteSubnetsResponse,
@@ -183,6 +219,7 @@ export {
183
219
  unmarshalListSubnetsResponse,
184
220
  unmarshalListVPCsResponse,
185
221
  unmarshalPrivateNetwork,
222
+ unmarshalRoute,
186
223
  unmarshalSetSubnetsResponse,
187
224
  unmarshalVPC
188
225
  };
@@ -42,6 +42,28 @@ export interface PrivateNetwork {
42
42
  /** Defines whether managed DHCP is enabled for this Private Network. */
43
43
  dhcpEnabled: boolean;
44
44
  }
45
+ export interface Route {
46
+ /** Route ID. */
47
+ id: string;
48
+ /** Route description. */
49
+ description: string;
50
+ /** Tags of the Route. */
51
+ tags: string[];
52
+ /** VPC the Route belongs to. */
53
+ vpcId: string;
54
+ /** Destination of the Route. */
55
+ destination: string;
56
+ /** ID of the nexthop resource. */
57
+ nexthopResourceId?: string;
58
+ /** ID of the nexthop private network. */
59
+ nexthopPrivateNetworkId?: string;
60
+ /** Date the Route was created. */
61
+ createdAt?: Date;
62
+ /** Date the Route was last modified. */
63
+ updatedAt?: Date;
64
+ /** Region of the Route. */
65
+ region: Region;
66
+ }
45
67
  export interface VPC {
46
68
  /** VPC ID. */
47
69
  id: string;
@@ -97,6 +119,25 @@ export type CreatePrivateNetworkRequest = {
97
119
  /** VPC in which to create the Private Network. */
98
120
  vpcId?: string;
99
121
  };
122
+ export type CreateRouteRequest = {
123
+ /**
124
+ * Region to target. If none is passed will use default region from the
125
+ * config.
126
+ */
127
+ region?: Region;
128
+ /** Route description. */
129
+ description: string;
130
+ /** Tags of the Route. */
131
+ tags?: string[];
132
+ /** VPC the Route belongs to. */
133
+ vpcId: string;
134
+ /** Destination of the Route. */
135
+ destination: string;
136
+ /** ID of the nexthop resource. */
137
+ nexthopResourceId?: string;
138
+ /** ID of the nexthop private network. */
139
+ nexthopPrivateNetworkId?: string;
140
+ };
100
141
  export type CreateVPCRequest = {
101
142
  /**
102
143
  * Region to target. If none is passed will use default region from the
@@ -121,6 +162,15 @@ export type DeletePrivateNetworkRequest = {
121
162
  /** Private Network ID. */
122
163
  privateNetworkId: string;
123
164
  };
165
+ export type DeleteRouteRequest = {
166
+ /**
167
+ * Region to target. If none is passed will use default region from the
168
+ * config.
169
+ */
170
+ region?: Region;
171
+ /** Route ID. */
172
+ routeId: string;
173
+ };
124
174
  export type DeleteSubnetsRequest = {
125
175
  /**
126
176
  * Region to target. If none is passed will use default region from the
@@ -170,6 +220,15 @@ export type GetPrivateNetworkRequest = {
170
220
  /** Private Network ID. */
171
221
  privateNetworkId: string;
172
222
  };
223
+ export type GetRouteRequest = {
224
+ /**
225
+ * Region to target. If none is passed will use default region from the
226
+ * config.
227
+ */
228
+ region?: Region;
229
+ /** Route ID. */
230
+ routeId: string;
231
+ };
173
232
  export type GetVPCRequest = {
174
233
  /**
175
234
  * Region to target. If none is passed will use default region from the
@@ -364,6 +423,25 @@ export type UpdatePrivateNetworkRequest = {
364
423
  /** Tags for the Private Network. */
365
424
  tags?: string[];
366
425
  };
426
+ export type UpdateRouteRequest = {
427
+ /**
428
+ * Region to target. If none is passed will use default region from the
429
+ * config.
430
+ */
431
+ region?: Region;
432
+ /** Route ID. */
433
+ routeId: string;
434
+ /** Route description. */
435
+ description?: string;
436
+ /** Tags of the Route. */
437
+ tags?: string[];
438
+ /** Destination of the Route. */
439
+ destination?: string;
440
+ /** ID of the nexthop resource. */
441
+ nexthopResourceId?: string;
442
+ /** ID of the nexthop private network. */
443
+ nexthopPrivateNetworkId?: string;
444
+ };
367
445
  export type UpdateVPCRequest = {
368
446
  /**
369
447
  * Region to target. If none is passed will use default region from the
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Route = {
4
+ description: {
5
+ maxLength: 200
6
+ }
7
+ };
8
+ exports.Route = Route;