plato-sandbox-sdk 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BaseClient.ts +28 -0
- package/Client.ts +1849 -0
- package/README.md +339 -0
- package/api/client/index.ts +1 -0
- package/api/client/requests/CreateSandboxRequest.ts +37 -0
- package/api/client/requests/CreateSnapshotRequest.ts +11 -0
- package/api/client/requests/EvaluateRequest.ts +9 -0
- package/api/client/requests/GetEnvironmentStateRequest.ts +11 -0
- package/api/client/requests/GetTestCasesRequest.ts +15 -0
- package/api/client/requests/LogRequest.ts +19 -0
- package/api/client/requests/MakeEnvironmentRequest.ts +27 -0
- package/api/client/requests/PostEvaluationResultRequest.ts +14 -0
- package/api/client/requests/ResetEnvironmentRequest.ts +11 -0
- package/api/client/requests/SetupRootAccessRequest.ts +14 -0
- package/api/client/requests/SetupSandboxRequest.ts +29 -0
- package/api/client/requests/StartWorkerRequest.ts +28 -0
- package/api/client/requests/index.ts +12 -0
- package/api/errors/BadRequestError.ts +17 -0
- package/api/errors/index.ts +1 -0
- package/api/index.ts +3 -0
- package/api/types/ActiveSessionResponse.ts +6 -0
- package/api/types/BackupEnvironmentResponse.ts +7 -0
- package/api/types/CdpUrlResponse.ts +12 -0
- package/api/types/CloseEnvironmentResponse.ts +6 -0
- package/api/types/CreateSandboxResponse.ts +14 -0
- package/api/types/CreateSnapshotResponse.ts +10 -0
- package/api/types/DeleteSandboxResponse.ts +6 -0
- package/api/types/Environment.ts +7 -0
- package/api/types/EnvironmentStateResponse.ts +11 -0
- package/api/types/ErrorResponse.ts +6 -0
- package/api/types/EvaluateResponse.ts +21 -0
- package/api/types/EvaluationResult.ts +9 -0
- package/api/types/HeartbeatResponse.ts +6 -0
- package/api/types/JobStatusResponse.ts +7 -0
- package/api/types/LogResponse.ts +5 -0
- package/api/types/MakeEnvironmentResponse.ts +6 -0
- package/api/types/OperationEvent.ts +42 -0
- package/api/types/PlatoConfig.ts +8 -0
- package/api/types/PlatoTask.ts +21 -0
- package/api/types/PlatoTaskMetadata.ts +20 -0
- package/api/types/PostEvaluationResultResponse.ts +6 -0
- package/api/types/ProxyUrlResponse.ts +12 -0
- package/api/types/ResetEnvironmentResponse.ts +13 -0
- package/api/types/RunningSessionsCountResponse.ts +6 -0
- package/api/types/Sandbox.ts +10 -0
- package/api/types/ScoringType.ts +7 -0
- package/api/types/SetupRootAccessResponse.ts +7 -0
- package/api/types/SetupSandboxResponse.ts +6 -0
- package/api/types/SimConfigCompute.ts +9 -0
- package/api/types/SimConfigDataset.ts +10 -0
- package/api/types/SimConfigListener.ts +27 -0
- package/api/types/SimConfigMetadata.ts +14 -0
- package/api/types/SimConfigService.ts +8 -0
- package/api/types/Simulator.ts +10 -0
- package/api/types/SimulatorListItem.ts +7 -0
- package/api/types/SshInfo.ts +18 -0
- package/api/types/StartWorkerResponse.ts +7 -0
- package/api/types/TaskMetadata.ts +20 -0
- package/api/types/TestCase.ts +40 -0
- package/api/types/TestCasesResponse.ts +10 -0
- package/api/types/Variable.ts +6 -0
- package/api/types/WorkerReadyResponse.ts +9 -0
- package/api/types/index.ts +42 -0
- package/core/fetcher/APIResponse.ts +23 -0
- package/core/fetcher/BinaryResponse.ts +36 -0
- package/core/fetcher/EndpointMetadata.ts +13 -0
- package/core/fetcher/EndpointSupplier.ts +14 -0
- package/core/fetcher/Fetcher.ts +165 -0
- package/core/fetcher/Headers.ts +93 -0
- package/core/fetcher/HttpResponsePromise.ts +116 -0
- package/core/fetcher/RawResponse.ts +61 -0
- package/core/fetcher/ResponseWithBody.ts +7 -0
- package/core/fetcher/Supplier.ts +11 -0
- package/core/fetcher/createRequestUrl.ts +6 -0
- package/core/fetcher/getErrorResponseBody.ts +33 -0
- package/core/fetcher/getFetchFn.ts +3 -0
- package/core/fetcher/getHeader.ts +8 -0
- package/core/fetcher/getRequestBody.ts +16 -0
- package/core/fetcher/getResponseBody.ts +43 -0
- package/core/fetcher/index.ts +11 -0
- package/core/fetcher/makeRequest.ts +44 -0
- package/core/fetcher/requestWithRetries.ts +73 -0
- package/core/fetcher/signals.ts +38 -0
- package/core/headers.ts +33 -0
- package/core/index.ts +4 -0
- package/core/json.ts +27 -0
- package/core/runtime/index.ts +1 -0
- package/core/runtime/runtime.ts +133 -0
- package/core/stream/Stream.ts +155 -0
- package/core/stream/index.ts +1 -0
- package/core/url/encodePathParam.ts +18 -0
- package/core/url/index.ts +3 -0
- package/core/url/join.ts +80 -0
- package/core/url/qs.ts +74 -0
- package/dist/BaseClient.d.ts +25 -0
- package/dist/Client.d.ts +376 -0
- package/dist/api/client/index.d.ts +2 -0
- package/dist/api/client/requests/CreateSandboxRequest.d.ts +35 -0
- package/dist/api/client/requests/CreateSnapshotRequest.d.ts +10 -0
- package/dist/api/client/requests/EvaluateRequest.d.ts +8 -0
- package/dist/api/client/requests/GetEnvironmentStateRequest.d.ts +10 -0
- package/dist/api/client/requests/GetTestCasesRequest.d.ts +14 -0
- package/dist/api/client/requests/LogRequest.d.ts +18 -0
- package/dist/api/client/requests/MakeEnvironmentRequest.d.ts +26 -0
- package/dist/api/client/requests/PostEvaluationResultRequest.d.ts +13 -0
- package/dist/api/client/requests/ResetEnvironmentRequest.d.ts +10 -0
- package/dist/api/client/requests/SetupRootAccessRequest.d.ts +13 -0
- package/dist/api/client/requests/SetupSandboxRequest.d.ts +27 -0
- package/dist/api/client/requests/StartWorkerRequest.d.ts +26 -0
- package/dist/api/client/requests/index.d.ts +13 -0
- package/dist/api/errors/BadRequestError.d.ts +7 -0
- package/dist/api/errors/index.d.ts +2 -0
- package/dist/api/index.d.ts +4 -0
- package/dist/api/types/ActiveSessionResponse.d.ts +5 -0
- package/dist/api/types/BackupEnvironmentResponse.d.ts +6 -0
- package/dist/api/types/CdpUrlResponse.d.ts +10 -0
- package/dist/api/types/CloseEnvironmentResponse.d.ts +5 -0
- package/dist/api/types/CreateSandboxResponse.d.ts +13 -0
- package/dist/api/types/CreateSnapshotResponse.d.ts +9 -0
- package/dist/api/types/DeleteSandboxResponse.d.ts +5 -0
- package/dist/api/types/Environment.d.ts +6 -0
- package/dist/api/types/EnvironmentStateResponse.d.ts +9 -0
- package/dist/api/types/ErrorResponse.d.ts +5 -0
- package/dist/api/types/EvaluateResponse.d.ts +18 -0
- package/dist/api/types/EvaluationResult.d.ts +8 -0
- package/dist/api/types/HeartbeatResponse.d.ts +5 -0
- package/dist/api/types/JobStatusResponse.d.ts +6 -0
- package/dist/api/types/LogResponse.d.ts +4 -0
- package/dist/api/types/MakeEnvironmentResponse.d.ts +5 -0
- package/dist/api/types/OperationEvent.d.ts +40 -0
- package/dist/api/types/PlatoConfig.d.ts +6 -0
- package/dist/api/types/PlatoTask.d.ts +19 -0
- package/dist/api/types/PlatoTaskMetadata.d.ts +18 -0
- package/dist/api/types/PostEvaluationResultResponse.d.ts +5 -0
- package/dist/api/types/ProxyUrlResponse.d.ts +10 -0
- package/dist/api/types/ResetEnvironmentResponse.d.ts +11 -0
- package/dist/api/types/RunningSessionsCountResponse.d.ts +5 -0
- package/dist/api/types/Sandbox.d.ts +9 -0
- package/dist/api/types/ScoringType.d.ts +6 -0
- package/dist/api/types/SetupRootAccessResponse.d.ts +6 -0
- package/dist/api/types/SetupSandboxResponse.d.ts +5 -0
- package/dist/api/types/SimConfigCompute.d.ts +8 -0
- package/dist/api/types/SimConfigDataset.d.ts +8 -0
- package/dist/api/types/SimConfigListener.d.ts +25 -0
- package/dist/api/types/SimConfigMetadata.d.ts +12 -0
- package/dist/api/types/SimConfigService.d.ts +7 -0
- package/dist/api/types/Simulator.d.ts +9 -0
- package/dist/api/types/SimulatorListItem.d.ts +6 -0
- package/dist/api/types/SshInfo.d.ts +17 -0
- package/dist/api/types/StartWorkerResponse.d.ts +6 -0
- package/dist/api/types/TaskMetadata.d.ts +18 -0
- package/dist/api/types/TestCase.d.ts +34 -0
- package/dist/api/types/TestCasesResponse.d.ts +8 -0
- package/dist/api/types/Variable.d.ts +5 -0
- package/dist/api/types/WorkerReadyResponse.d.ts +8 -0
- package/dist/api/types/index.d.ts +43 -0
- package/dist/core/fetcher/APIResponse.d.ts +21 -0
- package/dist/core/fetcher/BinaryResponse.d.ts +21 -0
- package/dist/core/fetcher/EndpointMetadata.d.ts +14 -0
- package/dist/core/fetcher/EndpointSupplier.d.ts +13 -0
- package/dist/core/fetcher/Fetcher.d.ts +43 -0
- package/dist/core/fetcher/Headers.d.ts +3 -0
- package/dist/core/fetcher/HttpResponsePromise.d.ts +59 -0
- package/dist/core/fetcher/RawResponse.d.ts +30 -0
- package/dist/core/fetcher/ResponseWithBody.d.ts +5 -0
- package/dist/core/fetcher/Supplier.d.ts +5 -0
- package/dist/core/fetcher/createRequestUrl.d.ts +2 -0
- package/dist/core/fetcher/getErrorResponseBody.d.ts +2 -0
- package/dist/core/fetcher/getFetchFn.d.ts +2 -0
- package/dist/core/fetcher/getHeader.d.ts +2 -0
- package/dist/core/fetcher/getRequestBody.d.ts +8 -0
- package/dist/core/fetcher/getResponseBody.d.ts +2 -0
- package/dist/core/fetcher/index.d.ts +12 -0
- package/dist/core/fetcher/makeRequest.d.ts +2 -0
- package/dist/core/fetcher/requestWithRetries.d.ts +2 -0
- package/dist/core/fetcher/signals.d.ts +12 -0
- package/dist/core/headers.d.ts +3 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/json.d.ts +16 -0
- package/dist/core/runtime/index.d.ts +2 -0
- package/dist/core/runtime/runtime.d.ts +10 -0
- package/dist/core/stream/Stream.d.ts +48 -0
- package/dist/core/stream/index.d.ts +2 -0
- package/dist/core/url/encodePathParam.d.ts +2 -0
- package/dist/core/url/index.d.ts +4 -0
- package/dist/core/url/join.d.ts +2 -0
- package/dist/core/url/qs.d.ts +7 -0
- package/dist/errors/ApiError.d.ts +13 -0
- package/dist/errors/ApiTimeoutError.d.ts +4 -0
- package/dist/errors/index.d.ts +3 -0
- package/dist/helpers/SandboxHelpers.d.ts +127 -0
- package/dist/helpers/SandboxMonitor.d.ts +89 -0
- package/dist/helpers/index.d.ts +9 -0
- package/dist/index.d.ts +6 -0
- package/errors/ApiError.ts +53 -0
- package/errors/ApiTimeoutError.ts +8 -0
- package/errors/index.ts +2 -0
- package/helpers/README.md +229 -0
- package/helpers/SandboxHelpers.ts +213 -0
- package/helpers/SandboxMonitor.ts +252 -0
- package/helpers/index.ts +10 -0
- package/index.ts +7 -0
- package/package.json +54 -0
package/Client.ts
ADDED
|
@@ -0,0 +1,1849 @@
|
|
|
1
|
+
// This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import * as Api from "./api/index.js";
|
|
4
|
+
import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js";
|
|
5
|
+
import { mergeHeaders } from "./core/headers.js";
|
|
6
|
+
import * as core from "./core/index.js";
|
|
7
|
+
import * as errors from "./errors/index.js";
|
|
8
|
+
|
|
9
|
+
export declare namespace ApiClient {
|
|
10
|
+
export interface Options extends BaseClientOptions {}
|
|
11
|
+
|
|
12
|
+
export interface RequestOptions extends BaseRequestOptions {}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class ApiClient {
|
|
16
|
+
protected readonly _options: ApiClient.Options;
|
|
17
|
+
|
|
18
|
+
constructor(_options: ApiClient.Options) {
|
|
19
|
+
this._options = {
|
|
20
|
+
..._options,
|
|
21
|
+
headers: mergeHeaders(
|
|
22
|
+
{
|
|
23
|
+
"X-Fern-Language": "JavaScript",
|
|
24
|
+
"X-Fern-Runtime": core.RUNTIME.type,
|
|
25
|
+
"X-Fern-Runtime-Version": core.RUNTIME.version,
|
|
26
|
+
},
|
|
27
|
+
_options?.headers,
|
|
28
|
+
),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @param {Api.MakeEnvironmentRequest} request
|
|
34
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
35
|
+
*
|
|
36
|
+
* @throws {@link Api.BadRequestError}
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* await client.makeEnvironment({
|
|
40
|
+
* interface_type: "interface_type",
|
|
41
|
+
* env_id: "env_id"
|
|
42
|
+
* })
|
|
43
|
+
*/
|
|
44
|
+
public makeEnvironment(
|
|
45
|
+
request: Api.MakeEnvironmentRequest,
|
|
46
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
47
|
+
): core.HttpResponsePromise<Api.MakeEnvironmentResponse> {
|
|
48
|
+
return core.HttpResponsePromise.fromPromise(this.__makeEnvironment(request, requestOptions));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
private async __makeEnvironment(
|
|
52
|
+
request: Api.MakeEnvironmentRequest,
|
|
53
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
54
|
+
): Promise<core.WithRawResponse<Api.MakeEnvironmentResponse>> {
|
|
55
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
56
|
+
const _response = await core.fetcher({
|
|
57
|
+
url: core.url.join(
|
|
58
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
59
|
+
(await core.Supplier.get(this._options.environment)),
|
|
60
|
+
"env/make2",
|
|
61
|
+
),
|
|
62
|
+
method: "POST",
|
|
63
|
+
headers: _headers,
|
|
64
|
+
contentType: "application/json",
|
|
65
|
+
queryParameters: requestOptions?.queryParams,
|
|
66
|
+
requestType: "json",
|
|
67
|
+
body: request,
|
|
68
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
69
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
70
|
+
abortSignal: requestOptions?.abortSignal,
|
|
71
|
+
});
|
|
72
|
+
if (_response.ok) {
|
|
73
|
+
return { data: _response.body as Api.MakeEnvironmentResponse, rawResponse: _response.rawResponse };
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (_response.error.reason === "status-code") {
|
|
77
|
+
switch (_response.error.statusCode) {
|
|
78
|
+
case 400:
|
|
79
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
80
|
+
default:
|
|
81
|
+
throw new errors.ApiError({
|
|
82
|
+
statusCode: _response.error.statusCode,
|
|
83
|
+
body: _response.error.body,
|
|
84
|
+
rawResponse: _response.rawResponse,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
switch (_response.error.reason) {
|
|
90
|
+
case "non-json":
|
|
91
|
+
throw new errors.ApiError({
|
|
92
|
+
statusCode: _response.error.statusCode,
|
|
93
|
+
body: _response.error.rawBody,
|
|
94
|
+
rawResponse: _response.rawResponse,
|
|
95
|
+
});
|
|
96
|
+
case "timeout":
|
|
97
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/make2.");
|
|
98
|
+
case "unknown":
|
|
99
|
+
throw new errors.ApiError({
|
|
100
|
+
message: _response.error.errorMessage,
|
|
101
|
+
rawResponse: _response.rawResponse,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @param {string} jobId
|
|
108
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
109
|
+
*
|
|
110
|
+
* @throws {@link Api.BadRequestError}
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* await client.getJobStatus("job_id")
|
|
114
|
+
*/
|
|
115
|
+
public getJobStatus(
|
|
116
|
+
jobId: string,
|
|
117
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
118
|
+
): core.HttpResponsePromise<Api.JobStatusResponse> {
|
|
119
|
+
return core.HttpResponsePromise.fromPromise(this.__getJobStatus(jobId, requestOptions));
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
private async __getJobStatus(
|
|
123
|
+
jobId: string,
|
|
124
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
125
|
+
): Promise<core.WithRawResponse<Api.JobStatusResponse>> {
|
|
126
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
127
|
+
const _response = await core.fetcher({
|
|
128
|
+
url: core.url.join(
|
|
129
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
130
|
+
(await core.Supplier.get(this._options.environment)),
|
|
131
|
+
`env/${core.url.encodePathParam(jobId)}/status`,
|
|
132
|
+
),
|
|
133
|
+
method: "GET",
|
|
134
|
+
headers: _headers,
|
|
135
|
+
queryParameters: requestOptions?.queryParams,
|
|
136
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
137
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
138
|
+
abortSignal: requestOptions?.abortSignal,
|
|
139
|
+
});
|
|
140
|
+
if (_response.ok) {
|
|
141
|
+
return { data: _response.body as Api.JobStatusResponse, rawResponse: _response.rawResponse };
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (_response.error.reason === "status-code") {
|
|
145
|
+
switch (_response.error.statusCode) {
|
|
146
|
+
case 400:
|
|
147
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
148
|
+
default:
|
|
149
|
+
throw new errors.ApiError({
|
|
150
|
+
statusCode: _response.error.statusCode,
|
|
151
|
+
body: _response.error.body,
|
|
152
|
+
rawResponse: _response.rawResponse,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
switch (_response.error.reason) {
|
|
158
|
+
case "non-json":
|
|
159
|
+
throw new errors.ApiError({
|
|
160
|
+
statusCode: _response.error.statusCode,
|
|
161
|
+
body: _response.error.rawBody,
|
|
162
|
+
rawResponse: _response.rawResponse,
|
|
163
|
+
});
|
|
164
|
+
case "timeout":
|
|
165
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/{job_id}/status.");
|
|
166
|
+
case "unknown":
|
|
167
|
+
throw new errors.ApiError({
|
|
168
|
+
message: _response.error.errorMessage,
|
|
169
|
+
rawResponse: _response.rawResponse,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* @param {string} jobId
|
|
176
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
177
|
+
*
|
|
178
|
+
* @throws {@link Api.BadRequestError}
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* await client.getCdpUrl("job_id")
|
|
182
|
+
*/
|
|
183
|
+
public getCdpUrl(
|
|
184
|
+
jobId: string,
|
|
185
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
186
|
+
): core.HttpResponsePromise<Api.CdpUrlResponse> {
|
|
187
|
+
return core.HttpResponsePromise.fromPromise(this.__getCdpUrl(jobId, requestOptions));
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
private async __getCdpUrl(
|
|
191
|
+
jobId: string,
|
|
192
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
193
|
+
): Promise<core.WithRawResponse<Api.CdpUrlResponse>> {
|
|
194
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
195
|
+
const _response = await core.fetcher({
|
|
196
|
+
url: core.url.join(
|
|
197
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
198
|
+
(await core.Supplier.get(this._options.environment)),
|
|
199
|
+
`env/${core.url.encodePathParam(jobId)}/cdp_url`,
|
|
200
|
+
),
|
|
201
|
+
method: "GET",
|
|
202
|
+
headers: _headers,
|
|
203
|
+
queryParameters: requestOptions?.queryParams,
|
|
204
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
205
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
206
|
+
abortSignal: requestOptions?.abortSignal,
|
|
207
|
+
});
|
|
208
|
+
if (_response.ok) {
|
|
209
|
+
return { data: _response.body as Api.CdpUrlResponse, rawResponse: _response.rawResponse };
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (_response.error.reason === "status-code") {
|
|
213
|
+
switch (_response.error.statusCode) {
|
|
214
|
+
case 400:
|
|
215
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
216
|
+
default:
|
|
217
|
+
throw new errors.ApiError({
|
|
218
|
+
statusCode: _response.error.statusCode,
|
|
219
|
+
body: _response.error.body,
|
|
220
|
+
rawResponse: _response.rawResponse,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
switch (_response.error.reason) {
|
|
226
|
+
case "non-json":
|
|
227
|
+
throw new errors.ApiError({
|
|
228
|
+
statusCode: _response.error.statusCode,
|
|
229
|
+
body: _response.error.rawBody,
|
|
230
|
+
rawResponse: _response.rawResponse,
|
|
231
|
+
});
|
|
232
|
+
case "timeout":
|
|
233
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/{job_id}/cdp_url.");
|
|
234
|
+
case "unknown":
|
|
235
|
+
throw new errors.ApiError({
|
|
236
|
+
message: _response.error.errorMessage,
|
|
237
|
+
rawResponse: _response.rawResponse,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* @param {string} jobId
|
|
244
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
245
|
+
*
|
|
246
|
+
* @throws {@link Api.BadRequestError}
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* await client.getProxyUrl("job_id")
|
|
250
|
+
*/
|
|
251
|
+
public getProxyUrl(
|
|
252
|
+
jobId: string,
|
|
253
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
254
|
+
): core.HttpResponsePromise<Api.ProxyUrlResponse> {
|
|
255
|
+
return core.HttpResponsePromise.fromPromise(this.__getProxyUrl(jobId, requestOptions));
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
private async __getProxyUrl(
|
|
259
|
+
jobId: string,
|
|
260
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
261
|
+
): Promise<core.WithRawResponse<Api.ProxyUrlResponse>> {
|
|
262
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
263
|
+
const _response = await core.fetcher({
|
|
264
|
+
url: core.url.join(
|
|
265
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
266
|
+
(await core.Supplier.get(this._options.environment)),
|
|
267
|
+
`env/${core.url.encodePathParam(jobId)}/proxy_url`,
|
|
268
|
+
),
|
|
269
|
+
method: "GET",
|
|
270
|
+
headers: _headers,
|
|
271
|
+
queryParameters: requestOptions?.queryParams,
|
|
272
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
273
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
274
|
+
abortSignal: requestOptions?.abortSignal,
|
|
275
|
+
});
|
|
276
|
+
if (_response.ok) {
|
|
277
|
+
return { data: _response.body as Api.ProxyUrlResponse, rawResponse: _response.rawResponse };
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if (_response.error.reason === "status-code") {
|
|
281
|
+
switch (_response.error.statusCode) {
|
|
282
|
+
case 400:
|
|
283
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
284
|
+
default:
|
|
285
|
+
throw new errors.ApiError({
|
|
286
|
+
statusCode: _response.error.statusCode,
|
|
287
|
+
body: _response.error.body,
|
|
288
|
+
rawResponse: _response.rawResponse,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
switch (_response.error.reason) {
|
|
294
|
+
case "non-json":
|
|
295
|
+
throw new errors.ApiError({
|
|
296
|
+
statusCode: _response.error.statusCode,
|
|
297
|
+
body: _response.error.rawBody,
|
|
298
|
+
rawResponse: _response.rawResponse,
|
|
299
|
+
});
|
|
300
|
+
case "timeout":
|
|
301
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/{job_id}/proxy_url.");
|
|
302
|
+
case "unknown":
|
|
303
|
+
throw new errors.ApiError({
|
|
304
|
+
message: _response.error.errorMessage,
|
|
305
|
+
rawResponse: _response.rawResponse,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* @param {string} jobId
|
|
312
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
313
|
+
*
|
|
314
|
+
* @throws {@link Api.BadRequestError}
|
|
315
|
+
*
|
|
316
|
+
* @example
|
|
317
|
+
* await client.closeEnvironment("job_id")
|
|
318
|
+
*/
|
|
319
|
+
public closeEnvironment(
|
|
320
|
+
jobId: string,
|
|
321
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
322
|
+
): core.HttpResponsePromise<Api.CloseEnvironmentResponse> {
|
|
323
|
+
return core.HttpResponsePromise.fromPromise(this.__closeEnvironment(jobId, requestOptions));
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
private async __closeEnvironment(
|
|
327
|
+
jobId: string,
|
|
328
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
329
|
+
): Promise<core.WithRawResponse<Api.CloseEnvironmentResponse>> {
|
|
330
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
331
|
+
const _response = await core.fetcher({
|
|
332
|
+
url: core.url.join(
|
|
333
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
334
|
+
(await core.Supplier.get(this._options.environment)),
|
|
335
|
+
`env/${core.url.encodePathParam(jobId)}/close`,
|
|
336
|
+
),
|
|
337
|
+
method: "POST",
|
|
338
|
+
headers: _headers,
|
|
339
|
+
queryParameters: requestOptions?.queryParams,
|
|
340
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
341
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
342
|
+
abortSignal: requestOptions?.abortSignal,
|
|
343
|
+
});
|
|
344
|
+
if (_response.ok) {
|
|
345
|
+
return { data: _response.body as Api.CloseEnvironmentResponse, rawResponse: _response.rawResponse };
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
if (_response.error.reason === "status-code") {
|
|
349
|
+
switch (_response.error.statusCode) {
|
|
350
|
+
case 400:
|
|
351
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
352
|
+
default:
|
|
353
|
+
throw new errors.ApiError({
|
|
354
|
+
statusCode: _response.error.statusCode,
|
|
355
|
+
body: _response.error.body,
|
|
356
|
+
rawResponse: _response.rawResponse,
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
switch (_response.error.reason) {
|
|
362
|
+
case "non-json":
|
|
363
|
+
throw new errors.ApiError({
|
|
364
|
+
statusCode: _response.error.statusCode,
|
|
365
|
+
body: _response.error.rawBody,
|
|
366
|
+
rawResponse: _response.rawResponse,
|
|
367
|
+
});
|
|
368
|
+
case "timeout":
|
|
369
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/{job_id}/close.");
|
|
370
|
+
case "unknown":
|
|
371
|
+
throw new errors.ApiError({
|
|
372
|
+
message: _response.error.errorMessage,
|
|
373
|
+
rawResponse: _response.rawResponse,
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* @param {string} jobId
|
|
380
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
381
|
+
*
|
|
382
|
+
* @throws {@link Api.BadRequestError}
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* await client.backupEnvironment("job_id")
|
|
386
|
+
*/
|
|
387
|
+
public backupEnvironment(
|
|
388
|
+
jobId: string,
|
|
389
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
390
|
+
): core.HttpResponsePromise<Api.BackupEnvironmentResponse> {
|
|
391
|
+
return core.HttpResponsePromise.fromPromise(this.__backupEnvironment(jobId, requestOptions));
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
private async __backupEnvironment(
|
|
395
|
+
jobId: string,
|
|
396
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
397
|
+
): Promise<core.WithRawResponse<Api.BackupEnvironmentResponse>> {
|
|
398
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
399
|
+
const _response = await core.fetcher({
|
|
400
|
+
url: core.url.join(
|
|
401
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
402
|
+
(await core.Supplier.get(this._options.environment)),
|
|
403
|
+
`env/${core.url.encodePathParam(jobId)}/backup`,
|
|
404
|
+
),
|
|
405
|
+
method: "POST",
|
|
406
|
+
headers: _headers,
|
|
407
|
+
queryParameters: requestOptions?.queryParams,
|
|
408
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
409
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
410
|
+
abortSignal: requestOptions?.abortSignal,
|
|
411
|
+
});
|
|
412
|
+
if (_response.ok) {
|
|
413
|
+
return { data: _response.body as Api.BackupEnvironmentResponse, rawResponse: _response.rawResponse };
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
if (_response.error.reason === "status-code") {
|
|
417
|
+
switch (_response.error.statusCode) {
|
|
418
|
+
case 400:
|
|
419
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
420
|
+
default:
|
|
421
|
+
throw new errors.ApiError({
|
|
422
|
+
statusCode: _response.error.statusCode,
|
|
423
|
+
body: _response.error.body,
|
|
424
|
+
rawResponse: _response.rawResponse,
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
switch (_response.error.reason) {
|
|
430
|
+
case "non-json":
|
|
431
|
+
throw new errors.ApiError({
|
|
432
|
+
statusCode: _response.error.statusCode,
|
|
433
|
+
body: _response.error.rawBody,
|
|
434
|
+
rawResponse: _response.rawResponse,
|
|
435
|
+
});
|
|
436
|
+
case "timeout":
|
|
437
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/{job_id}/backup.");
|
|
438
|
+
case "unknown":
|
|
439
|
+
throw new errors.ApiError({
|
|
440
|
+
message: _response.error.errorMessage,
|
|
441
|
+
rawResponse: _response.rawResponse,
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* @param {string} jobId
|
|
448
|
+
* @param {Api.ResetEnvironmentRequest} request
|
|
449
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
450
|
+
*
|
|
451
|
+
* @throws {@link Api.BadRequestError}
|
|
452
|
+
*
|
|
453
|
+
* @example
|
|
454
|
+
* await client.resetEnvironment("job_id")
|
|
455
|
+
*/
|
|
456
|
+
public resetEnvironment(
|
|
457
|
+
jobId: string,
|
|
458
|
+
request: Api.ResetEnvironmentRequest = {},
|
|
459
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
460
|
+
): core.HttpResponsePromise<Api.ResetEnvironmentResponse> {
|
|
461
|
+
return core.HttpResponsePromise.fromPromise(this.__resetEnvironment(jobId, request, requestOptions));
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
private async __resetEnvironment(
|
|
465
|
+
jobId: string,
|
|
466
|
+
request: Api.ResetEnvironmentRequest = {},
|
|
467
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
468
|
+
): Promise<core.WithRawResponse<Api.ResetEnvironmentResponse>> {
|
|
469
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
470
|
+
const _response = await core.fetcher({
|
|
471
|
+
url: core.url.join(
|
|
472
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
473
|
+
(await core.Supplier.get(this._options.environment)),
|
|
474
|
+
`env/${core.url.encodePathParam(jobId)}/reset`,
|
|
475
|
+
),
|
|
476
|
+
method: "POST",
|
|
477
|
+
headers: _headers,
|
|
478
|
+
contentType: "application/json",
|
|
479
|
+
queryParameters: requestOptions?.queryParams,
|
|
480
|
+
requestType: "json",
|
|
481
|
+
body: request,
|
|
482
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
483
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
484
|
+
abortSignal: requestOptions?.abortSignal,
|
|
485
|
+
});
|
|
486
|
+
if (_response.ok) {
|
|
487
|
+
return { data: _response.body as Api.ResetEnvironmentResponse, rawResponse: _response.rawResponse };
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
if (_response.error.reason === "status-code") {
|
|
491
|
+
switch (_response.error.statusCode) {
|
|
492
|
+
case 400:
|
|
493
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
494
|
+
default:
|
|
495
|
+
throw new errors.ApiError({
|
|
496
|
+
statusCode: _response.error.statusCode,
|
|
497
|
+
body: _response.error.body,
|
|
498
|
+
rawResponse: _response.rawResponse,
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
switch (_response.error.reason) {
|
|
504
|
+
case "non-json":
|
|
505
|
+
throw new errors.ApiError({
|
|
506
|
+
statusCode: _response.error.statusCode,
|
|
507
|
+
body: _response.error.rawBody,
|
|
508
|
+
rawResponse: _response.rawResponse,
|
|
509
|
+
});
|
|
510
|
+
case "timeout":
|
|
511
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/{job_id}/reset.");
|
|
512
|
+
case "unknown":
|
|
513
|
+
throw new errors.ApiError({
|
|
514
|
+
message: _response.error.errorMessage,
|
|
515
|
+
rawResponse: _response.rawResponse,
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* @param {string} jobId
|
|
522
|
+
* @param {Api.GetEnvironmentStateRequest} request
|
|
523
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
524
|
+
*
|
|
525
|
+
* @throws {@link Api.BadRequestError}
|
|
526
|
+
*
|
|
527
|
+
* @example
|
|
528
|
+
* await client.getEnvironmentState("job_id", {
|
|
529
|
+
* merge_mutations: true
|
|
530
|
+
* })
|
|
531
|
+
*/
|
|
532
|
+
public getEnvironmentState(
|
|
533
|
+
jobId: string,
|
|
534
|
+
request: Api.GetEnvironmentStateRequest = {},
|
|
535
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
536
|
+
): core.HttpResponsePromise<Api.EnvironmentStateResponse> {
|
|
537
|
+
return core.HttpResponsePromise.fromPromise(this.__getEnvironmentState(jobId, request, requestOptions));
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
private async __getEnvironmentState(
|
|
541
|
+
jobId: string,
|
|
542
|
+
request: Api.GetEnvironmentStateRequest = {},
|
|
543
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
544
|
+
): Promise<core.WithRawResponse<Api.EnvironmentStateResponse>> {
|
|
545
|
+
const { merge_mutations: mergeMutations } = request;
|
|
546
|
+
const _queryParams: Record<string, string | string[] | object | object[] | null> = {};
|
|
547
|
+
if (mergeMutations != null) {
|
|
548
|
+
_queryParams.merge_mutations = mergeMutations.toString();
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
552
|
+
const _response = await core.fetcher({
|
|
553
|
+
url: core.url.join(
|
|
554
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
555
|
+
(await core.Supplier.get(this._options.environment)),
|
|
556
|
+
`env/${core.url.encodePathParam(jobId)}/state`,
|
|
557
|
+
),
|
|
558
|
+
method: "GET",
|
|
559
|
+
headers: _headers,
|
|
560
|
+
queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
|
|
561
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
562
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
563
|
+
abortSignal: requestOptions?.abortSignal,
|
|
564
|
+
});
|
|
565
|
+
if (_response.ok) {
|
|
566
|
+
return { data: _response.body as Api.EnvironmentStateResponse, rawResponse: _response.rawResponse };
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
if (_response.error.reason === "status-code") {
|
|
570
|
+
switch (_response.error.statusCode) {
|
|
571
|
+
case 400:
|
|
572
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
573
|
+
default:
|
|
574
|
+
throw new errors.ApiError({
|
|
575
|
+
statusCode: _response.error.statusCode,
|
|
576
|
+
body: _response.error.body,
|
|
577
|
+
rawResponse: _response.rawResponse,
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
switch (_response.error.reason) {
|
|
583
|
+
case "non-json":
|
|
584
|
+
throw new errors.ApiError({
|
|
585
|
+
statusCode: _response.error.statusCode,
|
|
586
|
+
body: _response.error.rawBody,
|
|
587
|
+
rawResponse: _response.rawResponse,
|
|
588
|
+
});
|
|
589
|
+
case "timeout":
|
|
590
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/{job_id}/state.");
|
|
591
|
+
case "unknown":
|
|
592
|
+
throw new errors.ApiError({
|
|
593
|
+
message: _response.error.errorMessage,
|
|
594
|
+
rawResponse: _response.rawResponse,
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
/**
|
|
600
|
+
* @param {string} jobId
|
|
601
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
602
|
+
*
|
|
603
|
+
* @throws {@link Api.BadRequestError}
|
|
604
|
+
*
|
|
605
|
+
* @example
|
|
606
|
+
* await client.getWorkerReady("job_id")
|
|
607
|
+
*/
|
|
608
|
+
public getWorkerReady(
|
|
609
|
+
jobId: string,
|
|
610
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
611
|
+
): core.HttpResponsePromise<Api.WorkerReadyResponse> {
|
|
612
|
+
return core.HttpResponsePromise.fromPromise(this.__getWorkerReady(jobId, requestOptions));
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
private async __getWorkerReady(
|
|
616
|
+
jobId: string,
|
|
617
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
618
|
+
): Promise<core.WithRawResponse<Api.WorkerReadyResponse>> {
|
|
619
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
620
|
+
const _response = await core.fetcher({
|
|
621
|
+
url: core.url.join(
|
|
622
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
623
|
+
(await core.Supplier.get(this._options.environment)),
|
|
624
|
+
`env/${core.url.encodePathParam(jobId)}/worker_ready`,
|
|
625
|
+
),
|
|
626
|
+
method: "GET",
|
|
627
|
+
headers: _headers,
|
|
628
|
+
queryParameters: requestOptions?.queryParams,
|
|
629
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
630
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
631
|
+
abortSignal: requestOptions?.abortSignal,
|
|
632
|
+
});
|
|
633
|
+
if (_response.ok) {
|
|
634
|
+
return { data: _response.body as Api.WorkerReadyResponse, rawResponse: _response.rawResponse };
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
if (_response.error.reason === "status-code") {
|
|
638
|
+
switch (_response.error.statusCode) {
|
|
639
|
+
case 400:
|
|
640
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
641
|
+
default:
|
|
642
|
+
throw new errors.ApiError({
|
|
643
|
+
statusCode: _response.error.statusCode,
|
|
644
|
+
body: _response.error.body,
|
|
645
|
+
rawResponse: _response.rawResponse,
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
switch (_response.error.reason) {
|
|
651
|
+
case "non-json":
|
|
652
|
+
throw new errors.ApiError({
|
|
653
|
+
statusCode: _response.error.statusCode,
|
|
654
|
+
body: _response.error.rawBody,
|
|
655
|
+
rawResponse: _response.rawResponse,
|
|
656
|
+
});
|
|
657
|
+
case "timeout":
|
|
658
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/{job_id}/worker_ready.");
|
|
659
|
+
case "unknown":
|
|
660
|
+
throw new errors.ApiError({
|
|
661
|
+
message: _response.error.errorMessage,
|
|
662
|
+
rawResponse: _response.rawResponse,
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
/**
|
|
668
|
+
* @param {string} jobId
|
|
669
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
670
|
+
*
|
|
671
|
+
* @throws {@link Api.BadRequestError}
|
|
672
|
+
*
|
|
673
|
+
* @example
|
|
674
|
+
* await client.sendHeartbeat("job_id")
|
|
675
|
+
*/
|
|
676
|
+
public sendHeartbeat(
|
|
677
|
+
jobId: string,
|
|
678
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
679
|
+
): core.HttpResponsePromise<Api.HeartbeatResponse> {
|
|
680
|
+
return core.HttpResponsePromise.fromPromise(this.__sendHeartbeat(jobId, requestOptions));
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
private async __sendHeartbeat(
|
|
684
|
+
jobId: string,
|
|
685
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
686
|
+
): Promise<core.WithRawResponse<Api.HeartbeatResponse>> {
|
|
687
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
688
|
+
const _response = await core.fetcher({
|
|
689
|
+
url: core.url.join(
|
|
690
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
691
|
+
(await core.Supplier.get(this._options.environment)),
|
|
692
|
+
`env/${core.url.encodePathParam(jobId)}/heartbeat`,
|
|
693
|
+
),
|
|
694
|
+
method: "POST",
|
|
695
|
+
headers: _headers,
|
|
696
|
+
queryParameters: requestOptions?.queryParams,
|
|
697
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
698
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
699
|
+
abortSignal: requestOptions?.abortSignal,
|
|
700
|
+
});
|
|
701
|
+
if (_response.ok) {
|
|
702
|
+
return { data: _response.body as Api.HeartbeatResponse, rawResponse: _response.rawResponse };
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
if (_response.error.reason === "status-code") {
|
|
706
|
+
switch (_response.error.statusCode) {
|
|
707
|
+
case 400:
|
|
708
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
709
|
+
default:
|
|
710
|
+
throw new errors.ApiError({
|
|
711
|
+
statusCode: _response.error.statusCode,
|
|
712
|
+
body: _response.error.body,
|
|
713
|
+
rawResponse: _response.rawResponse,
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
switch (_response.error.reason) {
|
|
719
|
+
case "non-json":
|
|
720
|
+
throw new errors.ApiError({
|
|
721
|
+
statusCode: _response.error.statusCode,
|
|
722
|
+
body: _response.error.rawBody,
|
|
723
|
+
rawResponse: _response.rawResponse,
|
|
724
|
+
});
|
|
725
|
+
case "timeout":
|
|
726
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/{job_id}/heartbeat.");
|
|
727
|
+
case "unknown":
|
|
728
|
+
throw new errors.ApiError({
|
|
729
|
+
message: _response.error.errorMessage,
|
|
730
|
+
rawResponse: _response.rawResponse,
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* @param {string} jobId
|
|
737
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
738
|
+
*
|
|
739
|
+
* @throws {@link Api.BadRequestError}
|
|
740
|
+
*
|
|
741
|
+
* @example
|
|
742
|
+
* await client.getActiveSession("job_id")
|
|
743
|
+
*/
|
|
744
|
+
public getActiveSession(
|
|
745
|
+
jobId: string,
|
|
746
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
747
|
+
): core.HttpResponsePromise<Api.ActiveSessionResponse> {
|
|
748
|
+
return core.HttpResponsePromise.fromPromise(this.__getActiveSession(jobId, requestOptions));
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
private async __getActiveSession(
|
|
752
|
+
jobId: string,
|
|
753
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
754
|
+
): Promise<core.WithRawResponse<Api.ActiveSessionResponse>> {
|
|
755
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
756
|
+
const _response = await core.fetcher({
|
|
757
|
+
url: core.url.join(
|
|
758
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
759
|
+
(await core.Supplier.get(this._options.environment)),
|
|
760
|
+
`env/${core.url.encodePathParam(jobId)}/active_session`,
|
|
761
|
+
),
|
|
762
|
+
method: "GET",
|
|
763
|
+
headers: _headers,
|
|
764
|
+
queryParameters: requestOptions?.queryParams,
|
|
765
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
766
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
767
|
+
abortSignal: requestOptions?.abortSignal,
|
|
768
|
+
});
|
|
769
|
+
if (_response.ok) {
|
|
770
|
+
return { data: _response.body as Api.ActiveSessionResponse, rawResponse: _response.rawResponse };
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
if (_response.error.reason === "status-code") {
|
|
774
|
+
switch (_response.error.statusCode) {
|
|
775
|
+
case 400:
|
|
776
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
777
|
+
default:
|
|
778
|
+
throw new errors.ApiError({
|
|
779
|
+
statusCode: _response.error.statusCode,
|
|
780
|
+
body: _response.error.body,
|
|
781
|
+
rawResponse: _response.rawResponse,
|
|
782
|
+
});
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
switch (_response.error.reason) {
|
|
787
|
+
case "non-json":
|
|
788
|
+
throw new errors.ApiError({
|
|
789
|
+
statusCode: _response.error.statusCode,
|
|
790
|
+
body: _response.error.rawBody,
|
|
791
|
+
rawResponse: _response.rawResponse,
|
|
792
|
+
});
|
|
793
|
+
case "timeout":
|
|
794
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/{job_id}/active_session.");
|
|
795
|
+
case "unknown":
|
|
796
|
+
throw new errors.ApiError({
|
|
797
|
+
message: _response.error.errorMessage,
|
|
798
|
+
rawResponse: _response.rawResponse,
|
|
799
|
+
});
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
/**
|
|
804
|
+
* @param {string} sessionId
|
|
805
|
+
* @param {Api.EvaluateRequest} request
|
|
806
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
807
|
+
*
|
|
808
|
+
* @throws {@link Api.BadRequestError}
|
|
809
|
+
*
|
|
810
|
+
* @example
|
|
811
|
+
* await client.evaluateSession("session_id")
|
|
812
|
+
*/
|
|
813
|
+
public evaluateSession(
|
|
814
|
+
sessionId: string,
|
|
815
|
+
request: Api.EvaluateRequest = {},
|
|
816
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
817
|
+
): core.HttpResponsePromise<Api.EvaluateResponse> {
|
|
818
|
+
return core.HttpResponsePromise.fromPromise(this.__evaluateSession(sessionId, request, requestOptions));
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
private async __evaluateSession(
|
|
822
|
+
sessionId: string,
|
|
823
|
+
request: Api.EvaluateRequest = {},
|
|
824
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
825
|
+
): Promise<core.WithRawResponse<Api.EvaluateResponse>> {
|
|
826
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
827
|
+
const _response = await core.fetcher({
|
|
828
|
+
url: core.url.join(
|
|
829
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
830
|
+
(await core.Supplier.get(this._options.environment)),
|
|
831
|
+
`env/session/${core.url.encodePathParam(sessionId)}/evaluate`,
|
|
832
|
+
),
|
|
833
|
+
method: "POST",
|
|
834
|
+
headers: _headers,
|
|
835
|
+
contentType: "application/json",
|
|
836
|
+
queryParameters: requestOptions?.queryParams,
|
|
837
|
+
requestType: "json",
|
|
838
|
+
body: request,
|
|
839
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
840
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
841
|
+
abortSignal: requestOptions?.abortSignal,
|
|
842
|
+
});
|
|
843
|
+
if (_response.ok) {
|
|
844
|
+
return { data: _response.body as Api.EvaluateResponse, rawResponse: _response.rawResponse };
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
if (_response.error.reason === "status-code") {
|
|
848
|
+
switch (_response.error.statusCode) {
|
|
849
|
+
case 400:
|
|
850
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
851
|
+
default:
|
|
852
|
+
throw new errors.ApiError({
|
|
853
|
+
statusCode: _response.error.statusCode,
|
|
854
|
+
body: _response.error.body,
|
|
855
|
+
rawResponse: _response.rawResponse,
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
switch (_response.error.reason) {
|
|
861
|
+
case "non-json":
|
|
862
|
+
throw new errors.ApiError({
|
|
863
|
+
statusCode: _response.error.statusCode,
|
|
864
|
+
body: _response.error.rawBody,
|
|
865
|
+
rawResponse: _response.rawResponse,
|
|
866
|
+
});
|
|
867
|
+
case "timeout":
|
|
868
|
+
throw new errors.ApiTimeoutError(
|
|
869
|
+
"Timeout exceeded when calling POST /env/session/{session_id}/evaluate.",
|
|
870
|
+
);
|
|
871
|
+
case "unknown":
|
|
872
|
+
throw new errors.ApiError({
|
|
873
|
+
message: _response.error.errorMessage,
|
|
874
|
+
rawResponse: _response.rawResponse,
|
|
875
|
+
});
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
/**
|
|
880
|
+
* @param {string} sessionId
|
|
881
|
+
* @param {Api.PostEvaluationResultRequest} request
|
|
882
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
883
|
+
*
|
|
884
|
+
* @throws {@link Api.BadRequestError}
|
|
885
|
+
*
|
|
886
|
+
* @example
|
|
887
|
+
* await client.postEvaluationResult("session_id", {
|
|
888
|
+
* success: true
|
|
889
|
+
* })
|
|
890
|
+
*/
|
|
891
|
+
public postEvaluationResult(
|
|
892
|
+
sessionId: string,
|
|
893
|
+
request: Api.PostEvaluationResultRequest,
|
|
894
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
895
|
+
): core.HttpResponsePromise<Api.PostEvaluationResultResponse> {
|
|
896
|
+
return core.HttpResponsePromise.fromPromise(this.__postEvaluationResult(sessionId, request, requestOptions));
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
private async __postEvaluationResult(
|
|
900
|
+
sessionId: string,
|
|
901
|
+
request: Api.PostEvaluationResultRequest,
|
|
902
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
903
|
+
): Promise<core.WithRawResponse<Api.PostEvaluationResultResponse>> {
|
|
904
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
905
|
+
const _response = await core.fetcher({
|
|
906
|
+
url: core.url.join(
|
|
907
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
908
|
+
(await core.Supplier.get(this._options.environment)),
|
|
909
|
+
`env/session/${core.url.encodePathParam(sessionId)}/score`,
|
|
910
|
+
),
|
|
911
|
+
method: "POST",
|
|
912
|
+
headers: _headers,
|
|
913
|
+
contentType: "application/json",
|
|
914
|
+
queryParameters: requestOptions?.queryParams,
|
|
915
|
+
requestType: "json",
|
|
916
|
+
body: request,
|
|
917
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
918
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
919
|
+
abortSignal: requestOptions?.abortSignal,
|
|
920
|
+
});
|
|
921
|
+
if (_response.ok) {
|
|
922
|
+
return { data: _response.body as Api.PostEvaluationResultResponse, rawResponse: _response.rawResponse };
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
if (_response.error.reason === "status-code") {
|
|
926
|
+
switch (_response.error.statusCode) {
|
|
927
|
+
case 400:
|
|
928
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
929
|
+
default:
|
|
930
|
+
throw new errors.ApiError({
|
|
931
|
+
statusCode: _response.error.statusCode,
|
|
932
|
+
body: _response.error.body,
|
|
933
|
+
rawResponse: _response.rawResponse,
|
|
934
|
+
});
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
switch (_response.error.reason) {
|
|
939
|
+
case "non-json":
|
|
940
|
+
throw new errors.ApiError({
|
|
941
|
+
statusCode: _response.error.statusCode,
|
|
942
|
+
body: _response.error.rawBody,
|
|
943
|
+
rawResponse: _response.rawResponse,
|
|
944
|
+
});
|
|
945
|
+
case "timeout":
|
|
946
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/session/{session_id}/score.");
|
|
947
|
+
case "unknown":
|
|
948
|
+
throw new errors.ApiError({
|
|
949
|
+
message: _response.error.errorMessage,
|
|
950
|
+
rawResponse: _response.rawResponse,
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
/**
|
|
956
|
+
* @param {string} sessionId
|
|
957
|
+
* @param {Api.LogRequest} request
|
|
958
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
959
|
+
*
|
|
960
|
+
* @throws {@link Api.BadRequestError}
|
|
961
|
+
*
|
|
962
|
+
* @example
|
|
963
|
+
* await client.logMessage("session_id", {
|
|
964
|
+
* source: "source",
|
|
965
|
+
* type: "type",
|
|
966
|
+
* message: {
|
|
967
|
+
* "key": "value"
|
|
968
|
+
* },
|
|
969
|
+
* timestamp: "timestamp"
|
|
970
|
+
* })
|
|
971
|
+
*/
|
|
972
|
+
public logMessage(
|
|
973
|
+
sessionId: string,
|
|
974
|
+
request: Api.LogRequest,
|
|
975
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
976
|
+
): core.HttpResponsePromise<Api.LogResponse> {
|
|
977
|
+
return core.HttpResponsePromise.fromPromise(this.__logMessage(sessionId, request, requestOptions));
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
private async __logMessage(
|
|
981
|
+
sessionId: string,
|
|
982
|
+
request: Api.LogRequest,
|
|
983
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
984
|
+
): Promise<core.WithRawResponse<Api.LogResponse>> {
|
|
985
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
986
|
+
const _response = await core.fetcher({
|
|
987
|
+
url: core.url.join(
|
|
988
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
989
|
+
(await core.Supplier.get(this._options.environment)),
|
|
990
|
+
`env/${core.url.encodePathParam(sessionId)}/log`,
|
|
991
|
+
),
|
|
992
|
+
method: "POST",
|
|
993
|
+
headers: _headers,
|
|
994
|
+
contentType: "application/json",
|
|
995
|
+
queryParameters: requestOptions?.queryParams,
|
|
996
|
+
requestType: "json",
|
|
997
|
+
body: request,
|
|
998
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
999
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1000
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1001
|
+
});
|
|
1002
|
+
if (_response.ok) {
|
|
1003
|
+
return { data: _response.body as Api.LogResponse, rawResponse: _response.rawResponse };
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
if (_response.error.reason === "status-code") {
|
|
1007
|
+
switch (_response.error.statusCode) {
|
|
1008
|
+
case 400:
|
|
1009
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1010
|
+
default:
|
|
1011
|
+
throw new errors.ApiError({
|
|
1012
|
+
statusCode: _response.error.statusCode,
|
|
1013
|
+
body: _response.error.body,
|
|
1014
|
+
rawResponse: _response.rawResponse,
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
switch (_response.error.reason) {
|
|
1020
|
+
case "non-json":
|
|
1021
|
+
throw new errors.ApiError({
|
|
1022
|
+
statusCode: _response.error.statusCode,
|
|
1023
|
+
body: _response.error.rawBody,
|
|
1024
|
+
rawResponse: _response.rawResponse,
|
|
1025
|
+
});
|
|
1026
|
+
case "timeout":
|
|
1027
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /env/{session_id}/log.");
|
|
1028
|
+
case "unknown":
|
|
1029
|
+
throw new errors.ApiError({
|
|
1030
|
+
message: _response.error.errorMessage,
|
|
1031
|
+
rawResponse: _response.rawResponse,
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
/**
|
|
1037
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1038
|
+
*
|
|
1039
|
+
* @throws {@link Api.BadRequestError}
|
|
1040
|
+
*
|
|
1041
|
+
* @example
|
|
1042
|
+
* await client.listSimulators()
|
|
1043
|
+
*/
|
|
1044
|
+
public listSimulators(requestOptions?: ApiClient.RequestOptions): core.HttpResponsePromise<Api.Simulator[]> {
|
|
1045
|
+
return core.HttpResponsePromise.fromPromise(this.__listSimulators(requestOptions));
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
private async __listSimulators(
|
|
1049
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1050
|
+
): Promise<core.WithRawResponse<Api.Simulator[]>> {
|
|
1051
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1052
|
+
const _response = await core.fetcher({
|
|
1053
|
+
url: core.url.join(
|
|
1054
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1055
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1056
|
+
"env/simulators",
|
|
1057
|
+
),
|
|
1058
|
+
method: "GET",
|
|
1059
|
+
headers: _headers,
|
|
1060
|
+
queryParameters: requestOptions?.queryParams,
|
|
1061
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1062
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1063
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1064
|
+
});
|
|
1065
|
+
if (_response.ok) {
|
|
1066
|
+
return { data: _response.body as Api.Simulator[], rawResponse: _response.rawResponse };
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
if (_response.error.reason === "status-code") {
|
|
1070
|
+
switch (_response.error.statusCode) {
|
|
1071
|
+
case 400:
|
|
1072
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1073
|
+
default:
|
|
1074
|
+
throw new errors.ApiError({
|
|
1075
|
+
statusCode: _response.error.statusCode,
|
|
1076
|
+
body: _response.error.body,
|
|
1077
|
+
rawResponse: _response.rawResponse,
|
|
1078
|
+
});
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
switch (_response.error.reason) {
|
|
1083
|
+
case "non-json":
|
|
1084
|
+
throw new errors.ApiError({
|
|
1085
|
+
statusCode: _response.error.statusCode,
|
|
1086
|
+
body: _response.error.rawBody,
|
|
1087
|
+
rawResponse: _response.rawResponse,
|
|
1088
|
+
});
|
|
1089
|
+
case "timeout":
|
|
1090
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /env/simulators.");
|
|
1091
|
+
case "unknown":
|
|
1092
|
+
throw new errors.ApiError({
|
|
1093
|
+
message: _response.error.errorMessage,
|
|
1094
|
+
rawResponse: _response.rawResponse,
|
|
1095
|
+
});
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
/**
|
|
1100
|
+
* @param {Api.GetTestCasesRequest} request
|
|
1101
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1102
|
+
*
|
|
1103
|
+
* @throws {@link Api.BadRequestError}
|
|
1104
|
+
*
|
|
1105
|
+
* @example
|
|
1106
|
+
* await client.getTestCases({
|
|
1107
|
+
* simulator_name: "simulator_name",
|
|
1108
|
+
* simulator_id: "simulator_id",
|
|
1109
|
+
* page_size: 1
|
|
1110
|
+
* })
|
|
1111
|
+
*/
|
|
1112
|
+
public getTestCases(
|
|
1113
|
+
request: Api.GetTestCasesRequest = {},
|
|
1114
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1115
|
+
): core.HttpResponsePromise<Api.TestCasesResponse> {
|
|
1116
|
+
return core.HttpResponsePromise.fromPromise(this.__getTestCases(request, requestOptions));
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
private async __getTestCases(
|
|
1120
|
+
request: Api.GetTestCasesRequest = {},
|
|
1121
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1122
|
+
): Promise<core.WithRawResponse<Api.TestCasesResponse>> {
|
|
1123
|
+
const { simulator_name: simulatorName, simulator_id: simulatorId, page_size: pageSize } = request;
|
|
1124
|
+
const _queryParams: Record<string, string | string[] | object | object[] | null> = {};
|
|
1125
|
+
if (simulatorName != null) {
|
|
1126
|
+
_queryParams.simulator_name = simulatorName;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
if (simulatorId != null) {
|
|
1130
|
+
_queryParams.simulator_id = simulatorId;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
if (pageSize != null) {
|
|
1134
|
+
_queryParams.page_size = pageSize.toString();
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1138
|
+
const _response = await core.fetcher({
|
|
1139
|
+
url: core.url.join(
|
|
1140
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1141
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1142
|
+
"testcases",
|
|
1143
|
+
),
|
|
1144
|
+
method: "GET",
|
|
1145
|
+
headers: _headers,
|
|
1146
|
+
queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
|
|
1147
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1148
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1149
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1150
|
+
});
|
|
1151
|
+
if (_response.ok) {
|
|
1152
|
+
return { data: _response.body as Api.TestCasesResponse, rawResponse: _response.rawResponse };
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
if (_response.error.reason === "status-code") {
|
|
1156
|
+
switch (_response.error.statusCode) {
|
|
1157
|
+
case 400:
|
|
1158
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1159
|
+
default:
|
|
1160
|
+
throw new errors.ApiError({
|
|
1161
|
+
statusCode: _response.error.statusCode,
|
|
1162
|
+
body: _response.error.body,
|
|
1163
|
+
rawResponse: _response.rawResponse,
|
|
1164
|
+
});
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
switch (_response.error.reason) {
|
|
1169
|
+
case "non-json":
|
|
1170
|
+
throw new errors.ApiError({
|
|
1171
|
+
statusCode: _response.error.statusCode,
|
|
1172
|
+
body: _response.error.rawBody,
|
|
1173
|
+
rawResponse: _response.rawResponse,
|
|
1174
|
+
});
|
|
1175
|
+
case "timeout":
|
|
1176
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling GET /testcases.");
|
|
1177
|
+
case "unknown":
|
|
1178
|
+
throw new errors.ApiError({
|
|
1179
|
+
message: _response.error.errorMessage,
|
|
1180
|
+
rawResponse: _response.rawResponse,
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
/**
|
|
1186
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1187
|
+
*
|
|
1188
|
+
* @throws {@link Api.BadRequestError}
|
|
1189
|
+
*
|
|
1190
|
+
* @example
|
|
1191
|
+
* await client.getRunningSessionsCount()
|
|
1192
|
+
*/
|
|
1193
|
+
public getRunningSessionsCount(
|
|
1194
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1195
|
+
): core.HttpResponsePromise<Api.RunningSessionsCountResponse> {
|
|
1196
|
+
return core.HttpResponsePromise.fromPromise(this.__getRunningSessionsCount(requestOptions));
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
private async __getRunningSessionsCount(
|
|
1200
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1201
|
+
): Promise<core.WithRawResponse<Api.RunningSessionsCountResponse>> {
|
|
1202
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1203
|
+
const _response = await core.fetcher({
|
|
1204
|
+
url: core.url.join(
|
|
1205
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1206
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1207
|
+
"user/organization/running-sessions",
|
|
1208
|
+
),
|
|
1209
|
+
method: "GET",
|
|
1210
|
+
headers: _headers,
|
|
1211
|
+
queryParameters: requestOptions?.queryParams,
|
|
1212
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1213
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1214
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1215
|
+
});
|
|
1216
|
+
if (_response.ok) {
|
|
1217
|
+
return { data: _response.body as Api.RunningSessionsCountResponse, rawResponse: _response.rawResponse };
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
if (_response.error.reason === "status-code") {
|
|
1221
|
+
switch (_response.error.statusCode) {
|
|
1222
|
+
case 400:
|
|
1223
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1224
|
+
default:
|
|
1225
|
+
throw new errors.ApiError({
|
|
1226
|
+
statusCode: _response.error.statusCode,
|
|
1227
|
+
body: _response.error.body,
|
|
1228
|
+
rawResponse: _response.rawResponse,
|
|
1229
|
+
});
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
switch (_response.error.reason) {
|
|
1234
|
+
case "non-json":
|
|
1235
|
+
throw new errors.ApiError({
|
|
1236
|
+
statusCode: _response.error.statusCode,
|
|
1237
|
+
body: _response.error.rawBody,
|
|
1238
|
+
rawResponse: _response.rawResponse,
|
|
1239
|
+
});
|
|
1240
|
+
case "timeout":
|
|
1241
|
+
throw new errors.ApiTimeoutError(
|
|
1242
|
+
"Timeout exceeded when calling GET /user/organization/running-sessions.",
|
|
1243
|
+
);
|
|
1244
|
+
case "unknown":
|
|
1245
|
+
throw new errors.ApiError({
|
|
1246
|
+
message: _response.error.errorMessage,
|
|
1247
|
+
rawResponse: _response.rawResponse,
|
|
1248
|
+
});
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
/**
|
|
1253
|
+
* Monitor the progress of long-running operations (sandbox creation, setup, etc.) via SSE.
|
|
1254
|
+
*
|
|
1255
|
+
* **Event Flow:**
|
|
1256
|
+
* 1. First event: `type: "connected"` - Connection established, continue listening
|
|
1257
|
+
* 2. Progress events: `type: "progress"` with `message` field - Operation updates
|
|
1258
|
+
* 3. Completion: `type: "run_result"` or `"ssh_result"` - Operation finished
|
|
1259
|
+
* - Check `success: true` for successful completion
|
|
1260
|
+
* - Check `error` or `message` field if `success: false`
|
|
1261
|
+
* 4. Error: `type: "error"` - Operation failed, check `error` or `message` field
|
|
1262
|
+
*
|
|
1263
|
+
* **Data Format:**
|
|
1264
|
+
* SSE data is base64-encoded JSON. Decode it to get the OperationEvent object.
|
|
1265
|
+
*
|
|
1266
|
+
* **Client Implementation Required:**
|
|
1267
|
+
* - Decode base64 data from each SSE event
|
|
1268
|
+
* - Parse JSON to OperationEvent
|
|
1269
|
+
* - Check event.type and event.success to determine operation status
|
|
1270
|
+
* - Continue listening until receiving a terminal event (run_result, ssh_result, or error)
|
|
1271
|
+
* - Return success/error based on the terminal event
|
|
1272
|
+
*
|
|
1273
|
+
* **Example (pseudo-code):**
|
|
1274
|
+
* ```
|
|
1275
|
+
* for event in stream:
|
|
1276
|
+
* decoded = base64_decode(event.data)
|
|
1277
|
+
* operation_event = json_parse(decoded)
|
|
1278
|
+
*
|
|
1279
|
+
* if operation_event.type == "connected":
|
|
1280
|
+
* continue # Keep listening
|
|
1281
|
+
* elif operation_event.type in ["run_result", "ssh_result"]:
|
|
1282
|
+
* if operation_event.success:
|
|
1283
|
+
* return SUCCESS
|
|
1284
|
+
* else:
|
|
1285
|
+
* return ERROR(operation_event.error || operation_event.message)
|
|
1286
|
+
* elif operation_event.type == "error":
|
|
1287
|
+
* return ERROR(operation_event.error || operation_event.message)
|
|
1288
|
+
* ```
|
|
1289
|
+
*/
|
|
1290
|
+
public monitorOperation(
|
|
1291
|
+
correlationId: string,
|
|
1292
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1293
|
+
): core.HttpResponsePromise<core.Stream<Api.OperationEvent>> {
|
|
1294
|
+
return core.HttpResponsePromise.fromPromise(this.__monitorOperation(correlationId, requestOptions));
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
private async __monitorOperation(
|
|
1298
|
+
correlationId: string,
|
|
1299
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1300
|
+
): Promise<core.WithRawResponse<core.Stream<Api.OperationEvent>>> {
|
|
1301
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1302
|
+
const _response = await core.fetcher<ReadableStream>({
|
|
1303
|
+
url: core.url.join(
|
|
1304
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1305
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1306
|
+
`public-build/events/${core.url.encodePathParam(correlationId)}`,
|
|
1307
|
+
),
|
|
1308
|
+
method: "GET",
|
|
1309
|
+
headers: _headers,
|
|
1310
|
+
queryParameters: requestOptions?.queryParams,
|
|
1311
|
+
responseType: "sse",
|
|
1312
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1313
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1314
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1315
|
+
});
|
|
1316
|
+
if (_response.ok) {
|
|
1317
|
+
return {
|
|
1318
|
+
data: new core.Stream({
|
|
1319
|
+
stream: _response.body,
|
|
1320
|
+
parse: (data) => data as any,
|
|
1321
|
+
signal: requestOptions?.abortSignal,
|
|
1322
|
+
eventShape: {
|
|
1323
|
+
type: "sse",
|
|
1324
|
+
streamTerminator: "[DONE]",
|
|
1325
|
+
},
|
|
1326
|
+
}),
|
|
1327
|
+
rawResponse: _response.rawResponse,
|
|
1328
|
+
};
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
if (_response.error.reason === "status-code") {
|
|
1332
|
+
switch (_response.error.statusCode) {
|
|
1333
|
+
case 400:
|
|
1334
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1335
|
+
default:
|
|
1336
|
+
throw new errors.ApiError({
|
|
1337
|
+
statusCode: _response.error.statusCode,
|
|
1338
|
+
body: _response.error.body,
|
|
1339
|
+
rawResponse: _response.rawResponse,
|
|
1340
|
+
});
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
switch (_response.error.reason) {
|
|
1345
|
+
case "non-json":
|
|
1346
|
+
throw new errors.ApiError({
|
|
1347
|
+
statusCode: _response.error.statusCode,
|
|
1348
|
+
body: _response.error.rawBody,
|
|
1349
|
+
rawResponse: _response.rawResponse,
|
|
1350
|
+
});
|
|
1351
|
+
case "timeout":
|
|
1352
|
+
throw new errors.ApiTimeoutError(
|
|
1353
|
+
"Timeout exceeded when calling GET /public-build/events/{correlation_id}.",
|
|
1354
|
+
);
|
|
1355
|
+
case "unknown":
|
|
1356
|
+
throw new errors.ApiError({
|
|
1357
|
+
message: _response.error.errorMessage,
|
|
1358
|
+
rawResponse: _response.rawResponse,
|
|
1359
|
+
});
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
/**
|
|
1364
|
+
* @param {Api.CreateSandboxRequest} request
|
|
1365
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1366
|
+
*
|
|
1367
|
+
* @throws {@link Api.BadRequestError}
|
|
1368
|
+
*
|
|
1369
|
+
* @example
|
|
1370
|
+
* await client.createSandbox({
|
|
1371
|
+
* dataset: "dataset",
|
|
1372
|
+
* plato_dataset_config: {
|
|
1373
|
+
* compute: {
|
|
1374
|
+
* cpus: 1,
|
|
1375
|
+
* memory: 1,
|
|
1376
|
+
* disk: 1,
|
|
1377
|
+
* app_port: 1,
|
|
1378
|
+
* plato_messaging_port: 1
|
|
1379
|
+
* },
|
|
1380
|
+
* metadata: {
|
|
1381
|
+
* name: "name"
|
|
1382
|
+
* }
|
|
1383
|
+
* }
|
|
1384
|
+
* })
|
|
1385
|
+
*/
|
|
1386
|
+
public createSandbox(
|
|
1387
|
+
request: Api.CreateSandboxRequest,
|
|
1388
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1389
|
+
): core.HttpResponsePromise<Api.CreateSandboxResponse> {
|
|
1390
|
+
return core.HttpResponsePromise.fromPromise(this.__createSandbox(request, requestOptions));
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
private async __createSandbox(
|
|
1394
|
+
request: Api.CreateSandboxRequest,
|
|
1395
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1396
|
+
): Promise<core.WithRawResponse<Api.CreateSandboxResponse>> {
|
|
1397
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1398
|
+
const _response = await core.fetcher({
|
|
1399
|
+
url: core.url.join(
|
|
1400
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1401
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1402
|
+
"public-build/vm/create",
|
|
1403
|
+
),
|
|
1404
|
+
method: "POST",
|
|
1405
|
+
headers: _headers,
|
|
1406
|
+
contentType: "application/json",
|
|
1407
|
+
queryParameters: requestOptions?.queryParams,
|
|
1408
|
+
requestType: "json",
|
|
1409
|
+
body: request,
|
|
1410
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1411
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1412
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1413
|
+
});
|
|
1414
|
+
if (_response.ok) {
|
|
1415
|
+
return { data: _response.body as Api.CreateSandboxResponse, rawResponse: _response.rawResponse };
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
if (_response.error.reason === "status-code") {
|
|
1419
|
+
switch (_response.error.statusCode) {
|
|
1420
|
+
case 400:
|
|
1421
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1422
|
+
default:
|
|
1423
|
+
throw new errors.ApiError({
|
|
1424
|
+
statusCode: _response.error.statusCode,
|
|
1425
|
+
body: _response.error.body,
|
|
1426
|
+
rawResponse: _response.rawResponse,
|
|
1427
|
+
});
|
|
1428
|
+
}
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
switch (_response.error.reason) {
|
|
1432
|
+
case "non-json":
|
|
1433
|
+
throw new errors.ApiError({
|
|
1434
|
+
statusCode: _response.error.statusCode,
|
|
1435
|
+
body: _response.error.rawBody,
|
|
1436
|
+
rawResponse: _response.rawResponse,
|
|
1437
|
+
});
|
|
1438
|
+
case "timeout":
|
|
1439
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling POST /public-build/vm/create.");
|
|
1440
|
+
case "unknown":
|
|
1441
|
+
throw new errors.ApiError({
|
|
1442
|
+
message: _response.error.errorMessage,
|
|
1443
|
+
rawResponse: _response.rawResponse,
|
|
1444
|
+
});
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
/**
|
|
1449
|
+
* @param {string} jobId
|
|
1450
|
+
* @param {Api.SetupSandboxRequest} request
|
|
1451
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1452
|
+
*
|
|
1453
|
+
* @throws {@link Api.BadRequestError}
|
|
1454
|
+
*
|
|
1455
|
+
* @example
|
|
1456
|
+
* await client.setupSandbox("job_id", {
|
|
1457
|
+
* dataset: "dataset",
|
|
1458
|
+
* plato_dataset_config: {
|
|
1459
|
+
* compute: {
|
|
1460
|
+
* cpus: 1,
|
|
1461
|
+
* memory: 1,
|
|
1462
|
+
* disk: 1,
|
|
1463
|
+
* app_port: 1,
|
|
1464
|
+
* plato_messaging_port: 1
|
|
1465
|
+
* },
|
|
1466
|
+
* metadata: {
|
|
1467
|
+
* name: "name"
|
|
1468
|
+
* }
|
|
1469
|
+
* }
|
|
1470
|
+
* })
|
|
1471
|
+
*/
|
|
1472
|
+
public setupSandbox(
|
|
1473
|
+
jobId: string,
|
|
1474
|
+
request: Api.SetupSandboxRequest,
|
|
1475
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1476
|
+
): core.HttpResponsePromise<Api.SetupSandboxResponse> {
|
|
1477
|
+
return core.HttpResponsePromise.fromPromise(this.__setupSandbox(jobId, request, requestOptions));
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
private async __setupSandbox(
|
|
1481
|
+
jobId: string,
|
|
1482
|
+
request: Api.SetupSandboxRequest,
|
|
1483
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1484
|
+
): Promise<core.WithRawResponse<Api.SetupSandboxResponse>> {
|
|
1485
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1486
|
+
const _response = await core.fetcher({
|
|
1487
|
+
url: core.url.join(
|
|
1488
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1489
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1490
|
+
`public-build/vm/${core.url.encodePathParam(jobId)}/setup-sandbox`,
|
|
1491
|
+
),
|
|
1492
|
+
method: "POST",
|
|
1493
|
+
headers: _headers,
|
|
1494
|
+
contentType: "application/json",
|
|
1495
|
+
queryParameters: requestOptions?.queryParams,
|
|
1496
|
+
requestType: "json",
|
|
1497
|
+
body: request,
|
|
1498
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1499
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1500
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1501
|
+
});
|
|
1502
|
+
if (_response.ok) {
|
|
1503
|
+
return { data: _response.body as Api.SetupSandboxResponse, rawResponse: _response.rawResponse };
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
if (_response.error.reason === "status-code") {
|
|
1507
|
+
switch (_response.error.statusCode) {
|
|
1508
|
+
case 400:
|
|
1509
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1510
|
+
default:
|
|
1511
|
+
throw new errors.ApiError({
|
|
1512
|
+
statusCode: _response.error.statusCode,
|
|
1513
|
+
body: _response.error.body,
|
|
1514
|
+
rawResponse: _response.rawResponse,
|
|
1515
|
+
});
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
switch (_response.error.reason) {
|
|
1520
|
+
case "non-json":
|
|
1521
|
+
throw new errors.ApiError({
|
|
1522
|
+
statusCode: _response.error.statusCode,
|
|
1523
|
+
body: _response.error.rawBody,
|
|
1524
|
+
rawResponse: _response.rawResponse,
|
|
1525
|
+
});
|
|
1526
|
+
case "timeout":
|
|
1527
|
+
throw new errors.ApiTimeoutError(
|
|
1528
|
+
"Timeout exceeded when calling POST /public-build/vm/{job_id}/setup-sandbox.",
|
|
1529
|
+
);
|
|
1530
|
+
case "unknown":
|
|
1531
|
+
throw new errors.ApiError({
|
|
1532
|
+
message: _response.error.errorMessage,
|
|
1533
|
+
rawResponse: _response.rawResponse,
|
|
1534
|
+
});
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
/**
|
|
1539
|
+
* @param {string} publicId
|
|
1540
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1541
|
+
*
|
|
1542
|
+
* @throws {@link Api.BadRequestError}
|
|
1543
|
+
*
|
|
1544
|
+
* @example
|
|
1545
|
+
* await client.deleteSandbox("public_id")
|
|
1546
|
+
*/
|
|
1547
|
+
public deleteSandbox(
|
|
1548
|
+
publicId: string,
|
|
1549
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1550
|
+
): core.HttpResponsePromise<Api.DeleteSandboxResponse> {
|
|
1551
|
+
return core.HttpResponsePromise.fromPromise(this.__deleteSandbox(publicId, requestOptions));
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
private async __deleteSandbox(
|
|
1555
|
+
publicId: string,
|
|
1556
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1557
|
+
): Promise<core.WithRawResponse<Api.DeleteSandboxResponse>> {
|
|
1558
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1559
|
+
const _response = await core.fetcher({
|
|
1560
|
+
url: core.url.join(
|
|
1561
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1562
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1563
|
+
`public-build/vm/${core.url.encodePathParam(publicId)}`,
|
|
1564
|
+
),
|
|
1565
|
+
method: "DELETE",
|
|
1566
|
+
headers: _headers,
|
|
1567
|
+
queryParameters: requestOptions?.queryParams,
|
|
1568
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1569
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1570
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1571
|
+
});
|
|
1572
|
+
if (_response.ok) {
|
|
1573
|
+
return { data: _response.body as Api.DeleteSandboxResponse, rawResponse: _response.rawResponse };
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
if (_response.error.reason === "status-code") {
|
|
1577
|
+
switch (_response.error.statusCode) {
|
|
1578
|
+
case 400:
|
|
1579
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1580
|
+
default:
|
|
1581
|
+
throw new errors.ApiError({
|
|
1582
|
+
statusCode: _response.error.statusCode,
|
|
1583
|
+
body: _response.error.body,
|
|
1584
|
+
rawResponse: _response.rawResponse,
|
|
1585
|
+
});
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
switch (_response.error.reason) {
|
|
1590
|
+
case "non-json":
|
|
1591
|
+
throw new errors.ApiError({
|
|
1592
|
+
statusCode: _response.error.statusCode,
|
|
1593
|
+
body: _response.error.rawBody,
|
|
1594
|
+
rawResponse: _response.rawResponse,
|
|
1595
|
+
});
|
|
1596
|
+
case "timeout":
|
|
1597
|
+
throw new errors.ApiTimeoutError("Timeout exceeded when calling DELETE /public-build/vm/{public_id}.");
|
|
1598
|
+
case "unknown":
|
|
1599
|
+
throw new errors.ApiError({
|
|
1600
|
+
message: _response.error.errorMessage,
|
|
1601
|
+
rawResponse: _response.rawResponse,
|
|
1602
|
+
});
|
|
1603
|
+
}
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
/**
|
|
1607
|
+
* @param {string} publicId
|
|
1608
|
+
* @param {Api.CreateSnapshotRequest} request
|
|
1609
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1610
|
+
*
|
|
1611
|
+
* @throws {@link Api.BadRequestError}
|
|
1612
|
+
*
|
|
1613
|
+
* @example
|
|
1614
|
+
* await client.createSnapshot("public_id")
|
|
1615
|
+
*/
|
|
1616
|
+
public createSnapshot(
|
|
1617
|
+
publicId: string,
|
|
1618
|
+
request: Api.CreateSnapshotRequest = {},
|
|
1619
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1620
|
+
): core.HttpResponsePromise<Api.CreateSnapshotResponse> {
|
|
1621
|
+
return core.HttpResponsePromise.fromPromise(this.__createSnapshot(publicId, request, requestOptions));
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
private async __createSnapshot(
|
|
1625
|
+
publicId: string,
|
|
1626
|
+
request: Api.CreateSnapshotRequest = {},
|
|
1627
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1628
|
+
): Promise<core.WithRawResponse<Api.CreateSnapshotResponse>> {
|
|
1629
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1630
|
+
const _response = await core.fetcher({
|
|
1631
|
+
url: core.url.join(
|
|
1632
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1633
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1634
|
+
`public-build/vm/${core.url.encodePathParam(publicId)}/snapshot`,
|
|
1635
|
+
),
|
|
1636
|
+
method: "POST",
|
|
1637
|
+
headers: _headers,
|
|
1638
|
+
contentType: "application/json",
|
|
1639
|
+
queryParameters: requestOptions?.queryParams,
|
|
1640
|
+
requestType: "json",
|
|
1641
|
+
body: request,
|
|
1642
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1643
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1644
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1645
|
+
});
|
|
1646
|
+
if (_response.ok) {
|
|
1647
|
+
return { data: _response.body as Api.CreateSnapshotResponse, rawResponse: _response.rawResponse };
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
if (_response.error.reason === "status-code") {
|
|
1651
|
+
switch (_response.error.statusCode) {
|
|
1652
|
+
case 400:
|
|
1653
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1654
|
+
default:
|
|
1655
|
+
throw new errors.ApiError({
|
|
1656
|
+
statusCode: _response.error.statusCode,
|
|
1657
|
+
body: _response.error.body,
|
|
1658
|
+
rawResponse: _response.rawResponse,
|
|
1659
|
+
});
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
switch (_response.error.reason) {
|
|
1664
|
+
case "non-json":
|
|
1665
|
+
throw new errors.ApiError({
|
|
1666
|
+
statusCode: _response.error.statusCode,
|
|
1667
|
+
body: _response.error.rawBody,
|
|
1668
|
+
rawResponse: _response.rawResponse,
|
|
1669
|
+
});
|
|
1670
|
+
case "timeout":
|
|
1671
|
+
throw new errors.ApiTimeoutError(
|
|
1672
|
+
"Timeout exceeded when calling POST /public-build/vm/{public_id}/snapshot.",
|
|
1673
|
+
);
|
|
1674
|
+
case "unknown":
|
|
1675
|
+
throw new errors.ApiError({
|
|
1676
|
+
message: _response.error.errorMessage,
|
|
1677
|
+
rawResponse: _response.rawResponse,
|
|
1678
|
+
});
|
|
1679
|
+
}
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1682
|
+
/**
|
|
1683
|
+
* @param {string} publicId
|
|
1684
|
+
* @param {Api.StartWorkerRequest} request
|
|
1685
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1686
|
+
*
|
|
1687
|
+
* @throws {@link Api.BadRequestError}
|
|
1688
|
+
*
|
|
1689
|
+
* @example
|
|
1690
|
+
* await client.startWorker("public_id", {
|
|
1691
|
+
* dataset: "dataset",
|
|
1692
|
+
* plato_dataset_config: {
|
|
1693
|
+
* compute: {
|
|
1694
|
+
* cpus: 1,
|
|
1695
|
+
* memory: 1,
|
|
1696
|
+
* disk: 1,
|
|
1697
|
+
* app_port: 1,
|
|
1698
|
+
* plato_messaging_port: 1
|
|
1699
|
+
* },
|
|
1700
|
+
* metadata: {
|
|
1701
|
+
* name: "name"
|
|
1702
|
+
* }
|
|
1703
|
+
* }
|
|
1704
|
+
* })
|
|
1705
|
+
*/
|
|
1706
|
+
public startWorker(
|
|
1707
|
+
publicId: string,
|
|
1708
|
+
request: Api.StartWorkerRequest,
|
|
1709
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1710
|
+
): core.HttpResponsePromise<Api.StartWorkerResponse> {
|
|
1711
|
+
return core.HttpResponsePromise.fromPromise(this.__startWorker(publicId, request, requestOptions));
|
|
1712
|
+
}
|
|
1713
|
+
|
|
1714
|
+
private async __startWorker(
|
|
1715
|
+
publicId: string,
|
|
1716
|
+
request: Api.StartWorkerRequest,
|
|
1717
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1718
|
+
): Promise<core.WithRawResponse<Api.StartWorkerResponse>> {
|
|
1719
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1720
|
+
const _response = await core.fetcher({
|
|
1721
|
+
url: core.url.join(
|
|
1722
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1723
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1724
|
+
`public-build/vm/${core.url.encodePathParam(publicId)}/start-worker`,
|
|
1725
|
+
),
|
|
1726
|
+
method: "POST",
|
|
1727
|
+
headers: _headers,
|
|
1728
|
+
contentType: "application/json",
|
|
1729
|
+
queryParameters: requestOptions?.queryParams,
|
|
1730
|
+
requestType: "json",
|
|
1731
|
+
body: request,
|
|
1732
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1733
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1734
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1735
|
+
});
|
|
1736
|
+
if (_response.ok) {
|
|
1737
|
+
return { data: _response.body as Api.StartWorkerResponse, rawResponse: _response.rawResponse };
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1740
|
+
if (_response.error.reason === "status-code") {
|
|
1741
|
+
switch (_response.error.statusCode) {
|
|
1742
|
+
case 400:
|
|
1743
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1744
|
+
default:
|
|
1745
|
+
throw new errors.ApiError({
|
|
1746
|
+
statusCode: _response.error.statusCode,
|
|
1747
|
+
body: _response.error.body,
|
|
1748
|
+
rawResponse: _response.rawResponse,
|
|
1749
|
+
});
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
switch (_response.error.reason) {
|
|
1754
|
+
case "non-json":
|
|
1755
|
+
throw new errors.ApiError({
|
|
1756
|
+
statusCode: _response.error.statusCode,
|
|
1757
|
+
body: _response.error.rawBody,
|
|
1758
|
+
rawResponse: _response.rawResponse,
|
|
1759
|
+
});
|
|
1760
|
+
case "timeout":
|
|
1761
|
+
throw new errors.ApiTimeoutError(
|
|
1762
|
+
"Timeout exceeded when calling POST /public-build/vm/{public_id}/start-worker.",
|
|
1763
|
+
);
|
|
1764
|
+
case "unknown":
|
|
1765
|
+
throw new errors.ApiError({
|
|
1766
|
+
message: _response.error.errorMessage,
|
|
1767
|
+
rawResponse: _response.rawResponse,
|
|
1768
|
+
});
|
|
1769
|
+
}
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
/**
|
|
1773
|
+
* @param {string} publicId
|
|
1774
|
+
* @param {Api.SetupRootAccessRequest} request
|
|
1775
|
+
* @param {ApiClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1776
|
+
*
|
|
1777
|
+
* @throws {@link Api.BadRequestError}
|
|
1778
|
+
*
|
|
1779
|
+
* @example
|
|
1780
|
+
* await client.setupRootAccess("public_id", {
|
|
1781
|
+
* ssh_public_key: "ssh_public_key"
|
|
1782
|
+
* })
|
|
1783
|
+
*/
|
|
1784
|
+
public setupRootAccess(
|
|
1785
|
+
publicId: string,
|
|
1786
|
+
request: Api.SetupRootAccessRequest,
|
|
1787
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1788
|
+
): core.HttpResponsePromise<Api.SetupRootAccessResponse> {
|
|
1789
|
+
return core.HttpResponsePromise.fromPromise(this.__setupRootAccess(publicId, request, requestOptions));
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
private async __setupRootAccess(
|
|
1793
|
+
publicId: string,
|
|
1794
|
+
request: Api.SetupRootAccessRequest,
|
|
1795
|
+
requestOptions?: ApiClient.RequestOptions,
|
|
1796
|
+
): Promise<core.WithRawResponse<Api.SetupRootAccessResponse>> {
|
|
1797
|
+
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(this._options?.headers, requestOptions?.headers);
|
|
1798
|
+
const _response = await core.fetcher({
|
|
1799
|
+
url: core.url.join(
|
|
1800
|
+
(await core.Supplier.get(this._options.baseUrl)) ??
|
|
1801
|
+
(await core.Supplier.get(this._options.environment)),
|
|
1802
|
+
`public-build/vm/${core.url.encodePathParam(publicId)}/setup-root-access`,
|
|
1803
|
+
),
|
|
1804
|
+
method: "POST",
|
|
1805
|
+
headers: _headers,
|
|
1806
|
+
contentType: "application/json",
|
|
1807
|
+
queryParameters: requestOptions?.queryParams,
|
|
1808
|
+
requestType: "json",
|
|
1809
|
+
body: request,
|
|
1810
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1811
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1812
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1813
|
+
});
|
|
1814
|
+
if (_response.ok) {
|
|
1815
|
+
return { data: _response.body as Api.SetupRootAccessResponse, rawResponse: _response.rawResponse };
|
|
1816
|
+
}
|
|
1817
|
+
|
|
1818
|
+
if (_response.error.reason === "status-code") {
|
|
1819
|
+
switch (_response.error.statusCode) {
|
|
1820
|
+
case 400:
|
|
1821
|
+
throw new Api.BadRequestError(_response.error.body as Api.ErrorResponse, _response.rawResponse);
|
|
1822
|
+
default:
|
|
1823
|
+
throw new errors.ApiError({
|
|
1824
|
+
statusCode: _response.error.statusCode,
|
|
1825
|
+
body: _response.error.body,
|
|
1826
|
+
rawResponse: _response.rawResponse,
|
|
1827
|
+
});
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
switch (_response.error.reason) {
|
|
1832
|
+
case "non-json":
|
|
1833
|
+
throw new errors.ApiError({
|
|
1834
|
+
statusCode: _response.error.statusCode,
|
|
1835
|
+
body: _response.error.rawBody,
|
|
1836
|
+
rawResponse: _response.rawResponse,
|
|
1837
|
+
});
|
|
1838
|
+
case "timeout":
|
|
1839
|
+
throw new errors.ApiTimeoutError(
|
|
1840
|
+
"Timeout exceeded when calling POST /public-build/vm/{public_id}/setup-root-access.",
|
|
1841
|
+
);
|
|
1842
|
+
case "unknown":
|
|
1843
|
+
throw new errors.ApiError({
|
|
1844
|
+
message: _response.error.errorMessage,
|
|
1845
|
+
rawResponse: _response.rawResponse,
|
|
1846
|
+
});
|
|
1847
|
+
}
|
|
1848
|
+
}
|
|
1849
|
+
}
|