@scaleway/sdk 2.69.0 → 2.71.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 (131) hide show
  1. package/dist/api/account/v3/api.gen.cjs +23 -0
  2. package/dist/api/account/v3/api.gen.d.ts +11 -1
  3. package/dist/api/account/v3/api.gen.js +24 -1
  4. package/dist/api/account/v3/index.gen.d.ts +1 -1
  5. package/dist/api/account/v3/marshalling.gen.cjs +171 -0
  6. package/dist/api/account/v3/marshalling.gen.d.ts +3 -1
  7. package/dist/api/account/v3/marshalling.gen.js +173 -2
  8. package/dist/api/account/v3/types.gen.d.ts +93 -0
  9. package/dist/api/applesilicon/v1alpha1/api.gen.cjs +3 -1
  10. package/dist/api/applesilicon/v1alpha1/api.gen.js +3 -1
  11. package/dist/api/applesilicon/v1alpha1/types.gen.d.ts +3 -2
  12. package/dist/api/baremetal/v1/api.gen.cjs +3 -1
  13. package/dist/api/baremetal/v1/api.gen.js +3 -1
  14. package/dist/api/baremetal/v1/marshalling.gen.cjs +4 -2
  15. package/dist/api/baremetal/v1/marshalling.gen.js +4 -2
  16. package/dist/api/baremetal/v1/types.gen.d.ts +65 -64
  17. package/dist/api/block/v1/api.gen.cjs +6 -2
  18. package/dist/api/block/v1/api.gen.js +6 -2
  19. package/dist/api/block/v1alpha1/api.gen.cjs +6 -2
  20. package/dist/api/block/v1alpha1/api.gen.js +6 -2
  21. package/dist/api/block/v1alpha1/marshalling.gen.cjs +0 -1
  22. package/dist/api/block/v1alpha1/marshalling.gen.d.ts +1 -2
  23. package/dist/api/block/v1alpha1/marshalling.gen.js +0 -1
  24. package/dist/api/cockpit/v1/marshalling.gen.cjs +4 -4
  25. package/dist/api/cockpit/v1/marshalling.gen.js +4 -4
  26. package/dist/api/cockpit/v1/types.gen.d.ts +3 -3
  27. package/dist/api/container/v1beta1/api.gen.cjs +18 -6
  28. package/dist/api/container/v1beta1/api.gen.js +18 -6
  29. package/dist/api/dedibox/v1/api.gen.cjs +9 -3
  30. package/dist/api/dedibox/v1/api.gen.js +9 -3
  31. package/dist/api/domain/v2beta1/api.gen.cjs +3 -1
  32. package/dist/api/domain/v2beta1/api.gen.js +3 -1
  33. package/dist/api/edge_services/v1beta1/api.gen.cjs +6 -2
  34. package/dist/api/edge_services/v1beta1/api.gen.js +6 -2
  35. package/dist/api/edge_services/v1beta1/types.gen.d.ts +1 -1
  36. package/dist/api/function/v1beta1/api.gen.cjs +18 -6
  37. package/dist/api/function/v1beta1/api.gen.js +18 -6
  38. package/dist/api/function/v1beta1/types.gen.d.ts +1 -1
  39. package/dist/api/iam/v1alpha1/api.gen.cjs +1 -0
  40. package/dist/api/iam/v1alpha1/api.gen.js +1 -0
  41. package/dist/api/iam/v1alpha1/index.gen.d.ts +1 -1
  42. package/dist/api/iam/v1alpha1/marshalling.gen.cjs +21 -14
  43. package/dist/api/iam/v1alpha1/marshalling.gen.js +21 -14
  44. package/dist/api/iam/v1alpha1/types.gen.d.ts +32 -6
  45. package/dist/api/iam/v1alpha1/validation-rules.gen.cjs +38 -12
  46. package/dist/api/iam/v1alpha1/validation-rules.gen.d.ts +36 -11
  47. package/dist/api/iam/v1alpha1/validation-rules.gen.js +38 -12
  48. package/dist/api/inference/index.gen.cjs +4 -2
  49. package/dist/api/inference/index.gen.d.ts +1 -0
  50. package/dist/api/inference/index.gen.js +4 -2
  51. package/dist/api/inference/v1/api.gen.cjs +278 -0
  52. package/dist/api/inference/v1/api.gen.d.ts +140 -0
  53. package/dist/api/inference/v1/api.gen.js +278 -0
  54. package/dist/api/inference/v1/content.gen.cjs +13 -0
  55. package/dist/api/inference/v1/content.gen.d.ts +5 -0
  56. package/dist/api/inference/v1/content.gen.js +13 -0
  57. package/dist/api/inference/v1/index.gen.cjs +9 -0
  58. package/dist/api/inference/v1/index.gen.d.ts +4 -0
  59. package/dist/api/inference/v1/index.gen.js +9 -0
  60. package/dist/api/inference/v1/marshalling.gen.cjs +260 -0
  61. package/dist/api/inference/v1/marshalling.gen.d.ts +14 -0
  62. package/dist/api/inference/v1/marshalling.gen.js +260 -0
  63. package/dist/api/inference/v1/types.gen.d.ts +397 -0
  64. package/dist/api/inference/v1/validation-rules.gen.cjs +65 -0
  65. package/dist/api/inference/v1/validation-rules.gen.d.ts +57 -0
  66. package/dist/api/inference/v1/validation-rules.gen.js +65 -0
  67. package/dist/api/inference/v1beta1/api.gen.cjs +3 -1
  68. package/dist/api/inference/v1beta1/api.gen.js +3 -1
  69. package/dist/api/instance/v1/index.gen.d.ts +1 -1
  70. package/dist/api/instance/v1/marshalling.gen.cjs +13 -1
  71. package/dist/api/instance/v1/marshalling.gen.js +13 -1
  72. package/dist/api/instance/v1/types.gen.d.ts +10 -2
  73. package/dist/api/k8s/v1/api.gen.cjs +3 -1
  74. package/dist/api/k8s/v1/api.gen.js +3 -1
  75. package/dist/api/k8s/v1/marshalling.gen.cjs +1 -0
  76. package/dist/api/k8s/v1/marshalling.gen.js +1 -0
  77. package/dist/api/k8s/v1/types.gen.d.ts +5 -0
  78. package/dist/api/lb/v1/types.gen.d.ts +3 -3
  79. package/dist/api/mongodb/v1alpha1/api.gen.cjs +6 -2
  80. package/dist/api/mongodb/v1alpha1/api.gen.js +6 -2
  81. package/dist/api/qaas/v1alpha1/api.gen.cjs +6 -2
  82. package/dist/api/qaas/v1alpha1/api.gen.js +6 -2
  83. package/dist/api/rdb/v1/api.gen.cjs +6 -2
  84. package/dist/api/rdb/v1/api.gen.js +6 -2
  85. package/dist/api/redis/v1/api.gen.cjs +3 -1
  86. package/dist/api/redis/v1/api.gen.js +3 -1
  87. package/dist/api/registry/v1/api.gen.cjs +9 -3
  88. package/dist/api/registry/v1/api.gen.js +9 -3
  89. package/dist/api/secret/v1beta1/api.gen.cjs +32 -0
  90. package/dist/api/secret/v1beta1/api.gen.d.ts +17 -1
  91. package/dist/api/secret/v1beta1/api.gen.js +32 -0
  92. package/dist/api/secret/v1beta1/index.gen.d.ts +1 -1
  93. package/dist/api/secret/v1beta1/types.gen.d.ts +17 -0
  94. package/dist/api/serverless_sqldb/v1alpha1/api.gen.cjs +3 -1
  95. package/dist/api/serverless_sqldb/v1alpha1/api.gen.js +3 -1
  96. package/dist/api/tem/v1alpha1/api.gen.cjs +93 -0
  97. package/dist/api/tem/v1alpha1/api.gen.d.ts +44 -1
  98. package/dist/api/tem/v1alpha1/api.gen.js +94 -1
  99. package/dist/api/tem/v1alpha1/index.gen.d.ts +1 -1
  100. package/dist/api/tem/v1alpha1/marshalling.gen.cjs +114 -0
  101. package/dist/api/tem/v1alpha1/marshalling.gen.d.ts +7 -1
  102. package/dist/api/tem/v1alpha1/marshalling.gen.js +114 -0
  103. package/dist/api/tem/v1alpha1/types.gen.d.ts +157 -1
  104. package/dist/api/tem/v1alpha1/validation-rules.gen.cjs +10 -0
  105. package/dist/api/tem/v1alpha1/validation-rules.gen.d.ts +9 -0
  106. package/dist/api/tem/v1alpha1/validation-rules.gen.js +10 -0
  107. package/dist/api/vpc/v2/api.gen.cjs +33 -0
  108. package/dist/api/vpc/v2/api.gen.d.ts +17 -1
  109. package/dist/api/vpc/v2/api.gen.js +34 -1
  110. package/dist/api/vpc/v2/index.gen.d.ts +1 -1
  111. package/dist/api/vpc/v2/marshalling.gen.cjs +59 -0
  112. package/dist/api/vpc/v2/marshalling.gen.d.ts +4 -1
  113. package/dist/api/vpc/v2/marshalling.gen.js +59 -0
  114. package/dist/api/vpc/v2/types.gen.d.ts +80 -0
  115. package/dist/api/vpc/v2/validation-rules.gen.cjs +18 -0
  116. package/dist/api/vpc/v2/validation-rules.gen.d.ts +17 -0
  117. package/dist/api/vpc/v2/validation-rules.gen.js +18 -0
  118. package/dist/api/vpcgw/v1/api.gen.cjs +3 -1
  119. package/dist/api/vpcgw/v1/api.gen.js +3 -1
  120. package/dist/api/vpcgw/v2/api.gen.cjs +3 -1
  121. package/dist/api/vpcgw/v2/api.gen.js +3 -1
  122. package/dist/api/webhosting/v1/api.gen.cjs +6 -2
  123. package/dist/api/webhosting/v1/api.gen.js +6 -2
  124. package/dist/api/webhosting/v1/index.gen.d.ts +1 -1
  125. package/dist/api/webhosting/v1/marshalling.gen.cjs +27 -2
  126. package/dist/api/webhosting/v1/marshalling.gen.js +27 -2
  127. package/dist/api/webhosting/v1/types.gen.d.ts +64 -15
  128. package/dist/scw/constants.cjs +1 -1
  129. package/dist/scw/constants.d.ts +2 -2
  130. package/dist/scw/constants.js +1 -1
  131. package/package.json +2 -2
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const intervalRetrier = require("../../../internal/async/interval-retrier.cjs");
4
+ const api = require("../../../scw/api.cjs");
5
+ const marshalling = require("../../../helpers/marshalling.cjs");
6
+ require("../../../vendor/base64/index.cjs");
7
+ const resourcePaginator = require("../../../scw/fetch/resource-paginator.cjs");
8
+ const content_gen = require("./content.gen.cjs");
9
+ const marshalling_gen = require("./marshalling.gen.cjs");
10
+ const jsonContentHeaders = {
11
+ "Content-Type": "application/json; charset=utf-8"
12
+ };
13
+ class API extends api.API {
14
+ /** Lists the available regions of the API. */
15
+ static LOCALITIES = ["fr-par"];
16
+ pageOfListDeployments = (request = {}) => this.client.fetch(
17
+ {
18
+ method: "GET",
19
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments`,
20
+ urlParams: marshalling.urlParams(
21
+ ["name", request.name],
22
+ ["order_by", request.orderBy],
23
+ ["organization_id", request.organizationId],
24
+ ["page", request.page],
25
+ [
26
+ "page_size",
27
+ request.pageSize ?? this.client.settings.defaultPageSize
28
+ ],
29
+ ["project_id", request.projectId],
30
+ ["tags", request.tags]
31
+ )
32
+ },
33
+ marshalling_gen.unmarshalListDeploymentsResponse
34
+ );
35
+ /**
36
+ * List inference deployments. List all your inference deployments.
37
+ *
38
+ * @param request - The request {@link ListDeploymentsRequest}
39
+ * @returns A Promise of ListDeploymentsResponse
40
+ */
41
+ listDeployments = (request = {}) => resourcePaginator.enrichForPagination("deployments", this.pageOfListDeployments, request);
42
+ /**
43
+ * Get a deployment. Get the deployment for the given ID.
44
+ *
45
+ * @param request - The request {@link GetDeploymentRequest}
46
+ * @returns A Promise of Deployment
47
+ */
48
+ getDeployment = (request) => this.client.fetch(
49
+ {
50
+ method: "GET",
51
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${marshalling.validatePathParam("deploymentId", request.deploymentId)}`
52
+ },
53
+ marshalling_gen.unmarshalDeployment
54
+ );
55
+ /**
56
+ * Waits for {@link Deployment} to be in a final state.
57
+ *
58
+ * @param request - The request {@link GetDeploymentRequest}
59
+ * @param options - The waiting options
60
+ * @returns A Promise of Deployment
61
+ */
62
+ waitForDeployment = (request, options) => intervalRetrier.waitForResource(
63
+ options?.stop ?? ((res) => Promise.resolve(
64
+ !content_gen.DEPLOYMENT_TRANSIENT_STATUSES.includes(res.status)
65
+ )),
66
+ this.getDeployment,
67
+ request,
68
+ options
69
+ );
70
+ /**
71
+ * Create a deployment. Create a new inference deployment related to a
72
+ * specific model.
73
+ *
74
+ * @param request - The request {@link CreateDeploymentRequest}
75
+ * @returns A Promise of Deployment
76
+ */
77
+ createDeployment = (request) => this.client.fetch(
78
+ {
79
+ body: JSON.stringify(
80
+ marshalling_gen.marshalCreateDeploymentRequest(request, this.client.settings)
81
+ ),
82
+ headers: jsonContentHeaders,
83
+ method: "POST",
84
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments`
85
+ },
86
+ marshalling_gen.unmarshalDeployment
87
+ );
88
+ /**
89
+ * Update a deployment. Update an existing inference deployment.
90
+ *
91
+ * @param request - The request {@link UpdateDeploymentRequest}
92
+ * @returns A Promise of Deployment
93
+ */
94
+ updateDeployment = (request) => this.client.fetch(
95
+ {
96
+ body: JSON.stringify(
97
+ marshalling_gen.marshalUpdateDeploymentRequest(request, this.client.settings)
98
+ ),
99
+ headers: jsonContentHeaders,
100
+ method: "PATCH",
101
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${marshalling.validatePathParam("deploymentId", request.deploymentId)}`
102
+ },
103
+ marshalling_gen.unmarshalDeployment
104
+ );
105
+ /**
106
+ * Delete a deployment. Delete an existing inference deployment.
107
+ *
108
+ * @param request - The request {@link DeleteDeploymentRequest}
109
+ * @returns A Promise of Deployment
110
+ */
111
+ deleteDeployment = (request) => this.client.fetch(
112
+ {
113
+ method: "DELETE",
114
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${marshalling.validatePathParam("deploymentId", request.deploymentId)}`
115
+ },
116
+ marshalling_gen.unmarshalDeployment
117
+ );
118
+ /**
119
+ * Get the CA certificate. Get the CA certificate used for the deployment of
120
+ * private endpoints. The CA certificate will be returned as a PEM file.
121
+ *
122
+ * @param request - The request {@link GetDeploymentCertificateRequest}
123
+ * @returns A Promise of Blob
124
+ */
125
+ getDeploymentCertificate = (request) => this.client.fetch({
126
+ method: "GET",
127
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${marshalling.validatePathParam("deploymentId", request.deploymentId)}/certificate`,
128
+ urlParams: marshalling.urlParams(["dl", 1]),
129
+ responseType: "blob"
130
+ });
131
+ /**
132
+ * Create an endpoint. Create a new Endpoint related to a specific deployment.
133
+ *
134
+ * @param request - The request {@link CreateEndpointRequest}
135
+ * @returns A Promise of Endpoint
136
+ */
137
+ createEndpoint = (request) => this.client.fetch(
138
+ {
139
+ body: JSON.stringify(
140
+ marshalling_gen.marshalCreateEndpointRequest(request, this.client.settings)
141
+ ),
142
+ headers: jsonContentHeaders,
143
+ method: "POST",
144
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints`
145
+ },
146
+ marshalling_gen.unmarshalEndpoint
147
+ );
148
+ /**
149
+ * Update an endpoint. Update an existing Endpoint.
150
+ *
151
+ * @param request - The request {@link UpdateEndpointRequest}
152
+ * @returns A Promise of Endpoint
153
+ */
154
+ updateEndpoint = (request) => this.client.fetch(
155
+ {
156
+ body: JSON.stringify(
157
+ marshalling_gen.marshalUpdateEndpointRequest(request, this.client.settings)
158
+ ),
159
+ headers: jsonContentHeaders,
160
+ method: "PATCH",
161
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${marshalling.validatePathParam("endpointId", request.endpointId)}`
162
+ },
163
+ marshalling_gen.unmarshalEndpoint
164
+ );
165
+ /**
166
+ * Delete an endpoint. Delete an existing Endpoint.
167
+ *
168
+ * @param request - The request {@link DeleteEndpointRequest}
169
+ */
170
+ deleteEndpoint = (request) => this.client.fetch({
171
+ method: "DELETE",
172
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${marshalling.validatePathParam("endpointId", request.endpointId)}`
173
+ });
174
+ pageOfListModels = (request = {}) => this.client.fetch(
175
+ {
176
+ method: "GET",
177
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models`,
178
+ urlParams: marshalling.urlParams(
179
+ ["name", request.name],
180
+ ["order_by", request.orderBy],
181
+ ["page", request.page],
182
+ [
183
+ "page_size",
184
+ request.pageSize ?? this.client.settings.defaultPageSize
185
+ ],
186
+ ["project_id", request.projectId],
187
+ ["tags", request.tags]
188
+ )
189
+ },
190
+ marshalling_gen.unmarshalListModelsResponse
191
+ );
192
+ /**
193
+ * List models. List all available models.
194
+ *
195
+ * @param request - The request {@link ListModelsRequest}
196
+ * @returns A Promise of ListModelsResponse
197
+ */
198
+ listModels = (request = {}) => resourcePaginator.enrichForPagination("models", this.pageOfListModels, request);
199
+ /**
200
+ * Get a model. Get the model for the given ID.
201
+ *
202
+ * @param request - The request {@link GetModelRequest}
203
+ * @returns A Promise of Model
204
+ */
205
+ getModel = (request) => this.client.fetch(
206
+ {
207
+ method: "GET",
208
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models/${marshalling.validatePathParam("modelId", request.modelId)}`
209
+ },
210
+ marshalling_gen.unmarshalModel
211
+ );
212
+ /**
213
+ * Waits for {@link Model} to be in a final state.
214
+ *
215
+ * @param request - The request {@link GetModelRequest}
216
+ * @param options - The waiting options
217
+ * @returns A Promise of Model
218
+ */
219
+ waitForModel = (request, options) => intervalRetrier.waitForResource(
220
+ options?.stop ?? ((res) => Promise.resolve(
221
+ !content_gen.MODEL_TRANSIENT_STATUSES.includes(res.status)
222
+ )),
223
+ this.getModel,
224
+ request,
225
+ options
226
+ );
227
+ /**
228
+ * Import a model. Import a new model to your model library.
229
+ *
230
+ * @param request - The request {@link CreateModelRequest}
231
+ * @returns A Promise of Model
232
+ */
233
+ createModel = (request) => this.client.fetch(
234
+ {
235
+ body: JSON.stringify(
236
+ marshalling_gen.marshalCreateModelRequest(request, this.client.settings)
237
+ ),
238
+ headers: jsonContentHeaders,
239
+ method: "POST",
240
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models`
241
+ },
242
+ marshalling_gen.unmarshalModel
243
+ );
244
+ /**
245
+ * Delete a model. Delete an existing model from your model library.
246
+ *
247
+ * @param request - The request {@link DeleteModelRequest}
248
+ */
249
+ deleteModel = (request) => this.client.fetch({
250
+ method: "DELETE",
251
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models/${marshalling.validatePathParam("modelId", request.modelId)}`
252
+ });
253
+ pageOfListNodeTypes = (request) => this.client.fetch(
254
+ {
255
+ method: "GET",
256
+ path: `/inference/v1/regions/${marshalling.validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/node-types`,
257
+ urlParams: marshalling.urlParams(
258
+ ["include_disabled_types", request.includeDisabledTypes],
259
+ ["page", request.page],
260
+ [
261
+ "page_size",
262
+ request.pageSize ?? this.client.settings.defaultPageSize
263
+ ]
264
+ )
265
+ },
266
+ marshalling_gen.unmarshalListNodeTypesResponse
267
+ );
268
+ /**
269
+ * List available node types. List all available node types. By default, the
270
+ * node types returned in the list are ordered by creation date in ascending
271
+ * order, though this can be modified via the `order_by` field.
272
+ *
273
+ * @param request - The request {@link ListNodeTypesRequest}
274
+ * @returns A Promise of ListNodeTypesResponse
275
+ */
276
+ listNodeTypes = (request) => resourcePaginator.enrichForPagination("nodeTypes", this.pageOfListNodeTypes, request);
277
+ }
278
+ exports.API = API;
@@ -0,0 +1,140 @@
1
+ import { API as ParentAPI } from '../../../bridge';
2
+ import type { Region as ScwRegion, WaitForOptions } from '../../../bridge';
3
+ import type { CreateDeploymentRequest, CreateEndpointRequest, CreateModelRequest, DeleteDeploymentRequest, DeleteEndpointRequest, DeleteModelRequest, Deployment, Endpoint, GetDeploymentCertificateRequest, GetDeploymentRequest, GetModelRequest, ListDeploymentsRequest, ListDeploymentsResponse, ListModelsRequest, ListModelsResponse, ListNodeTypesRequest, ListNodeTypesResponse, Model, UpdateDeploymentRequest, UpdateEndpointRequest } from './types.gen';
4
+ /**
5
+ * Managed Inference API.
6
+ *
7
+ * This API allows you to handle your Managed Inference services.
8
+ */
9
+ export declare class API extends ParentAPI {
10
+ /** Lists the available regions of the API. */
11
+ static readonly LOCALITIES: ScwRegion[];
12
+ protected pageOfListDeployments: (request?: Readonly<ListDeploymentsRequest>) => Promise<ListDeploymentsResponse>;
13
+ /**
14
+ * List inference deployments. List all your inference deployments.
15
+ *
16
+ * @param request - The request {@link ListDeploymentsRequest}
17
+ * @returns A Promise of ListDeploymentsResponse
18
+ */
19
+ listDeployments: (request?: Readonly<ListDeploymentsRequest>) => Promise<ListDeploymentsResponse> & {
20
+ all: () => Promise<Deployment[]>;
21
+ [Symbol.asyncIterator]: () => AsyncGenerator<Deployment[], void, void>;
22
+ };
23
+ /**
24
+ * Get a deployment. Get the deployment for the given ID.
25
+ *
26
+ * @param request - The request {@link GetDeploymentRequest}
27
+ * @returns A Promise of Deployment
28
+ */
29
+ getDeployment: (request: Readonly<GetDeploymentRequest>) => Promise<Deployment>;
30
+ /**
31
+ * Waits for {@link Deployment} to be in a final state.
32
+ *
33
+ * @param request - The request {@link GetDeploymentRequest}
34
+ * @param options - The waiting options
35
+ * @returns A Promise of Deployment
36
+ */
37
+ waitForDeployment: (request: Readonly<GetDeploymentRequest>, options?: Readonly<WaitForOptions<Deployment>>) => Promise<Deployment>;
38
+ /**
39
+ * Create a deployment. Create a new inference deployment related to a
40
+ * specific model.
41
+ *
42
+ * @param request - The request {@link CreateDeploymentRequest}
43
+ * @returns A Promise of Deployment
44
+ */
45
+ createDeployment: (request: Readonly<CreateDeploymentRequest>) => Promise<Deployment>;
46
+ /**
47
+ * Update a deployment. Update an existing inference deployment.
48
+ *
49
+ * @param request - The request {@link UpdateDeploymentRequest}
50
+ * @returns A Promise of Deployment
51
+ */
52
+ updateDeployment: (request: Readonly<UpdateDeploymentRequest>) => Promise<Deployment>;
53
+ /**
54
+ * Delete a deployment. Delete an existing inference deployment.
55
+ *
56
+ * @param request - The request {@link DeleteDeploymentRequest}
57
+ * @returns A Promise of Deployment
58
+ */
59
+ deleteDeployment: (request: Readonly<DeleteDeploymentRequest>) => Promise<Deployment>;
60
+ /**
61
+ * Get the CA certificate. Get the CA certificate used for the deployment of
62
+ * private endpoints. The CA certificate will be returned as a PEM file.
63
+ *
64
+ * @param request - The request {@link GetDeploymentCertificateRequest}
65
+ * @returns A Promise of Blob
66
+ */
67
+ getDeploymentCertificate: (request: Readonly<GetDeploymentCertificateRequest>) => Promise<Blob>;
68
+ /**
69
+ * Create an endpoint. Create a new Endpoint related to a specific deployment.
70
+ *
71
+ * @param request - The request {@link CreateEndpointRequest}
72
+ * @returns A Promise of Endpoint
73
+ */
74
+ createEndpoint: (request: Readonly<CreateEndpointRequest>) => Promise<Endpoint>;
75
+ /**
76
+ * Update an endpoint. Update an existing Endpoint.
77
+ *
78
+ * @param request - The request {@link UpdateEndpointRequest}
79
+ * @returns A Promise of Endpoint
80
+ */
81
+ updateEndpoint: (request: Readonly<UpdateEndpointRequest>) => Promise<Endpoint>;
82
+ /**
83
+ * Delete an endpoint. Delete an existing Endpoint.
84
+ *
85
+ * @param request - The request {@link DeleteEndpointRequest}
86
+ */
87
+ deleteEndpoint: (request: Readonly<DeleteEndpointRequest>) => Promise<void>;
88
+ protected pageOfListModels: (request?: Readonly<ListModelsRequest>) => Promise<ListModelsResponse>;
89
+ /**
90
+ * List models. List all available models.
91
+ *
92
+ * @param request - The request {@link ListModelsRequest}
93
+ * @returns A Promise of ListModelsResponse
94
+ */
95
+ listModels: (request?: Readonly<ListModelsRequest>) => Promise<ListModelsResponse> & {
96
+ all: () => Promise<Model[]>;
97
+ [Symbol.asyncIterator]: () => AsyncGenerator<Model[], void, void>;
98
+ };
99
+ /**
100
+ * Get a model. Get the model for the given ID.
101
+ *
102
+ * @param request - The request {@link GetModelRequest}
103
+ * @returns A Promise of Model
104
+ */
105
+ getModel: (request: Readonly<GetModelRequest>) => Promise<Model>;
106
+ /**
107
+ * Waits for {@link Model} to be in a final state.
108
+ *
109
+ * @param request - The request {@link GetModelRequest}
110
+ * @param options - The waiting options
111
+ * @returns A Promise of Model
112
+ */
113
+ waitForModel: (request: Readonly<GetModelRequest>, options?: Readonly<WaitForOptions<Model>>) => Promise<Model>;
114
+ /**
115
+ * Import a model. Import a new model to your model library.
116
+ *
117
+ * @param request - The request {@link CreateModelRequest}
118
+ * @returns A Promise of Model
119
+ */
120
+ createModel: (request: Readonly<CreateModelRequest>) => Promise<Model>;
121
+ /**
122
+ * Delete a model. Delete an existing model from your model library.
123
+ *
124
+ * @param request - The request {@link DeleteModelRequest}
125
+ */
126
+ deleteModel: (request: Readonly<DeleteModelRequest>) => Promise<void>;
127
+ protected pageOfListNodeTypes: (request: Readonly<ListNodeTypesRequest>) => Promise<ListNodeTypesResponse>;
128
+ /**
129
+ * List available node types. List all available node types. By default, the
130
+ * node types returned in the list are ordered by creation date in ascending
131
+ * order, though this can be modified via the `order_by` field.
132
+ *
133
+ * @param request - The request {@link ListNodeTypesRequest}
134
+ * @returns A Promise of ListNodeTypesResponse
135
+ */
136
+ listNodeTypes: (request: Readonly<ListNodeTypesRequest>) => Promise<ListNodeTypesResponse> & {
137
+ all: () => Promise<import("./types.gen").NodeType[]>;
138
+ [Symbol.asyncIterator]: () => AsyncGenerator<import("./types.gen").NodeType[], void, void>;
139
+ };
140
+ }
@@ -0,0 +1,278 @@
1
+ import { waitForResource } from "../../../internal/async/interval-retrier.js";
2
+ import { API as API$1 } from "../../../scw/api.js";
3
+ import { validatePathParam, urlParams } from "../../../helpers/marshalling.js";
4
+ import "../../../vendor/base64/index.js";
5
+ import { enrichForPagination } from "../../../scw/fetch/resource-paginator.js";
6
+ import { DEPLOYMENT_TRANSIENT_STATUSES, MODEL_TRANSIENT_STATUSES } from "./content.gen.js";
7
+ import { unmarshalListDeploymentsResponse, unmarshalDeployment, marshalCreateDeploymentRequest, marshalUpdateDeploymentRequest, marshalCreateEndpointRequest, unmarshalEndpoint, marshalUpdateEndpointRequest, unmarshalListModelsResponse, unmarshalModel, marshalCreateModelRequest, unmarshalListNodeTypesResponse } from "./marshalling.gen.js";
8
+ const jsonContentHeaders = {
9
+ "Content-Type": "application/json; charset=utf-8"
10
+ };
11
+ class API extends API$1 {
12
+ /** Lists the available regions of the API. */
13
+ static LOCALITIES = ["fr-par"];
14
+ pageOfListDeployments = (request = {}) => this.client.fetch(
15
+ {
16
+ method: "GET",
17
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments`,
18
+ urlParams: urlParams(
19
+ ["name", request.name],
20
+ ["order_by", request.orderBy],
21
+ ["organization_id", request.organizationId],
22
+ ["page", request.page],
23
+ [
24
+ "page_size",
25
+ request.pageSize ?? this.client.settings.defaultPageSize
26
+ ],
27
+ ["project_id", request.projectId],
28
+ ["tags", request.tags]
29
+ )
30
+ },
31
+ unmarshalListDeploymentsResponse
32
+ );
33
+ /**
34
+ * List inference deployments. List all your inference deployments.
35
+ *
36
+ * @param request - The request {@link ListDeploymentsRequest}
37
+ * @returns A Promise of ListDeploymentsResponse
38
+ */
39
+ listDeployments = (request = {}) => enrichForPagination("deployments", this.pageOfListDeployments, request);
40
+ /**
41
+ * Get a deployment. Get the deployment for the given ID.
42
+ *
43
+ * @param request - The request {@link GetDeploymentRequest}
44
+ * @returns A Promise of Deployment
45
+ */
46
+ getDeployment = (request) => this.client.fetch(
47
+ {
48
+ method: "GET",
49
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${validatePathParam("deploymentId", request.deploymentId)}`
50
+ },
51
+ unmarshalDeployment
52
+ );
53
+ /**
54
+ * Waits for {@link Deployment} to be in a final state.
55
+ *
56
+ * @param request - The request {@link GetDeploymentRequest}
57
+ * @param options - The waiting options
58
+ * @returns A Promise of Deployment
59
+ */
60
+ waitForDeployment = (request, options) => waitForResource(
61
+ options?.stop ?? ((res) => Promise.resolve(
62
+ !DEPLOYMENT_TRANSIENT_STATUSES.includes(res.status)
63
+ )),
64
+ this.getDeployment,
65
+ request,
66
+ options
67
+ );
68
+ /**
69
+ * Create a deployment. Create a new inference deployment related to a
70
+ * specific model.
71
+ *
72
+ * @param request - The request {@link CreateDeploymentRequest}
73
+ * @returns A Promise of Deployment
74
+ */
75
+ createDeployment = (request) => this.client.fetch(
76
+ {
77
+ body: JSON.stringify(
78
+ marshalCreateDeploymentRequest(request, this.client.settings)
79
+ ),
80
+ headers: jsonContentHeaders,
81
+ method: "POST",
82
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments`
83
+ },
84
+ unmarshalDeployment
85
+ );
86
+ /**
87
+ * Update a deployment. Update an existing inference deployment.
88
+ *
89
+ * @param request - The request {@link UpdateDeploymentRequest}
90
+ * @returns A Promise of Deployment
91
+ */
92
+ updateDeployment = (request) => this.client.fetch(
93
+ {
94
+ body: JSON.stringify(
95
+ marshalUpdateDeploymentRequest(request, this.client.settings)
96
+ ),
97
+ headers: jsonContentHeaders,
98
+ method: "PATCH",
99
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${validatePathParam("deploymentId", request.deploymentId)}`
100
+ },
101
+ unmarshalDeployment
102
+ );
103
+ /**
104
+ * Delete a deployment. Delete an existing inference deployment.
105
+ *
106
+ * @param request - The request {@link DeleteDeploymentRequest}
107
+ * @returns A Promise of Deployment
108
+ */
109
+ deleteDeployment = (request) => this.client.fetch(
110
+ {
111
+ method: "DELETE",
112
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${validatePathParam("deploymentId", request.deploymentId)}`
113
+ },
114
+ unmarshalDeployment
115
+ );
116
+ /**
117
+ * Get the CA certificate. Get the CA certificate used for the deployment of
118
+ * private endpoints. The CA certificate will be returned as a PEM file.
119
+ *
120
+ * @param request - The request {@link GetDeploymentCertificateRequest}
121
+ * @returns A Promise of Blob
122
+ */
123
+ getDeploymentCertificate = (request) => this.client.fetch({
124
+ method: "GET",
125
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/deployments/${validatePathParam("deploymentId", request.deploymentId)}/certificate`,
126
+ urlParams: urlParams(["dl", 1]),
127
+ responseType: "blob"
128
+ });
129
+ /**
130
+ * Create an endpoint. Create a new Endpoint related to a specific deployment.
131
+ *
132
+ * @param request - The request {@link CreateEndpointRequest}
133
+ * @returns A Promise of Endpoint
134
+ */
135
+ createEndpoint = (request) => this.client.fetch(
136
+ {
137
+ body: JSON.stringify(
138
+ marshalCreateEndpointRequest(request, this.client.settings)
139
+ ),
140
+ headers: jsonContentHeaders,
141
+ method: "POST",
142
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints`
143
+ },
144
+ unmarshalEndpoint
145
+ );
146
+ /**
147
+ * Update an endpoint. Update an existing Endpoint.
148
+ *
149
+ * @param request - The request {@link UpdateEndpointRequest}
150
+ * @returns A Promise of Endpoint
151
+ */
152
+ updateEndpoint = (request) => this.client.fetch(
153
+ {
154
+ body: JSON.stringify(
155
+ marshalUpdateEndpointRequest(request, this.client.settings)
156
+ ),
157
+ headers: jsonContentHeaders,
158
+ method: "PATCH",
159
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam("endpointId", request.endpointId)}`
160
+ },
161
+ unmarshalEndpoint
162
+ );
163
+ /**
164
+ * Delete an endpoint. Delete an existing Endpoint.
165
+ *
166
+ * @param request - The request {@link DeleteEndpointRequest}
167
+ */
168
+ deleteEndpoint = (request) => this.client.fetch({
169
+ method: "DELETE",
170
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/endpoints/${validatePathParam("endpointId", request.endpointId)}`
171
+ });
172
+ pageOfListModels = (request = {}) => this.client.fetch(
173
+ {
174
+ method: "GET",
175
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models`,
176
+ urlParams: urlParams(
177
+ ["name", request.name],
178
+ ["order_by", request.orderBy],
179
+ ["page", request.page],
180
+ [
181
+ "page_size",
182
+ request.pageSize ?? this.client.settings.defaultPageSize
183
+ ],
184
+ ["project_id", request.projectId],
185
+ ["tags", request.tags]
186
+ )
187
+ },
188
+ unmarshalListModelsResponse
189
+ );
190
+ /**
191
+ * List models. List all available models.
192
+ *
193
+ * @param request - The request {@link ListModelsRequest}
194
+ * @returns A Promise of ListModelsResponse
195
+ */
196
+ listModels = (request = {}) => enrichForPagination("models", this.pageOfListModels, request);
197
+ /**
198
+ * Get a model. Get the model for the given ID.
199
+ *
200
+ * @param request - The request {@link GetModelRequest}
201
+ * @returns A Promise of Model
202
+ */
203
+ getModel = (request) => this.client.fetch(
204
+ {
205
+ method: "GET",
206
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models/${validatePathParam("modelId", request.modelId)}`
207
+ },
208
+ unmarshalModel
209
+ );
210
+ /**
211
+ * Waits for {@link Model} to be in a final state.
212
+ *
213
+ * @param request - The request {@link GetModelRequest}
214
+ * @param options - The waiting options
215
+ * @returns A Promise of Model
216
+ */
217
+ waitForModel = (request, options) => waitForResource(
218
+ options?.stop ?? ((res) => Promise.resolve(
219
+ !MODEL_TRANSIENT_STATUSES.includes(res.status)
220
+ )),
221
+ this.getModel,
222
+ request,
223
+ options
224
+ );
225
+ /**
226
+ * Import a model. Import a new model to your model library.
227
+ *
228
+ * @param request - The request {@link CreateModelRequest}
229
+ * @returns A Promise of Model
230
+ */
231
+ createModel = (request) => this.client.fetch(
232
+ {
233
+ body: JSON.stringify(
234
+ marshalCreateModelRequest(request, this.client.settings)
235
+ ),
236
+ headers: jsonContentHeaders,
237
+ method: "POST",
238
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models`
239
+ },
240
+ unmarshalModel
241
+ );
242
+ /**
243
+ * Delete a model. Delete an existing model from your model library.
244
+ *
245
+ * @param request - The request {@link DeleteModelRequest}
246
+ */
247
+ deleteModel = (request) => this.client.fetch({
248
+ method: "DELETE",
249
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/models/${validatePathParam("modelId", request.modelId)}`
250
+ });
251
+ pageOfListNodeTypes = (request) => this.client.fetch(
252
+ {
253
+ method: "GET",
254
+ path: `/inference/v1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/node-types`,
255
+ urlParams: urlParams(
256
+ ["include_disabled_types", request.includeDisabledTypes],
257
+ ["page", request.page],
258
+ [
259
+ "page_size",
260
+ request.pageSize ?? this.client.settings.defaultPageSize
261
+ ]
262
+ )
263
+ },
264
+ unmarshalListNodeTypesResponse
265
+ );
266
+ /**
267
+ * List available node types. List all available node types. By default, the
268
+ * node types returned in the list are ordered by creation date in ascending
269
+ * order, though this can be modified via the `order_by` field.
270
+ *
271
+ * @param request - The request {@link ListNodeTypesRequest}
272
+ * @returns A Promise of ListNodeTypesResponse
273
+ */
274
+ listNodeTypes = (request) => enrichForPagination("nodeTypes", this.pageOfListNodeTypes, request);
275
+ }
276
+ export {
277
+ API
278
+ };