@scaleway/sdk 2.73.0 → 2.74.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 (89) hide show
  1. package/dist/api/account/v3/index.gen.d.ts +1 -1
  2. package/dist/api/account/v3/marshalling.gen.cjs +94 -65
  3. package/dist/api/account/v3/marshalling.gen.js +94 -65
  4. package/dist/api/account/v3/types.gen.d.ts +79 -61
  5. package/dist/api/baremetal/v1/types.gen.d.ts +1 -1
  6. package/dist/api/cockpit/v1/api.gen.cjs +35 -3
  7. package/dist/api/cockpit/v1/api.gen.d.ts +17 -5
  8. package/dist/api/cockpit/v1/api.gen.js +36 -4
  9. package/dist/api/cockpit/v1/index.gen.d.ts +1 -1
  10. package/dist/api/cockpit/v1/marshalling.gen.cjs +23 -0
  11. package/dist/api/cockpit/v1/marshalling.gen.d.ts +3 -1
  12. package/dist/api/cockpit/v1/marshalling.gen.js +23 -0
  13. package/dist/api/cockpit/v1/types.gen.d.ts +63 -2
  14. package/dist/api/dedibox/v1/types.gen.d.ts +3 -3
  15. package/dist/api/edge_services/v1beta1/api.gen.cjs +41 -22
  16. package/dist/api/edge_services/v1beta1/api.gen.d.ts +3 -2
  17. package/dist/api/edge_services/v1beta1/api.gen.js +41 -22
  18. package/dist/api/edge_services/v1beta1/index.gen.d.ts +1 -1
  19. package/dist/api/edge_services/v1beta1/types.gen.d.ts +7 -0
  20. package/dist/api/file/index.gen.cjs +4 -0
  21. package/dist/api/file/index.gen.d.ts +5 -0
  22. package/dist/api/file/index.gen.js +4 -0
  23. package/dist/api/file/v1alpha1/api.gen.cjs +142 -0
  24. package/dist/api/file/v1alpha1/api.gen.d.ts +73 -0
  25. package/dist/api/file/v1alpha1/api.gen.js +142 -0
  26. package/dist/api/file/v1alpha1/content.gen.cjs +7 -0
  27. package/dist/api/file/v1alpha1/content.gen.d.ts +3 -0
  28. package/dist/api/file/v1alpha1/content.gen.js +7 -0
  29. package/dist/api/file/v1alpha1/index.gen.cjs +8 -0
  30. package/dist/api/file/v1alpha1/index.gen.d.ts +4 -0
  31. package/dist/api/file/v1alpha1/index.gen.js +8 -0
  32. package/dist/api/file/v1alpha1/marshalling.gen.cjs +77 -0
  33. package/dist/api/file/v1alpha1/marshalling.gen.d.ts +7 -0
  34. package/dist/api/file/v1alpha1/marshalling.gen.js +77 -0
  35. package/dist/api/file/v1alpha1/types.gen.d.ts +239 -0
  36. package/dist/api/file/v1alpha1/validation-rules.gen.cjs +40 -0
  37. package/dist/api/file/v1alpha1/validation-rules.gen.d.ts +34 -0
  38. package/dist/api/file/v1alpha1/validation-rules.gen.js +40 -0
  39. package/dist/api/function/v1beta1/types.gen.d.ts +6 -6
  40. package/dist/api/iam/v1alpha1/api.gen.cjs +4 -4
  41. package/dist/api/iam/v1alpha1/api.gen.d.ts +4 -4
  42. package/dist/api/iam/v1alpha1/api.gen.js +4 -4
  43. package/dist/api/iam/v1alpha1/types.gen.d.ts +1 -1
  44. package/dist/api/index.gen.d.ts +3 -1
  45. package/dist/api/inference/v1beta1/api.gen.cjs +1 -1
  46. package/dist/api/inference/v1beta1/api.gen.d.ts +1 -1
  47. package/dist/api/inference/v1beta1/api.gen.js +1 -1
  48. package/dist/api/instance/v1/marshalling.gen.cjs +4 -1
  49. package/dist/api/instance/v1/marshalling.gen.js +4 -1
  50. package/dist/api/instance/v1/types.gen.d.ts +16 -1
  51. package/dist/api/interlink/v1beta1/api.gen.cjs +1 -1
  52. package/dist/api/interlink/v1beta1/api.gen.d.ts +1 -1
  53. package/dist/api/interlink/v1beta1/api.gen.js +1 -1
  54. package/dist/api/iot/v1/types.gen.d.ts +1 -1
  55. package/dist/api/lb/v1/marshalling.gen.cjs +4 -2
  56. package/dist/api/lb/v1/marshalling.gen.js +4 -2
  57. package/dist/api/lb/v1/types.gen.d.ts +4 -0
  58. package/dist/api/mongodb/v1alpha1/types.gen.d.ts +1 -1
  59. package/dist/api/product_catalog/index.gen.cjs +4 -0
  60. package/dist/api/product_catalog/index.gen.d.ts +5 -0
  61. package/dist/api/product_catalog/index.gen.js +4 -0
  62. package/dist/api/product_catalog/v2alpha1/api.gen.cjs +36 -0
  63. package/dist/api/product_catalog/v2alpha1/api.gen.d.ts +18 -0
  64. package/dist/api/product_catalog/v2alpha1/api.gen.js +36 -0
  65. package/dist/api/product_catalog/v2alpha1/index.gen.cjs +6 -0
  66. package/dist/api/product_catalog/v2alpha1/index.gen.d.ts +3 -0
  67. package/dist/api/product_catalog/v2alpha1/index.gen.js +6 -0
  68. package/dist/api/product_catalog/v2alpha1/marshalling.gen.cjs +230 -0
  69. package/dist/api/product_catalog/v2alpha1/marshalling.gen.d.ts +2 -0
  70. package/dist/api/product_catalog/v2alpha1/marshalling.gen.js +230 -0
  71. package/dist/api/product_catalog/v2alpha1/types.gen.d.ts +293 -0
  72. package/dist/api/product_catalog/v2alpha1/validation-rules.gen.cjs +11 -0
  73. package/dist/api/product_catalog/v2alpha1/validation-rules.gen.d.ts +8 -0
  74. package/dist/api/product_catalog/v2alpha1/validation-rules.gen.js +11 -0
  75. package/dist/api/qaas/v1alpha1/types.gen.d.ts +2 -2
  76. package/dist/api/rdb/v1/api.gen.cjs +1 -1
  77. package/dist/api/rdb/v1/api.gen.d.ts +1 -1
  78. package/dist/api/rdb/v1/api.gen.js +1 -1
  79. package/dist/api/rdb/v1/types.gen.d.ts +2 -2
  80. package/dist/api/redis/v1/api.gen.cjs +1 -1
  81. package/dist/api/redis/v1/api.gen.d.ts +1 -1
  82. package/dist/api/redis/v1/api.gen.js +1 -1
  83. package/dist/api/registry/v1/types.gen.d.ts +1 -1
  84. package/dist/api/vpcgw/v1/api.gen.cjs +37 -0
  85. package/dist/api/vpcgw/v1/api.gen.d.ts +37 -0
  86. package/dist/api/vpcgw/v1/api.gen.js +37 -0
  87. package/dist/index.cjs +36 -32
  88. package/dist/index.js +36 -32
  89. package/package.json +2 -2
@@ -480,6 +480,28 @@ class API extends API$1 {
480
480
  method: "DELETE",
481
481
  path: `/edge-services/v1beta1/backend-stages/${validatePathParam("backendStageId", request.backendStageId)}`
482
482
  });
483
+ searchBackendStages = (request = {}) => this.client.fetch(
484
+ {
485
+ method: "GET",
486
+ path: `/edge-services/v1beta1/search-backend-stages`,
487
+ urlParams: urlParams(
488
+ ["bucket_name", request.bucketName],
489
+ ["bucket_region", request.bucketRegion],
490
+ ["lb_id", request.lbId],
491
+ ["order_by", request.orderBy],
492
+ ["page", request.page],
493
+ [
494
+ "page_size",
495
+ request.pageSize ?? this.client.settings.defaultPageSize
496
+ ],
497
+ [
498
+ "project_id",
499
+ request.projectId ?? this.client.settings.defaultProjectId
500
+ ]
501
+ )
502
+ },
503
+ unmarshalListBackendStagesResponse
504
+ );
483
505
  pageOfListWafStages = (request) => this.client.fetch(
484
506
  {
485
507
  method: "GET",
@@ -558,6 +580,25 @@ class API extends API$1 {
558
580
  method: "DELETE",
559
581
  path: `/edge-services/v1beta1/waf-stages/${validatePathParam("wafStageId", request.wafStageId)}`
560
582
  });
583
+ searchWafStages = (request = {}) => this.client.fetch(
584
+ {
585
+ method: "GET",
586
+ path: `/edge-services/v1beta1/search-waf-stages`,
587
+ urlParams: urlParams(
588
+ ["order_by", request.orderBy],
589
+ ["page", request.page],
590
+ [
591
+ "page_size",
592
+ request.pageSize ?? this.client.settings.defaultPageSize
593
+ ],
594
+ [
595
+ "project_id",
596
+ request.projectId ?? this.client.settings.defaultProjectId
597
+ ]
598
+ )
599
+ },
600
+ unmarshalListWafStagesResponse
601
+ );
561
602
  pageOfListRouteStages = (request) => this.client.fetch(
562
603
  {
563
604
  method: "GET",
@@ -705,28 +746,6 @@ class API extends API$1 {
705
746
  },
706
747
  unmarshalCheckPEMChainResponse
707
748
  );
708
- searchBackendStages = (request = {}) => this.client.fetch(
709
- {
710
- method: "GET",
711
- path: `/edge-services/v1beta1/search-backend-stages`,
712
- urlParams: urlParams(
713
- ["bucket_name", request.bucketName],
714
- ["bucket_region", request.bucketRegion],
715
- ["lb_id", request.lbId],
716
- ["order_by", request.orderBy],
717
- ["page", request.page],
718
- [
719
- "page_size",
720
- request.pageSize ?? this.client.settings.defaultPageSize
721
- ],
722
- [
723
- "project_id",
724
- request.projectId ?? this.client.settings.defaultProjectId
725
- ]
726
- )
727
- },
728
- unmarshalListBackendStagesResponse
729
- );
730
749
  pageOfListPurgeRequests = (request = {}) => this.client.fetch(
731
750
  {
732
751
  method: "GET",
@@ -1,4 +1,4 @@
1
1
  export { API } from './api.gen.js';
2
2
  export * from './content.gen.js';
3
- export type { AddRouteRulesRequest, AddRouteRulesResponse, BackendStage, CacheStage, CheckDomainRequest, CheckDomainResponse, CheckLbOriginRequest, CheckLbOriginResponse, CheckPEMChainRequest, CheckPEMChainRequestSecretChain, CheckPEMChainResponse, CreateBackendStageRequest, CreateCacheStageRequest, CreateDNSStageRequest, CreatePipelineRequest, CreatePurgeRequestRequest, CreateRouteStageRequest, CreateTLSStageRequest, CreateWafStageRequest, DNSStage, DNSStageType, DeleteBackendStageRequest, DeleteCacheStageRequest, DeleteCurrentPlanRequest, DeleteDNSStageRequest, DeletePipelineRequest, DeleteRouteStageRequest, DeleteTLSStageRequest, DeleteWafStageRequest, GetBackendStageRequest, GetBillingRequest, GetBillingResponse, GetCacheStageRequest, GetCurrentPlanRequest, GetDNSStageRequest, GetPipelineRequest, GetPurgeRequestRequest, GetRouteStageRequest, GetTLSStageRequest, GetWafStageRequest, HeadStageResponse, HeadStageResponseHeadStage, LbOriginError, ListBackendStagesRequest, ListBackendStagesRequestOrderBy, ListBackendStagesResponse, ListCacheStagesRequest, ListCacheStagesRequestOrderBy, ListCacheStagesResponse, ListDNSStagesRequest, ListDNSStagesRequestOrderBy, ListDNSStagesResponse, ListHeadStagesRequest, ListHeadStagesResponse, ListHeadStagesResponseHeadStage, ListPipelinesRequest, ListPipelinesRequestOrderBy, ListPipelinesResponse, ListPipelinesWithStagesRequest, ListPipelinesWithStagesRequestOrderBy, ListPipelinesWithStagesResponse, ListPlansResponse, ListPurgeRequestsRequest, ListPurgeRequestsRequestOrderBy, ListPurgeRequestsResponse, ListRouteRulesRequest, ListRouteRulesResponse, ListRouteStagesRequest, ListRouteStagesRequestOrderBy, ListRouteStagesResponse, ListTLSStagesRequest, ListTLSStagesRequestOrderBy, ListTLSStagesResponse, ListWafStagesRequest, ListWafStagesRequestOrderBy, ListWafStagesResponse, Pipeline, PipelineError, PipelineErrorCode, PipelineErrorSeverity, PipelineErrorStage, PipelineErrorType, PipelineStages, PipelineStatus, Plan, PlanDetails, PlanName, PlanUsageDetails, PurgeRequest, PurgeRequestStatus, RouteRule, RouteStage, RuleHttpMatch, RuleHttpMatchMethodFilter, RuleHttpMatchPathFilter, RuleHttpMatchPathFilterPathFilterType, ScalewayLb, ScalewayLbBackendConfig, ScalewayS3BackendConfig, SearchBackendStagesRequest, SearchBackendStagesRequestOrderBy, SelectPlanRequest, SetHeadStageRequest, SetHeadStageRequestAddNewHeadStage, SetHeadStageRequestRemoveHeadStage, SetHeadStageRequestSwapHeadStage, SetRouteRulesRequest, SetRouteRulesRequestRouteRule, SetRouteRulesResponse, TLSSecret, TLSSecretsConfig, TLSStage, UpdateBackendStageRequest, UpdateCacheStageRequest, UpdateDNSStageRequest, UpdatePipelineRequest, UpdateRouteStageRequest, UpdateTLSStageRequest, UpdateWafStageRequest, WafStage, WafStageMode, } from './types.gen';
3
+ export type { AddRouteRulesRequest, AddRouteRulesResponse, BackendStage, CacheStage, CheckDomainRequest, CheckDomainResponse, CheckLbOriginRequest, CheckLbOriginResponse, CheckPEMChainRequest, CheckPEMChainRequestSecretChain, CheckPEMChainResponse, CreateBackendStageRequest, CreateCacheStageRequest, CreateDNSStageRequest, CreatePipelineRequest, CreatePurgeRequestRequest, CreateRouteStageRequest, CreateTLSStageRequest, CreateWafStageRequest, DNSStage, DNSStageType, DeleteBackendStageRequest, DeleteCacheStageRequest, DeleteCurrentPlanRequest, DeleteDNSStageRequest, DeletePipelineRequest, DeleteRouteStageRequest, DeleteTLSStageRequest, DeleteWafStageRequest, GetBackendStageRequest, GetBillingRequest, GetBillingResponse, GetCacheStageRequest, GetCurrentPlanRequest, GetDNSStageRequest, GetPipelineRequest, GetPurgeRequestRequest, GetRouteStageRequest, GetTLSStageRequest, GetWafStageRequest, HeadStageResponse, HeadStageResponseHeadStage, LbOriginError, ListBackendStagesRequest, ListBackendStagesRequestOrderBy, ListBackendStagesResponse, ListCacheStagesRequest, ListCacheStagesRequestOrderBy, ListCacheStagesResponse, ListDNSStagesRequest, ListDNSStagesRequestOrderBy, ListDNSStagesResponse, ListHeadStagesRequest, ListHeadStagesResponse, ListHeadStagesResponseHeadStage, ListPipelinesRequest, ListPipelinesRequestOrderBy, ListPipelinesResponse, ListPipelinesWithStagesRequest, ListPipelinesWithStagesRequestOrderBy, ListPipelinesWithStagesResponse, ListPlansResponse, ListPurgeRequestsRequest, ListPurgeRequestsRequestOrderBy, ListPurgeRequestsResponse, ListRouteRulesRequest, ListRouteRulesResponse, ListRouteStagesRequest, ListRouteStagesRequestOrderBy, ListRouteStagesResponse, ListTLSStagesRequest, ListTLSStagesRequestOrderBy, ListTLSStagesResponse, ListWafStagesRequest, ListWafStagesRequestOrderBy, ListWafStagesResponse, Pipeline, PipelineError, PipelineErrorCode, PipelineErrorSeverity, PipelineErrorStage, PipelineErrorType, PipelineStages, PipelineStatus, Plan, PlanDetails, PlanName, PlanUsageDetails, PurgeRequest, PurgeRequestStatus, RouteRule, RouteStage, RuleHttpMatch, RuleHttpMatchMethodFilter, RuleHttpMatchPathFilter, RuleHttpMatchPathFilterPathFilterType, ScalewayLb, ScalewayLbBackendConfig, ScalewayS3BackendConfig, SearchBackendStagesRequest, SearchBackendStagesRequestOrderBy, SearchWafStagesRequest, SearchWafStagesRequestOrderBy, SelectPlanRequest, SetHeadStageRequest, SetHeadStageRequestAddNewHeadStage, SetHeadStageRequestRemoveHeadStage, SetHeadStageRequestSwapHeadStage, SetRouteRulesRequest, SetRouteRulesRequestRouteRule, SetRouteRulesResponse, TLSSecret, TLSSecretsConfig, TLSStage, UpdateBackendStageRequest, UpdateCacheStageRequest, UpdateDNSStageRequest, UpdatePipelineRequest, UpdateRouteStageRequest, UpdateTLSStageRequest, UpdateWafStageRequest, WafStage, WafStageMode, } from './types.gen';
4
4
  export * as ValidationRules from './validation-rules.gen.js';
@@ -20,6 +20,7 @@ export type PurgeRequestStatus = 'unknown_status' | 'done' | 'error' | 'pending'
20
20
  export type RuleHttpMatchMethodFilter = 'unknown_method_filter' | 'get' | 'post' | 'put' | 'patch' | 'delete' | 'head' | 'options';
21
21
  export type RuleHttpMatchPathFilterPathFilterType = 'unknown_path_filter' | 'regex';
22
22
  export type SearchBackendStagesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
23
+ export type SearchWafStagesRequestOrderBy = 'created_at_asc' | 'created_at_desc';
23
24
  export type WafStageMode = 'unknown_mode' | 'disable' | 'log_only' | 'enable';
24
25
  export interface ScalewayLb {
25
26
  /**
@@ -1218,6 +1219,12 @@ export type SearchBackendStagesRequest = {
1218
1219
  bucketRegion?: string;
1219
1220
  lbId?: string;
1220
1221
  };
1222
+ export type SearchWafStagesRequest = {
1223
+ orderBy?: SearchWafStagesRequestOrderBy;
1224
+ page?: number;
1225
+ pageSize?: number;
1226
+ projectId?: string;
1227
+ };
1221
1228
  export type SelectPlanRequest = {
1222
1229
  projectId?: string;
1223
1230
  planName?: PlanName;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index_gen = require("./v1alpha1/index.gen.cjs");
4
+ exports.v1alpha1 = index_gen;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This file is automatically generated from /scripts/generate.js
3
+ * PLEASE DO NOT EDIT HERE
4
+ */
5
+ export * as v1alpha1 from './v1alpha1/index.gen.js';
@@ -0,0 +1,4 @@
1
+ import * as index_gen from "./v1alpha1/index.gen.js";
2
+ export {
3
+ index_gen as v1alpha1
4
+ };
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../../client/dist/internal/logger/index.cjs");
4
+ const intervalRetrier = require("../../../client/dist/internal/async/interval-retrier.cjs");
5
+ const api = require("../../../client/dist/scw/api.cjs");
6
+ const marshalling = require("../../../client/dist/helpers/marshalling.cjs");
7
+ require("../../../client/dist/vendor/base64/index.cjs");
8
+ const resourcePaginator = require("../../../client/dist/scw/fetch/resource-paginator.cjs");
9
+ const content_gen = require("./content.gen.cjs");
10
+ const marshalling_gen = require("./marshalling.gen.cjs");
11
+ const jsonContentHeaders = {
12
+ "Content-Type": "application/json; charset=utf-8"
13
+ };
14
+ class API extends api.API {
15
+ /** Lists the available regions of the API. */
16
+ static LOCALITIES = ["fr-par"];
17
+ /**
18
+ * Get filesystem details. Retrieve all properties and current status of a specific filesystem identified by its ID.
19
+ *
20
+ * @param request - The request {@link GetFileSystemRequest}
21
+ * @returns A Promise of FileSystem
22
+ */
23
+ getFileSystem = (request) => this.client.fetch(
24
+ {
25
+ method: "GET",
26
+ path: `/file/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems/${marshalling.validatePathParam("filesystemId", request.filesystemId)}`
27
+ },
28
+ marshalling_gen.unmarshalFileSystem
29
+ );
30
+ /**
31
+ * Waits for {@link FileSystem} to be in a final state.
32
+ *
33
+ * @param request - The request {@link GetFileSystemRequest}
34
+ * @param options - The waiting options
35
+ * @returns A Promise of FileSystem
36
+ */
37
+ waitForFileSystem = (request, options) => intervalRetrier.waitForResource(
38
+ options?.stop ?? ((res) => Promise.resolve(
39
+ !content_gen.FILE_SYSTEM_TRANSIENT_STATUSES.includes(res.status)
40
+ )),
41
+ this.getFileSystem,
42
+ request,
43
+ options
44
+ );
45
+ pageOfListFileSystems = (request = {}) => this.client.fetch(
46
+ {
47
+ method: "GET",
48
+ path: `/file/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems`,
49
+ urlParams: marshalling.urlParams(
50
+ ["name", request.name],
51
+ ["order_by", request.orderBy],
52
+ ["page", request.page],
53
+ [
54
+ "page_size",
55
+ request.pageSize ?? this.client.settings.defaultPageSize
56
+ ],
57
+ ["project_id", request.projectId],
58
+ ["tags", request.tags]
59
+ )
60
+ },
61
+ marshalling_gen.unmarshalListFileSystemsResponse
62
+ );
63
+ /**
64
+ * List all filesystems. Retrieve all filesystems in the specified region. Results are ordered by creation date in ascending order by default.
65
+ Use the order_by parameter to modify the sorting behavior.
66
+ *
67
+ * @param request - The request {@link ListFileSystemsRequest}
68
+ * @returns A Promise of ListFileSystemsResponse
69
+ */
70
+ listFileSystems = (request = {}) => resourcePaginator.enrichForPagination("filesystems", this.pageOfListFileSystems, request);
71
+ pageOfListAttachments = (request = {}) => this.client.fetch(
72
+ {
73
+ method: "GET",
74
+ path: `/file/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/attachments`,
75
+ urlParams: marshalling.urlParams(
76
+ ["filesystem_id", request.filesystemId],
77
+ ["page", request.page],
78
+ [
79
+ "page_size",
80
+ request.pageSize ?? this.client.settings.defaultPageSize
81
+ ],
82
+ ["resource_id", request.resourceId],
83
+ ["resource_type", request.resourceType]
84
+ )
85
+ },
86
+ marshalling_gen.unmarshalListAttachmentsResponse
87
+ );
88
+ /**
89
+ * List filesystems attachments. List all existing attachments in a specified region.
90
+ By default, the attachments listed are ordered by creation date in ascending order.
91
+ This can be modified using the `order_by` field.
92
+ *
93
+ * @param request - The request {@link ListAttachmentsRequest}
94
+ * @returns A Promise of ListAttachmentsResponse
95
+ */
96
+ listAttachments = (request = {}) => resourcePaginator.enrichForPagination("attachments", this.pageOfListAttachments, request);
97
+ /**
98
+ * Create a new filesystem. To create a new filesystem, you need to provide a name, a size, and a project ID.
99
+ *
100
+ * @param request - The request {@link CreateFileSystemRequest}
101
+ * @returns A Promise of FileSystem
102
+ */
103
+ createFileSystem = (request) => this.client.fetch(
104
+ {
105
+ body: JSON.stringify(
106
+ marshalling_gen.marshalCreateFileSystemRequest(request, this.client.settings)
107
+ ),
108
+ headers: jsonContentHeaders,
109
+ method: "POST",
110
+ path: `/file/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems`
111
+ },
112
+ marshalling_gen.unmarshalFileSystem
113
+ );
114
+ /**
115
+ * Delete a detached filesystem. You must specify the `filesystem_id` of the filesystem you want to delete.
116
+ *
117
+ * @param request - The request {@link DeleteFileSystemRequest}
118
+ */
119
+ deleteFileSystem = (request) => this.client.fetch({
120
+ method: "DELETE",
121
+ path: `/file/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems/${marshalling.validatePathParam("filesystemId", request.filesystemId)}`
122
+ });
123
+ /**
124
+ * Update filesystem properties. Update the technical details of a filesystem, such as its name, tags or its new size.
125
+ You can only resize a filesystem to a larger size.
126
+ *
127
+ * @param request - The request {@link UpdateFileSystemRequest}
128
+ * @returns A Promise of FileSystem
129
+ */
130
+ updateFileSystem = (request) => this.client.fetch(
131
+ {
132
+ body: JSON.stringify(
133
+ marshalling_gen.marshalUpdateFileSystemRequest(request, this.client.settings)
134
+ ),
135
+ headers: jsonContentHeaders,
136
+ method: "PATCH",
137
+ path: `/file/v1alpha1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems/${marshalling.validatePathParam("filesystemId", request.filesystemId)}`
138
+ },
139
+ marshalling_gen.unmarshalFileSystem
140
+ );
141
+ }
142
+ exports.API = API;
@@ -0,0 +1,73 @@
1
+ import { API as ParentAPI } from '@scaleway/sdk-client';
2
+ import type { Region as ScwRegion, WaitForOptions } from '@scaleway/sdk-client';
3
+ import type { CreateFileSystemRequest, DeleteFileSystemRequest, FileSystem, GetFileSystemRequest, ListAttachmentsRequest, ListAttachmentsResponse, ListFileSystemsRequest, ListFileSystemsResponse, UpdateFileSystemRequest } from './types.gen';
4
+ /**
5
+ * File Storage API.
6
+
7
+ This API allows you to manage your File Storage resources.
8
+ */
9
+ export declare class API extends ParentAPI {
10
+ /** Lists the available regions of the API. */
11
+ static readonly LOCALITIES: ScwRegion[];
12
+ /**
13
+ * Get filesystem details. Retrieve all properties and current status of a specific filesystem identified by its ID.
14
+ *
15
+ * @param request - The request {@link GetFileSystemRequest}
16
+ * @returns A Promise of FileSystem
17
+ */
18
+ getFileSystem: (request: Readonly<GetFileSystemRequest>) => Promise<FileSystem>;
19
+ /**
20
+ * Waits for {@link FileSystem} to be in a final state.
21
+ *
22
+ * @param request - The request {@link GetFileSystemRequest}
23
+ * @param options - The waiting options
24
+ * @returns A Promise of FileSystem
25
+ */
26
+ waitForFileSystem: (request: Readonly<GetFileSystemRequest>, options?: Readonly<WaitForOptions<FileSystem>>) => Promise<FileSystem>;
27
+ protected pageOfListFileSystems: (request?: Readonly<ListFileSystemsRequest>) => Promise<ListFileSystemsResponse>;
28
+ /**
29
+ * List all filesystems. Retrieve all filesystems in the specified region. Results are ordered by creation date in ascending order by default.
30
+ Use the order_by parameter to modify the sorting behavior.
31
+ *
32
+ * @param request - The request {@link ListFileSystemsRequest}
33
+ * @returns A Promise of ListFileSystemsResponse
34
+ */
35
+ listFileSystems: (request?: Readonly<ListFileSystemsRequest>) => Promise<ListFileSystemsResponse> & {
36
+ all: () => Promise<FileSystem[]>;
37
+ [Symbol.asyncIterator]: () => AsyncGenerator<FileSystem[], void, void>;
38
+ };
39
+ protected pageOfListAttachments: (request?: Readonly<ListAttachmentsRequest>) => Promise<ListAttachmentsResponse>;
40
+ /**
41
+ * List filesystems attachments. List all existing attachments in a specified region.
42
+ By default, the attachments listed are ordered by creation date in ascending order.
43
+ This can be modified using the `order_by` field.
44
+ *
45
+ * @param request - The request {@link ListAttachmentsRequest}
46
+ * @returns A Promise of ListAttachmentsResponse
47
+ */
48
+ listAttachments: (request?: Readonly<ListAttachmentsRequest>) => Promise<ListAttachmentsResponse> & {
49
+ all: () => Promise<import("./types.gen").Attachment[]>;
50
+ [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen").Attachment[], void, void>;
51
+ };
52
+ /**
53
+ * Create a new filesystem. To create a new filesystem, you need to provide a name, a size, and a project ID.
54
+ *
55
+ * @param request - The request {@link CreateFileSystemRequest}
56
+ * @returns A Promise of FileSystem
57
+ */
58
+ createFileSystem: (request: Readonly<CreateFileSystemRequest>) => Promise<FileSystem>;
59
+ /**
60
+ * Delete a detached filesystem. You must specify the `filesystem_id` of the filesystem you want to delete.
61
+ *
62
+ * @param request - The request {@link DeleteFileSystemRequest}
63
+ */
64
+ deleteFileSystem: (request: Readonly<DeleteFileSystemRequest>) => Promise<void>;
65
+ /**
66
+ * Update filesystem properties. Update the technical details of a filesystem, such as its name, tags or its new size.
67
+ You can only resize a filesystem to a larger size.
68
+ *
69
+ * @param request - The request {@link UpdateFileSystemRequest}
70
+ * @returns A Promise of FileSystem
71
+ */
72
+ updateFileSystem: (request: Readonly<UpdateFileSystemRequest>) => Promise<FileSystem>;
73
+ }
@@ -0,0 +1,142 @@
1
+ import "../../../client/dist/internal/logger/index.js";
2
+ import { waitForResource } from "../../../client/dist/internal/async/interval-retrier.js";
3
+ import { API as API$1 } from "../../../client/dist/scw/api.js";
4
+ import { validatePathParam, urlParams } from "../../../client/dist/helpers/marshalling.js";
5
+ import "../../../client/dist/vendor/base64/index.js";
6
+ import { enrichForPagination } from "../../../client/dist/scw/fetch/resource-paginator.js";
7
+ import { FILE_SYSTEM_TRANSIENT_STATUSES } from "./content.gen.js";
8
+ import { unmarshalFileSystem, unmarshalListFileSystemsResponse, unmarshalListAttachmentsResponse, marshalCreateFileSystemRequest, marshalUpdateFileSystemRequest } from "./marshalling.gen.js";
9
+ const jsonContentHeaders = {
10
+ "Content-Type": "application/json; charset=utf-8"
11
+ };
12
+ class API extends API$1 {
13
+ /** Lists the available regions of the API. */
14
+ static LOCALITIES = ["fr-par"];
15
+ /**
16
+ * Get filesystem details. Retrieve all properties and current status of a specific filesystem identified by its ID.
17
+ *
18
+ * @param request - The request {@link GetFileSystemRequest}
19
+ * @returns A Promise of FileSystem
20
+ */
21
+ getFileSystem = (request) => this.client.fetch(
22
+ {
23
+ method: "GET",
24
+ path: `/file/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems/${validatePathParam("filesystemId", request.filesystemId)}`
25
+ },
26
+ unmarshalFileSystem
27
+ );
28
+ /**
29
+ * Waits for {@link FileSystem} to be in a final state.
30
+ *
31
+ * @param request - The request {@link GetFileSystemRequest}
32
+ * @param options - The waiting options
33
+ * @returns A Promise of FileSystem
34
+ */
35
+ waitForFileSystem = (request, options) => waitForResource(
36
+ options?.stop ?? ((res) => Promise.resolve(
37
+ !FILE_SYSTEM_TRANSIENT_STATUSES.includes(res.status)
38
+ )),
39
+ this.getFileSystem,
40
+ request,
41
+ options
42
+ );
43
+ pageOfListFileSystems = (request = {}) => this.client.fetch(
44
+ {
45
+ method: "GET",
46
+ path: `/file/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems`,
47
+ urlParams: urlParams(
48
+ ["name", request.name],
49
+ ["order_by", request.orderBy],
50
+ ["page", request.page],
51
+ [
52
+ "page_size",
53
+ request.pageSize ?? this.client.settings.defaultPageSize
54
+ ],
55
+ ["project_id", request.projectId],
56
+ ["tags", request.tags]
57
+ )
58
+ },
59
+ unmarshalListFileSystemsResponse
60
+ );
61
+ /**
62
+ * List all filesystems. Retrieve all filesystems in the specified region. Results are ordered by creation date in ascending order by default.
63
+ Use the order_by parameter to modify the sorting behavior.
64
+ *
65
+ * @param request - The request {@link ListFileSystemsRequest}
66
+ * @returns A Promise of ListFileSystemsResponse
67
+ */
68
+ listFileSystems = (request = {}) => enrichForPagination("filesystems", this.pageOfListFileSystems, request);
69
+ pageOfListAttachments = (request = {}) => this.client.fetch(
70
+ {
71
+ method: "GET",
72
+ path: `/file/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/attachments`,
73
+ urlParams: urlParams(
74
+ ["filesystem_id", request.filesystemId],
75
+ ["page", request.page],
76
+ [
77
+ "page_size",
78
+ request.pageSize ?? this.client.settings.defaultPageSize
79
+ ],
80
+ ["resource_id", request.resourceId],
81
+ ["resource_type", request.resourceType]
82
+ )
83
+ },
84
+ unmarshalListAttachmentsResponse
85
+ );
86
+ /**
87
+ * List filesystems attachments. List all existing attachments in a specified region.
88
+ By default, the attachments listed are ordered by creation date in ascending order.
89
+ This can be modified using the `order_by` field.
90
+ *
91
+ * @param request - The request {@link ListAttachmentsRequest}
92
+ * @returns A Promise of ListAttachmentsResponse
93
+ */
94
+ listAttachments = (request = {}) => enrichForPagination("attachments", this.pageOfListAttachments, request);
95
+ /**
96
+ * Create a new filesystem. To create a new filesystem, you need to provide a name, a size, and a project ID.
97
+ *
98
+ * @param request - The request {@link CreateFileSystemRequest}
99
+ * @returns A Promise of FileSystem
100
+ */
101
+ createFileSystem = (request) => this.client.fetch(
102
+ {
103
+ body: JSON.stringify(
104
+ marshalCreateFileSystemRequest(request, this.client.settings)
105
+ ),
106
+ headers: jsonContentHeaders,
107
+ method: "POST",
108
+ path: `/file/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems`
109
+ },
110
+ unmarshalFileSystem
111
+ );
112
+ /**
113
+ * Delete a detached filesystem. You must specify the `filesystem_id` of the filesystem you want to delete.
114
+ *
115
+ * @param request - The request {@link DeleteFileSystemRequest}
116
+ */
117
+ deleteFileSystem = (request) => this.client.fetch({
118
+ method: "DELETE",
119
+ path: `/file/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems/${validatePathParam("filesystemId", request.filesystemId)}`
120
+ });
121
+ /**
122
+ * Update filesystem properties. Update the technical details of a filesystem, such as its name, tags or its new size.
123
+ You can only resize a filesystem to a larger size.
124
+ *
125
+ * @param request - The request {@link UpdateFileSystemRequest}
126
+ * @returns A Promise of FileSystem
127
+ */
128
+ updateFileSystem = (request) => this.client.fetch(
129
+ {
130
+ body: JSON.stringify(
131
+ marshalUpdateFileSystemRequest(request, this.client.settings)
132
+ ),
133
+ headers: jsonContentHeaders,
134
+ method: "PATCH",
135
+ path: `/file/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/filesystems/${validatePathParam("filesystemId", request.filesystemId)}`
136
+ },
137
+ unmarshalFileSystem
138
+ );
139
+ }
140
+ export {
141
+ API
142
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const FILE_SYSTEM_TRANSIENT_STATUSES = [
4
+ "creating",
5
+ "updating"
6
+ ];
7
+ exports.FILE_SYSTEM_TRANSIENT_STATUSES = FILE_SYSTEM_TRANSIENT_STATUSES;
@@ -0,0 +1,3 @@
1
+ import type { FileSystemStatus } from './types.gen';
2
+ /** Lists transient statutes of the enum {@link FileSystemStatus}. */
3
+ export declare const FILE_SYSTEM_TRANSIENT_STATUSES: FileSystemStatus[];
@@ -0,0 +1,7 @@
1
+ const FILE_SYSTEM_TRANSIENT_STATUSES = [
2
+ "creating",
3
+ "updating"
4
+ ];
5
+ export {
6
+ FILE_SYSTEM_TRANSIENT_STATUSES
7
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const api_gen = require("./api.gen.cjs");
4
+ const content_gen = require("./content.gen.cjs");
5
+ const validationRules_gen = require("./validation-rules.gen.cjs");
6
+ exports.API = api_gen.API;
7
+ exports.FILE_SYSTEM_TRANSIENT_STATUSES = content_gen.FILE_SYSTEM_TRANSIENT_STATUSES;
8
+ exports.ValidationRules = validationRules_gen;
@@ -0,0 +1,4 @@
1
+ export { API } from './api.gen.js';
2
+ export * from './content.gen.js';
3
+ export type { Attachment, AttachmentResourceType, CreateFileSystemRequest, DeleteFileSystemRequest, FileSystem, FileSystemStatus, GetFileSystemRequest, ListAttachmentsRequest, ListAttachmentsResponse, ListFileSystemsRequest, ListFileSystemsRequestOrderBy, ListFileSystemsResponse, UpdateFileSystemRequest, } from './types.gen';
4
+ export * as ValidationRules from './validation-rules.gen.js';
@@ -0,0 +1,8 @@
1
+ import { API } from "./api.gen.js";
2
+ import { FILE_SYSTEM_TRANSIENT_STATUSES } from "./content.gen.js";
3
+ import * as validationRules_gen from "./validation-rules.gen.js";
4
+ export {
5
+ API,
6
+ FILE_SYSTEM_TRANSIENT_STATUSES,
7
+ validationRules_gen as ValidationRules
8
+ };
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../../client/dist/internal/logger/index.cjs");
4
+ const json = require("../../../client/dist/helpers/json.cjs");
5
+ const marshalling = require("../../../client/dist/helpers/marshalling.cjs");
6
+ require("../../../client/dist/vendor/base64/index.cjs");
7
+ const unmarshalFileSystem = (data) => {
8
+ if (!json.isJSONObject(data)) {
9
+ throw new TypeError(
10
+ `Unmarshalling the type 'FileSystem' failed as data isn't a dictionary.`
11
+ );
12
+ }
13
+ return {
14
+ createdAt: marshalling.unmarshalDate(data.created_at),
15
+ id: data.id,
16
+ name: data.name,
17
+ numberOfAttachments: data.number_of_attachments,
18
+ organizationId: data.organization_id,
19
+ projectId: data.project_id,
20
+ region: data.region,
21
+ size: data.size,
22
+ status: data.status,
23
+ tags: data.tags,
24
+ updatedAt: marshalling.unmarshalDate(data.updated_at)
25
+ };
26
+ };
27
+ const unmarshalAttachment = (data) => {
28
+ if (!json.isJSONObject(data)) {
29
+ throw new TypeError(
30
+ `Unmarshalling the type 'Attachment' failed as data isn't a dictionary.`
31
+ );
32
+ }
33
+ return {
34
+ filesystemId: data.filesystem_id,
35
+ id: data.id,
36
+ resourceId: data.resource_id,
37
+ resourceType: data.resource_type
38
+ };
39
+ };
40
+ const unmarshalListAttachmentsResponse = (data) => {
41
+ if (!json.isJSONObject(data)) {
42
+ throw new TypeError(
43
+ `Unmarshalling the type 'ListAttachmentsResponse' failed as data isn't a dictionary.`
44
+ );
45
+ }
46
+ return {
47
+ attachments: marshalling.unmarshalArrayOfObject(data.attachments, unmarshalAttachment),
48
+ totalCount: data.total_count
49
+ };
50
+ };
51
+ const unmarshalListFileSystemsResponse = (data) => {
52
+ if (!json.isJSONObject(data)) {
53
+ throw new TypeError(
54
+ `Unmarshalling the type 'ListFileSystemsResponse' failed as data isn't a dictionary.`
55
+ );
56
+ }
57
+ return {
58
+ filesystems: marshalling.unmarshalArrayOfObject(data.filesystems, unmarshalFileSystem),
59
+ totalCount: data.total_count
60
+ };
61
+ };
62
+ const marshalCreateFileSystemRequest = (request, defaults) => ({
63
+ name: request.name,
64
+ project_id: request.projectId ?? defaults.defaultProjectId,
65
+ size: request.size,
66
+ tags: request.tags
67
+ });
68
+ const marshalUpdateFileSystemRequest = (request, defaults) => ({
69
+ name: request.name,
70
+ size: request.size,
71
+ tags: request.tags
72
+ });
73
+ exports.marshalCreateFileSystemRequest = marshalCreateFileSystemRequest;
74
+ exports.marshalUpdateFileSystemRequest = marshalUpdateFileSystemRequest;
75
+ exports.unmarshalFileSystem = unmarshalFileSystem;
76
+ exports.unmarshalListAttachmentsResponse = unmarshalListAttachmentsResponse;
77
+ exports.unmarshalListFileSystemsResponse = unmarshalListFileSystemsResponse;
@@ -0,0 +1,7 @@
1
+ import type { DefaultValues } from '@scaleway/sdk-client';
2
+ import type { CreateFileSystemRequest, FileSystem, ListAttachmentsResponse, ListFileSystemsResponse, UpdateFileSystemRequest } from './types.gen';
3
+ export declare const unmarshalFileSystem: (data: unknown) => FileSystem;
4
+ export declare const unmarshalListAttachmentsResponse: (data: unknown) => ListAttachmentsResponse;
5
+ export declare const unmarshalListFileSystemsResponse: (data: unknown) => ListFileSystemsResponse;
6
+ export declare const marshalCreateFileSystemRequest: (request: CreateFileSystemRequest, defaults: DefaultValues) => Record<string, unknown>;
7
+ export declare const marshalUpdateFileSystemRequest: (request: UpdateFileSystemRequest, defaults: DefaultValues) => Record<string, unknown>;