@boatdev/sdk 1.9.9 → 1.11.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.
- package/.openapi-generator/FILES +30 -0
- package/dist/apis/BoatApi.d.ts +144 -18
- package/dist/apis/BoatApi.js +305 -22
- package/dist/esm/apis/BoatApi.d.ts +144 -18
- package/dist/esm/apis/BoatApi.js +304 -21
- package/dist/esm/models/CreateSandboxRequest.d.ts +9 -3
- package/dist/esm/models/CreateSandboxRequest.js +2 -0
- package/dist/esm/models/CreateSandboxResponse.d.ts +6 -0
- package/dist/esm/models/CreateSandboxResponse.js +2 -0
- package/dist/esm/models/CreateScopedApiKeyRequest.d.ts +1 -1
- package/dist/esm/models/CredentialId.d.ts +3 -0
- package/dist/esm/models/CredentialId.js +3 -0
- package/dist/esm/models/CredentialProfile.d.ts +7 -0
- package/dist/esm/models/CredentialProfile.js +3 -0
- package/dist/esm/models/DeletionOperation.d.ts +1 -1
- package/dist/esm/models/LimitsFields.d.ts +1 -1
- package/dist/esm/models/LimitsResponse.d.ts +1 -1
- package/dist/esm/models/MeResponseAllOfUser.d.ts +1 -0
- package/dist/esm/models/MeResponseAllOfUser.js +1 -0
- package/dist/esm/models/ResourceAccess.d.ts +38 -0
- package/dist/esm/models/ResourceAccess.js +47 -0
- package/dist/esm/models/ResourceAccessUpdate.d.ts +38 -0
- package/dist/esm/models/ResourceAccessUpdate.js +45 -0
- package/dist/esm/models/ResumeRequest.d.ts +1 -1
- package/dist/esm/models/Sandbox.d.ts +35 -1
- package/dist/esm/models/Sandbox.js +17 -0
- package/dist/esm/models/SandboxCost.d.ts +44 -0
- package/dist/esm/models/SandboxCost.js +51 -0
- package/dist/esm/models/SandboxEnvironment.d.ts +7 -0
- package/dist/esm/models/SandboxEnvironment.js +3 -0
- package/dist/esm/models/SandboxLastReboot.d.ts +47 -0
- package/dist/esm/models/SandboxLastReboot.js +51 -0
- package/dist/esm/models/SandboxListResponse.d.ts +7 -0
- package/dist/esm/models/SandboxListResponse.js +3 -0
- package/dist/esm/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
- package/dist/esm/models/SandboxListResponseAllOfDeletedCost.js +51 -0
- package/dist/esm/models/SavedSnapshot.d.ts +83 -0
- package/dist/esm/models/SavedSnapshot.js +71 -0
- package/dist/esm/models/SavedSnapshotAllowance.d.ts +81 -0
- package/dist/esm/models/SavedSnapshotAllowance.js +57 -0
- package/dist/esm/models/SavedSnapshotDeletedResponse.d.ts +64 -0
- package/dist/esm/models/SavedSnapshotDeletedResponse.js +67 -0
- package/dist/esm/models/SavedSnapshotInfoResponse.d.ts +52 -0
- package/dist/esm/models/SavedSnapshotInfoResponse.js +58 -0
- package/dist/esm/models/SavedSnapshotListResponse.d.ts +59 -0
- package/dist/esm/models/SavedSnapshotListResponse.js +61 -0
- package/dist/esm/models/SavedSnapshotSaveRequest.d.ts +38 -0
- package/dist/esm/models/SavedSnapshotSaveRequest.js +47 -0
- package/dist/esm/models/SavedSnapshotSavingResponse.d.ts +65 -0
- package/dist/esm/models/SavedSnapshotSavingResponse.js +68 -0
- package/dist/esm/models/SnapshotSummary.d.ts +1 -1
- package/dist/esm/models/Unshare200Response.d.ts +39 -0
- package/dist/esm/models/Unshare200Response.js +44 -0
- package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +7 -0
- package/dist/esm/models/UpdateCredentialProfileRequest.js +3 -0
- package/dist/esm/models/UpdateOrganization200Response.d.ts +50 -0
- package/dist/esm/models/UpdateOrganization200Response.js +47 -0
- package/dist/esm/models/UpdateOrganizationRequest.d.ts +32 -0
- package/dist/esm/models/UpdateOrganizationRequest.js +43 -0
- package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
- package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +3 -0
- package/dist/esm/models/index.d.ts +15 -0
- package/dist/esm/models/index.js +15 -0
- package/dist/models/CreateSandboxRequest.d.ts +9 -3
- package/dist/models/CreateSandboxRequest.js +2 -0
- package/dist/models/CreateSandboxResponse.d.ts +6 -0
- package/dist/models/CreateSandboxResponse.js +2 -0
- package/dist/models/CreateScopedApiKeyRequest.d.ts +1 -1
- package/dist/models/CredentialId.d.ts +3 -0
- package/dist/models/CredentialId.js +3 -0
- package/dist/models/CredentialProfile.d.ts +7 -0
- package/dist/models/CredentialProfile.js +3 -0
- package/dist/models/DeletionOperation.d.ts +1 -1
- package/dist/models/LimitsFields.d.ts +1 -1
- package/dist/models/LimitsResponse.d.ts +1 -1
- package/dist/models/MeResponseAllOfUser.d.ts +1 -0
- package/dist/models/MeResponseAllOfUser.js +1 -0
- package/dist/models/ResourceAccess.d.ts +38 -0
- package/dist/models/ResourceAccess.js +54 -0
- package/dist/models/ResourceAccessUpdate.d.ts +38 -0
- package/dist/models/ResourceAccessUpdate.js +52 -0
- package/dist/models/ResumeRequest.d.ts +1 -1
- package/dist/models/Sandbox.d.ts +35 -1
- package/dist/models/Sandbox.js +18 -1
- package/dist/models/SandboxCost.d.ts +44 -0
- package/dist/models/SandboxCost.js +58 -0
- package/dist/models/SandboxEnvironment.d.ts +7 -0
- package/dist/models/SandboxEnvironment.js +3 -0
- package/dist/models/SandboxLastReboot.d.ts +47 -0
- package/dist/models/SandboxLastReboot.js +59 -0
- package/dist/models/SandboxListResponse.d.ts +7 -0
- package/dist/models/SandboxListResponse.js +3 -0
- package/dist/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
- package/dist/models/SandboxListResponseAllOfDeletedCost.js +58 -0
- package/dist/models/SavedSnapshot.d.ts +83 -0
- package/dist/models/SavedSnapshot.js +79 -0
- package/dist/models/SavedSnapshotAllowance.d.ts +81 -0
- package/dist/models/SavedSnapshotAllowance.js +64 -0
- package/dist/models/SavedSnapshotDeletedResponse.d.ts +64 -0
- package/dist/models/SavedSnapshotDeletedResponse.js +75 -0
- package/dist/models/SavedSnapshotInfoResponse.d.ts +52 -0
- package/dist/models/SavedSnapshotInfoResponse.js +66 -0
- package/dist/models/SavedSnapshotListResponse.d.ts +59 -0
- package/dist/models/SavedSnapshotListResponse.js +69 -0
- package/dist/models/SavedSnapshotSaveRequest.d.ts +38 -0
- package/dist/models/SavedSnapshotSaveRequest.js +54 -0
- package/dist/models/SavedSnapshotSavingResponse.d.ts +65 -0
- package/dist/models/SavedSnapshotSavingResponse.js +76 -0
- package/dist/models/SnapshotSummary.d.ts +1 -1
- package/dist/models/Unshare200Response.d.ts +39 -0
- package/dist/models/Unshare200Response.js +51 -0
- package/dist/models/UpdateCredentialProfileRequest.d.ts +7 -0
- package/dist/models/UpdateCredentialProfileRequest.js +3 -0
- package/dist/models/UpdateOrganization200Response.d.ts +50 -0
- package/dist/models/UpdateOrganization200Response.js +54 -0
- package/dist/models/UpdateOrganizationRequest.d.ts +32 -0
- package/dist/models/UpdateOrganizationRequest.js +50 -0
- package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
- package/dist/models/UpdateSandboxEnvironmentRequest.js +3 -0
- package/dist/models/index.d.ts +15 -0
- package/dist/models/index.js +15 -0
- package/docs/BoatApi.md +468 -19
- package/docs/CreateSandboxRequest.md +2 -0
- package/docs/CreateSandboxResponse.md +2 -0
- package/docs/CredentialProfile.md +2 -0
- package/docs/ResourceAccess.md +35 -0
- package/docs/ResourceAccessUpdate.md +35 -0
- package/docs/Sandbox.md +8 -0
- package/docs/SandboxCost.md +37 -0
- package/docs/SandboxEnvironment.md +2 -0
- package/docs/SandboxLastReboot.md +35 -0
- package/docs/SandboxListResponse.md +2 -0
- package/docs/SandboxListResponseAllOfDeletedCost.md +37 -0
- package/docs/SavedSnapshot.md +47 -0
- package/docs/SavedSnapshotAllowance.md +49 -0
- package/docs/SavedSnapshotDeletedResponse.md +38 -0
- package/docs/SavedSnapshotInfoResponse.md +36 -0
- package/docs/SavedSnapshotListResponse.md +38 -0
- package/docs/SavedSnapshotSaveRequest.md +34 -0
- package/docs/SavedSnapshotSavingResponse.md +38 -0
- package/docs/Unshare200Response.md +34 -0
- package/docs/UpdateCredentialProfileRequest.md +2 -0
- package/docs/UpdateOrganization200Response.md +38 -0
- package/docs/UpdateOrganizationRequest.md +32 -0
- package/docs/UpdateSandboxEnvironmentRequest.md +2 -0
- package/package.json +1 -1
- package/src/apis/BoatApi.ts +440 -21
- package/src/models/CreateSandboxRequest.ts +11 -3
- package/src/models/CreateSandboxResponse.ts +8 -0
- package/src/models/CreateScopedApiKeyRequest.ts +1 -1
- package/src/models/CredentialId.ts +3 -0
- package/src/models/CredentialProfile.ts +15 -0
- package/src/models/DeletionOperation.ts +1 -1
- package/src/models/LimitsFields.ts +1 -1
- package/src/models/LimitsResponse.ts +1 -1
- package/src/models/MeResponseAllOfUser.ts +1 -0
- package/src/models/ResourceAccess.ts +75 -0
- package/src/models/ResourceAccessUpdate.ts +74 -0
- package/src/models/ResumeRequest.ts +1 -1
- package/src/models/Sandbox.ts +56 -1
- package/src/models/SandboxCost.ts +84 -0
- package/src/models/SandboxEnvironment.ts +15 -0
- package/src/models/SandboxLastReboot.ts +85 -0
- package/src/models/SandboxListResponse.ts +15 -0
- package/src/models/SandboxListResponseAllOfDeletedCost.ts +84 -0
- package/src/models/SavedSnapshot.ts +137 -0
- package/src/models/SavedSnapshotAllowance.ts +130 -0
- package/src/models/SavedSnapshotDeletedResponse.ts +111 -0
- package/src/models/SavedSnapshotInfoResponse.ts +102 -0
- package/src/models/SavedSnapshotListResponse.ts +117 -0
- package/src/models/SavedSnapshotSaveRequest.ts +75 -0
- package/src/models/SavedSnapshotSavingResponse.ts +119 -0
- package/src/models/SnapshotSummary.ts +1 -1
- package/src/models/Unshare200Response.ts +81 -0
- package/src/models/UpdateCredentialProfileRequest.ts +16 -0
- package/src/models/UpdateOrganization200Response.ts +89 -0
- package/src/models/UpdateOrganizationRequest.ts +66 -0
- package/src/models/UpdateSandboxEnvironmentRequest.ts +15 -0
- package/src/models/index.ts +15 -0
package/dist/esm/apis/BoatApi.js
CHANGED
|
@@ -83,6 +83,11 @@ import { SandboxEnvironmentResponseFromJSON, } from '../models/SandboxEnvironmen
|
|
|
83
83
|
import { SandboxInfoResponseFromJSON, } from '../models/SandboxInfoResponse';
|
|
84
84
|
import { SandboxListResponseFromJSON, } from '../models/SandboxListResponse';
|
|
85
85
|
import { SandboxUsageResponseFromJSON, } from '../models/SandboxUsageResponse';
|
|
86
|
+
import { SavedSnapshotDeletedResponseFromJSON, } from '../models/SavedSnapshotDeletedResponse';
|
|
87
|
+
import { SavedSnapshotInfoResponseFromJSON, } from '../models/SavedSnapshotInfoResponse';
|
|
88
|
+
import { SavedSnapshotListResponseFromJSON, } from '../models/SavedSnapshotListResponse';
|
|
89
|
+
import { SavedSnapshotSaveRequestToJSON, } from '../models/SavedSnapshotSaveRequest';
|
|
90
|
+
import { SavedSnapshotSavingResponseFromJSON, } from '../models/SavedSnapshotSavingResponse';
|
|
86
91
|
import { SecretsResponseFromJSON, } from '../models/SecretsResponse';
|
|
87
92
|
import { SecretsUpdateRequestToJSON, } from '../models/SecretsUpdateRequest';
|
|
88
93
|
import { SetCredentialKeyRequestToJSON, } from '../models/SetCredentialKeyRequest';
|
|
@@ -104,8 +109,11 @@ import { StopRequestToJSON, } from '../models/StopRequest';
|
|
|
104
109
|
import { TelemetryResponseFromJSON, } from '../models/TelemetryResponse';
|
|
105
110
|
import { TelemetrySetRequestToJSON, } from '../models/TelemetrySetRequest';
|
|
106
111
|
import { TelemetrySetResponseFromJSON, } from '../models/TelemetrySetResponse';
|
|
112
|
+
import { Unshare200ResponseFromJSON, } from '../models/Unshare200Response';
|
|
107
113
|
import { UpdateAiProxyRequestToJSON, } from '../models/UpdateAiProxyRequest';
|
|
108
114
|
import { UpdateCredentialProfileRequestToJSON, } from '../models/UpdateCredentialProfileRequest';
|
|
115
|
+
import { UpdateOrganization200ResponseFromJSON, } from '../models/UpdateOrganization200Response';
|
|
116
|
+
import { UpdateOrganizationRequestToJSON, } from '../models/UpdateOrganizationRequest';
|
|
109
117
|
import { UpdateSandboxEnvironmentRequestToJSON, } from '../models/UpdateSandboxEnvironmentRequest';
|
|
110
118
|
import { UpdateSandboxRequestToJSON, } from '../models/UpdateSandboxRequest';
|
|
111
119
|
import { UpgradeSandboxEnvironmentRequestToJSON, } from '../models/UpgradeSandboxEnvironmentRequest';
|
|
@@ -909,7 +917,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
909
917
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
910
918
|
}
|
|
911
919
|
}
|
|
912
|
-
let urlPath = `/
|
|
920
|
+
let urlPath = `/saved-snapshots/{name}/shares`;
|
|
913
921
|
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
914
922
|
return {
|
|
915
923
|
path: urlPath,
|
|
@@ -919,8 +927,8 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
919
927
|
};
|
|
920
928
|
}
|
|
921
929
|
/**
|
|
922
|
-
* Make a secret code that lets any Boat account create a sandbox from this
|
|
923
|
-
* Share a
|
|
930
|
+
* Make a secret code that lets any Boat account create a sandbox from this saved snapshot (`boat snapshot share <name>` in the CLI). The response shows the code once; Boat stores only a hash. Re-saving the name changes what the code deploys. Removing the name removes its codes. Everything on the disk is shared, so do not keep secrets in files on it. Needs `snapshot.write`.
|
|
931
|
+
* Share a saved snapshot
|
|
924
932
|
*/
|
|
925
933
|
async createSnapshotShareRaw(requestParameters, initOverrides) {
|
|
926
934
|
const requestOptions = await this.createSnapshotShareRequestOpts(requestParameters);
|
|
@@ -928,8 +936,8 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
928
936
|
return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotShareCreatedResponseFromJSON(jsonValue));
|
|
929
937
|
}
|
|
930
938
|
/**
|
|
931
|
-
* Make a secret code that lets any Boat account create a sandbox from this
|
|
932
|
-
* Share a
|
|
939
|
+
* Make a secret code that lets any Boat account create a sandbox from this saved snapshot (`boat snapshot share <name>` in the CLI). The response shows the code once; Boat stores only a hash. Re-saving the name changes what the code deploys. Removing the name removes its codes. Everything on the disk is shared, so do not keep secrets in files on it. Needs `snapshot.write`.
|
|
940
|
+
* Share a saved snapshot
|
|
933
941
|
*/
|
|
934
942
|
async createSnapshotShare(requestParameters, initOverrides) {
|
|
935
943
|
const response = await this.createSnapshotShareRaw(requestParameters, initOverrides);
|
|
@@ -1407,6 +1415,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1407
1415
|
}
|
|
1408
1416
|
/**
|
|
1409
1417
|
* Creates request options for deleteNamedSnapshot without sending the request
|
|
1418
|
+
* @deprecated
|
|
1410
1419
|
*/
|
|
1411
1420
|
async deleteNamedSnapshotRequestOpts(requestParameters) {
|
|
1412
1421
|
if (requestParameters['name'] == null) {
|
|
@@ -1433,6 +1442,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1433
1442
|
/**
|
|
1434
1443
|
* Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
|
|
1435
1444
|
* Remove a named snapshot
|
|
1445
|
+
* @deprecated
|
|
1436
1446
|
*/
|
|
1437
1447
|
async deleteNamedSnapshotRaw(requestParameters, initOverrides) {
|
|
1438
1448
|
const requestOptions = await this.deleteNamedSnapshotRequestOpts(requestParameters);
|
|
@@ -1442,6 +1452,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1442
1452
|
/**
|
|
1443
1453
|
* Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
|
|
1444
1454
|
* Remove a named snapshot
|
|
1455
|
+
* @deprecated
|
|
1445
1456
|
*/
|
|
1446
1457
|
async deleteNamedSnapshot(requestParameters, initOverrides) {
|
|
1447
1458
|
const response = await this.deleteNamedSnapshotRaw(requestParameters, initOverrides);
|
|
@@ -1479,7 +1490,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1479
1490
|
};
|
|
1480
1491
|
}
|
|
1481
1492
|
/**
|
|
1482
|
-
* Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed.
|
|
1493
|
+
* Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Saved snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
|
|
1483
1494
|
* Permanently delete sandbox data
|
|
1484
1495
|
*/
|
|
1485
1496
|
async deleteSandboxRaw(requestParameters, initOverrides) {
|
|
@@ -1488,7 +1499,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1488
1499
|
return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationResponseFromJSON(jsonValue));
|
|
1489
1500
|
}
|
|
1490
1501
|
/**
|
|
1491
|
-
* Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed.
|
|
1502
|
+
* Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Saved snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
|
|
1492
1503
|
* Permanently delete sandbox data
|
|
1493
1504
|
*/
|
|
1494
1505
|
async deleteSandbox(requestParameters, initOverrides) {
|
|
@@ -1527,7 +1538,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1527
1538
|
};
|
|
1528
1539
|
}
|
|
1529
1540
|
/**
|
|
1530
|
-
* Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its
|
|
1541
|
+
* Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its saved snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
|
|
1531
1542
|
* Permanently delete all snapshots of a sandbox
|
|
1532
1543
|
*/
|
|
1533
1544
|
async deleteSandboxSnapshotsRaw(requestParameters, initOverrides) {
|
|
@@ -1536,13 +1547,55 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
1536
1547
|
return new runtime.JSONApiResponse(response, (jsonValue) => DeletionOperationListResponseFromJSON(jsonValue));
|
|
1537
1548
|
}
|
|
1538
1549
|
/**
|
|
1539
|
-
* Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its
|
|
1550
|
+
* Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its saved snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
|
|
1540
1551
|
* Permanently delete all snapshots of a sandbox
|
|
1541
1552
|
*/
|
|
1542
1553
|
async deleteSandboxSnapshots(requestParameters, initOverrides) {
|
|
1543
1554
|
const response = await this.deleteSandboxSnapshotsRaw(requestParameters, initOverrides);
|
|
1544
1555
|
return await response.value();
|
|
1545
1556
|
}
|
|
1557
|
+
/**
|
|
1558
|
+
* Creates request options for deleteSavedSnapshot without sending the request
|
|
1559
|
+
*/
|
|
1560
|
+
async deleteSavedSnapshotRequestOpts(requestParameters) {
|
|
1561
|
+
if (requestParameters['name'] == null) {
|
|
1562
|
+
throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling deleteSavedSnapshot().');
|
|
1563
|
+
}
|
|
1564
|
+
const queryParameters = {};
|
|
1565
|
+
const headerParameters = {};
|
|
1566
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1567
|
+
const token = this.configuration.accessToken;
|
|
1568
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
1569
|
+
if (tokenString) {
|
|
1570
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1571
|
+
}
|
|
1572
|
+
}
|
|
1573
|
+
let urlPath = `/saved-snapshots/{name}`;
|
|
1574
|
+
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
1575
|
+
return {
|
|
1576
|
+
path: urlPath,
|
|
1577
|
+
method: 'DELETE',
|
|
1578
|
+
headers: headerParameters,
|
|
1579
|
+
query: queryParameters,
|
|
1580
|
+
};
|
|
1581
|
+
}
|
|
1582
|
+
/**
|
|
1583
|
+
* Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
|
|
1584
|
+
* Remove a saved snapshot
|
|
1585
|
+
*/
|
|
1586
|
+
async deleteSavedSnapshotRaw(requestParameters, initOverrides) {
|
|
1587
|
+
const requestOptions = await this.deleteSavedSnapshotRequestOpts(requestParameters);
|
|
1588
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
1589
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotDeletedResponseFromJSON(jsonValue));
|
|
1590
|
+
}
|
|
1591
|
+
/**
|
|
1592
|
+
* Remove a saved snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
|
|
1593
|
+
* Remove a saved snapshot
|
|
1594
|
+
*/
|
|
1595
|
+
async deleteSavedSnapshot(requestParameters, initOverrides) {
|
|
1596
|
+
const response = await this.deleteSavedSnapshotRaw(requestParameters, initOverrides);
|
|
1597
|
+
return await response.value();
|
|
1598
|
+
}
|
|
1546
1599
|
/**
|
|
1547
1600
|
* Creates request options for deleteSnapshot without sending the request
|
|
1548
1601
|
*/
|
|
@@ -2172,6 +2225,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2172
2225
|
}
|
|
2173
2226
|
/**
|
|
2174
2227
|
* Creates request options for getNamedSnapshot without sending the request
|
|
2228
|
+
* @deprecated
|
|
2175
2229
|
*/
|
|
2176
2230
|
async getNamedSnapshotRequestOpts(requestParameters) {
|
|
2177
2231
|
if (requestParameters['name'] == null) {
|
|
@@ -2197,6 +2251,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2197
2251
|
}
|
|
2198
2252
|
/**
|
|
2199
2253
|
* Get a named snapshot
|
|
2254
|
+
* @deprecated
|
|
2200
2255
|
*/
|
|
2201
2256
|
async getNamedSnapshotRaw(requestParameters, initOverrides) {
|
|
2202
2257
|
const requestOptions = await this.getNamedSnapshotRequestOpts(requestParameters);
|
|
@@ -2205,6 +2260,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2205
2260
|
}
|
|
2206
2261
|
/**
|
|
2207
2262
|
* Get a named snapshot
|
|
2263
|
+
* @deprecated
|
|
2208
2264
|
*/
|
|
2209
2265
|
async getNamedSnapshot(requestParameters, initOverrides) {
|
|
2210
2266
|
const response = await this.getNamedSnapshotRaw(requestParameters, initOverrides);
|
|
@@ -2239,7 +2295,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2239
2295
|
};
|
|
2240
2296
|
}
|
|
2241
2297
|
/**
|
|
2242
|
-
* One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `
|
|
2298
|
+
* One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
|
|
2243
2299
|
* Get sandbox AI usage
|
|
2244
2300
|
*/
|
|
2245
2301
|
async getSandboxAiUsageRaw(requestParameters, initOverrides) {
|
|
@@ -2248,13 +2304,53 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2248
2304
|
return new runtime.JSONApiResponse(response, (jsonValue) => SandboxAiUsageResponseFromJSON(jsonValue));
|
|
2249
2305
|
}
|
|
2250
2306
|
/**
|
|
2251
|
-
* One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `
|
|
2307
|
+
* One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `sandbox.read` on the sandbox.
|
|
2252
2308
|
* Get sandbox AI usage
|
|
2253
2309
|
*/
|
|
2254
2310
|
async getSandboxAiUsage(requestParameters, initOverrides) {
|
|
2255
2311
|
const response = await this.getSandboxAiUsageRaw(requestParameters, initOverrides);
|
|
2256
2312
|
return await response.value();
|
|
2257
2313
|
}
|
|
2314
|
+
/**
|
|
2315
|
+
* Creates request options for getSavedSnapshot without sending the request
|
|
2316
|
+
*/
|
|
2317
|
+
async getSavedSnapshotRequestOpts(requestParameters) {
|
|
2318
|
+
if (requestParameters['name'] == null) {
|
|
2319
|
+
throw new runtime.RequiredError('name', 'Required parameter "name" was null or undefined when calling getSavedSnapshot().');
|
|
2320
|
+
}
|
|
2321
|
+
const queryParameters = {};
|
|
2322
|
+
const headerParameters = {};
|
|
2323
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2324
|
+
const token = this.configuration.accessToken;
|
|
2325
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
2326
|
+
if (tokenString) {
|
|
2327
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2328
|
+
}
|
|
2329
|
+
}
|
|
2330
|
+
let urlPath = `/saved-snapshots/{name}`;
|
|
2331
|
+
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
2332
|
+
return {
|
|
2333
|
+
path: urlPath,
|
|
2334
|
+
method: 'GET',
|
|
2335
|
+
headers: headerParameters,
|
|
2336
|
+
query: queryParameters,
|
|
2337
|
+
};
|
|
2338
|
+
}
|
|
2339
|
+
/**
|
|
2340
|
+
* Get a saved snapshot
|
|
2341
|
+
*/
|
|
2342
|
+
async getSavedSnapshotRaw(requestParameters, initOverrides) {
|
|
2343
|
+
const requestOptions = await this.getSavedSnapshotRequestOpts(requestParameters);
|
|
2344
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
2345
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotInfoResponseFromJSON(jsonValue));
|
|
2346
|
+
}
|
|
2347
|
+
/**
|
|
2348
|
+
* Get a saved snapshot
|
|
2349
|
+
*/
|
|
2350
|
+
async getSavedSnapshot(requestParameters, initOverrides) {
|
|
2351
|
+
const response = await this.getSavedSnapshotRaw(requestParameters, initOverrides);
|
|
2352
|
+
return await response.value();
|
|
2353
|
+
}
|
|
2258
2354
|
/**
|
|
2259
2355
|
* Creates request options for getSnapshotDownload without sending the request
|
|
2260
2356
|
*/
|
|
@@ -2736,6 +2832,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2736
2832
|
}
|
|
2737
2833
|
/**
|
|
2738
2834
|
* Creates request options for listNamedSnapshots without sending the request
|
|
2835
|
+
* @deprecated
|
|
2739
2836
|
*/
|
|
2740
2837
|
async listNamedSnapshotsRequestOpts() {
|
|
2741
2838
|
const queryParameters = {};
|
|
@@ -2758,6 +2855,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2758
2855
|
/**
|
|
2759
2856
|
* List your named snapshots, newest first.
|
|
2760
2857
|
* List named snapshots
|
|
2858
|
+
* @deprecated
|
|
2761
2859
|
*/
|
|
2762
2860
|
async listNamedSnapshotsRaw(initOverrides) {
|
|
2763
2861
|
const requestOptions = await this.listNamedSnapshotsRequestOpts();
|
|
@@ -2767,6 +2865,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2767
2865
|
/**
|
|
2768
2866
|
* List your named snapshots, newest first.
|
|
2769
2867
|
* List named snapshots
|
|
2868
|
+
* @deprecated
|
|
2770
2869
|
*/
|
|
2771
2870
|
async listNamedSnapshots(initOverrides) {
|
|
2772
2871
|
const response = await this.listNamedSnapshotsRaw(initOverrides);
|
|
@@ -2861,6 +2960,44 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2861
2960
|
const response = await this.listSandboxSnapshotsRaw(requestParameters, initOverrides);
|
|
2862
2961
|
return await response.value();
|
|
2863
2962
|
}
|
|
2963
|
+
/**
|
|
2964
|
+
* Creates request options for listSavedSnapshots without sending the request
|
|
2965
|
+
*/
|
|
2966
|
+
async listSavedSnapshotsRequestOpts() {
|
|
2967
|
+
const queryParameters = {};
|
|
2968
|
+
const headerParameters = {};
|
|
2969
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2970
|
+
const token = this.configuration.accessToken;
|
|
2971
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
2972
|
+
if (tokenString) {
|
|
2973
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2974
|
+
}
|
|
2975
|
+
}
|
|
2976
|
+
let urlPath = `/saved-snapshots`;
|
|
2977
|
+
return {
|
|
2978
|
+
path: urlPath,
|
|
2979
|
+
method: 'GET',
|
|
2980
|
+
headers: headerParameters,
|
|
2981
|
+
query: queryParameters,
|
|
2982
|
+
};
|
|
2983
|
+
}
|
|
2984
|
+
/**
|
|
2985
|
+
* List your saved snapshots, newest first.
|
|
2986
|
+
* List saved snapshots
|
|
2987
|
+
*/
|
|
2988
|
+
async listSavedSnapshotsRaw(initOverrides) {
|
|
2989
|
+
const requestOptions = await this.listSavedSnapshotsRequestOpts();
|
|
2990
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
2991
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotListResponseFromJSON(jsonValue));
|
|
2992
|
+
}
|
|
2993
|
+
/**
|
|
2994
|
+
* List your saved snapshots, newest first.
|
|
2995
|
+
* List saved snapshots
|
|
2996
|
+
*/
|
|
2997
|
+
async listSavedSnapshots(initOverrides) {
|
|
2998
|
+
const response = await this.listSavedSnapshotsRaw(initOverrides);
|
|
2999
|
+
return await response.value();
|
|
3000
|
+
}
|
|
2864
3001
|
/**
|
|
2865
3002
|
* Creates request options for listSnapshotShares without sending the request
|
|
2866
3003
|
*/
|
|
@@ -2877,7 +3014,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2877
3014
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2878
3015
|
}
|
|
2879
3016
|
}
|
|
2880
|
-
let urlPath = `/
|
|
3017
|
+
let urlPath = `/saved-snapshots/{name}/shares`;
|
|
2881
3018
|
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
2882
3019
|
return {
|
|
2883
3020
|
path: urlPath,
|
|
@@ -2887,8 +3024,8 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2887
3024
|
};
|
|
2888
3025
|
}
|
|
2889
3026
|
/**
|
|
2890
|
-
* List the share codes of a
|
|
2891
|
-
* List share codes of a
|
|
3027
|
+
* List the share codes of a saved snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
|
|
3028
|
+
* List share codes of a saved snapshot
|
|
2892
3029
|
*/
|
|
2893
3030
|
async listSnapshotSharesRaw(requestParameters, initOverrides) {
|
|
2894
3031
|
const requestOptions = await this.listSnapshotSharesRequestOpts(requestParameters);
|
|
@@ -2896,8 +3033,8 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
2896
3033
|
return new runtime.JSONApiResponse(response, (jsonValue) => NamedSnapshotShareListResponseFromJSON(jsonValue));
|
|
2897
3034
|
}
|
|
2898
3035
|
/**
|
|
2899
|
-
* List the share codes of a
|
|
2900
|
-
* List share codes of a
|
|
3036
|
+
* List the share codes of a saved snapshot, active and revoked (`boat snapshot shares <name>` in the CLI). The full codes are not returned. Needs `snapshot.read`.
|
|
3037
|
+
* List share codes of a saved snapshot
|
|
2901
3038
|
*/
|
|
2902
3039
|
async listSnapshotShares(requestParameters, initOverrides) {
|
|
2903
3040
|
const response = await this.listSnapshotSharesRaw(requestParameters, initOverrides);
|
|
@@ -3239,7 +3376,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3239
3376
|
};
|
|
3240
3377
|
}
|
|
3241
3378
|
/**
|
|
3242
|
-
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or resume it from its last snapshot. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
3379
|
+
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
3243
3380
|
* Recover a sandbox that stopped responding
|
|
3244
3381
|
*/
|
|
3245
3382
|
async recoverRaw(requestParameters, initOverrides) {
|
|
@@ -3248,7 +3385,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3248
3385
|
return new runtime.JSONApiResponse(response, (jsonValue) => Recover200ResponseFromJSON(jsonValue));
|
|
3249
3386
|
}
|
|
3250
3387
|
/**
|
|
3251
|
-
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or resume it from its last snapshot. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
3388
|
+
* Power-cycle the machine of a sandbox that stopped answering. The disk is not touched. The sandbox usually answers again within 1-2 minutes and then saves your work by itself; `sandbox.recovered` fires when it does. Refused with `409`: - `sandbox_is_reachable`: the sandbox answers normally. - `too_soon`: a recover started less than 10 minutes ago. - `no_machine`: the sandbox has no machine. Resume it instead. - `recover_unsupported`: its machine cannot be power-cycled. Wait for it to answer, or stop it with `{\"force\": true}` and resume it from its last good snapshot. With no snapshot, a forced stop loses everything. - `reset_failed`: the power-cycle failed. Reply to the incident email.
|
|
3252
3389
|
* Recover a sandbox that stopped responding
|
|
3253
3390
|
*/
|
|
3254
3391
|
async recover(requestParameters, initOverrides) {
|
|
@@ -3415,7 +3552,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3415
3552
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
3416
3553
|
}
|
|
3417
3554
|
}
|
|
3418
|
-
let urlPath = `/
|
|
3555
|
+
let urlPath = `/saved-snapshots/{name}/shares/{shareId}`;
|
|
3419
3556
|
urlPath = urlPath.replace('{name}', encodeURIComponent(String(requestParameters['name'])));
|
|
3420
3557
|
urlPath = urlPath.replace('{shareId}', encodeURIComponent(String(requestParameters['shareId'])));
|
|
3421
3558
|
return {
|
|
@@ -3546,6 +3683,9 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3546
3683
|
if (requestParameters['state'] != null) {
|
|
3547
3684
|
queryParameters['state'] = requestParameters['state'];
|
|
3548
3685
|
}
|
|
3686
|
+
if (requestParameters['include'] != null) {
|
|
3687
|
+
queryParameters['include'] = requestParameters['include'];
|
|
3688
|
+
}
|
|
3549
3689
|
const headerParameters = {};
|
|
3550
3690
|
if (requestParameters['xBoatOrg'] != null) {
|
|
3551
3691
|
headerParameters['X-Boat-Org'] = String(requestParameters['xBoatOrg']);
|
|
@@ -3584,6 +3724,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3584
3724
|
}
|
|
3585
3725
|
/**
|
|
3586
3726
|
* Creates request options for saveNamedSnapshot without sending the request
|
|
3727
|
+
* @deprecated
|
|
3587
3728
|
*/
|
|
3588
3729
|
async saveNamedSnapshotRequestOpts(input) {
|
|
3589
3730
|
const requestParameters = runtime.unflattenBody(input, 'namedSnapshotSaveRequest', [], []);
|
|
@@ -3612,6 +3753,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3612
3753
|
/**
|
|
3613
3754
|
* Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /named-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
|
|
3614
3755
|
* Save a named snapshot
|
|
3756
|
+
* @deprecated
|
|
3615
3757
|
*/
|
|
3616
3758
|
async saveNamedSnapshotRaw(requestParameters, initOverrides) {
|
|
3617
3759
|
const requestOptions = await this.saveNamedSnapshotRequestOpts(requestParameters);
|
|
@@ -3621,11 +3763,56 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
3621
3763
|
/**
|
|
3622
3764
|
* Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /named-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
|
|
3623
3765
|
* Save a named snapshot
|
|
3766
|
+
* @deprecated
|
|
3624
3767
|
*/
|
|
3625
3768
|
async saveNamedSnapshot(requestParameters, initOverrides) {
|
|
3626
3769
|
const response = await this.saveNamedSnapshotRaw(requestParameters, initOverrides);
|
|
3627
3770
|
return await response.value();
|
|
3628
3771
|
}
|
|
3772
|
+
/**
|
|
3773
|
+
* Creates request options for saveSavedSnapshot without sending the request
|
|
3774
|
+
*/
|
|
3775
|
+
async saveSavedSnapshotRequestOpts(input) {
|
|
3776
|
+
const requestParameters = runtime.unflattenBody(input, 'savedSnapshotSaveRequest', [], []);
|
|
3777
|
+
if (requestParameters['savedSnapshotSaveRequest'] == null) {
|
|
3778
|
+
throw new runtime.RequiredError('savedSnapshotSaveRequest', 'Required parameter "savedSnapshotSaveRequest" was null or undefined when calling saveSavedSnapshot().');
|
|
3779
|
+
}
|
|
3780
|
+
const queryParameters = {};
|
|
3781
|
+
const headerParameters = {};
|
|
3782
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
3783
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
3784
|
+
const token = this.configuration.accessToken;
|
|
3785
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
3786
|
+
if (tokenString) {
|
|
3787
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
3788
|
+
}
|
|
3789
|
+
}
|
|
3790
|
+
let urlPath = `/saved-snapshots`;
|
|
3791
|
+
return {
|
|
3792
|
+
path: urlPath,
|
|
3793
|
+
method: 'POST',
|
|
3794
|
+
headers: headerParameters,
|
|
3795
|
+
query: queryParameters,
|
|
3796
|
+
body: SavedSnapshotSaveRequestToJSON(requestParameters['savedSnapshotSaveRequest']),
|
|
3797
|
+
};
|
|
3798
|
+
}
|
|
3799
|
+
/**
|
|
3800
|
+
* Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /saved-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
|
|
3801
|
+
* Save a saved snapshot
|
|
3802
|
+
*/
|
|
3803
|
+
async saveSavedSnapshotRaw(requestParameters, initOverrides) {
|
|
3804
|
+
const requestOptions = await this.saveSavedSnapshotRequestOpts(requestParameters);
|
|
3805
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
3806
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SavedSnapshotSavingResponseFromJSON(jsonValue));
|
|
3807
|
+
}
|
|
3808
|
+
/**
|
|
3809
|
+
* Freeze a sandbox\'s current state under a name (`boat snapshot <id> <name>` in the CLI). Answers `202` immediately with the snapshot in `saving`; a running sandbox takes a fresh capture first, which can run minutes. Poll `GET /saved-snapshots/{name}` until the status settles at `ready` or `failed`. Reusing one of your existing names replaces that snapshot\'s artifact once the new save is ready.
|
|
3810
|
+
* Save a saved snapshot
|
|
3811
|
+
*/
|
|
3812
|
+
async saveSavedSnapshot(requestParameters, initOverrides) {
|
|
3813
|
+
const response = await this.saveSavedSnapshotRaw(requestParameters, initOverrides);
|
|
3814
|
+
return await response.value();
|
|
3815
|
+
}
|
|
3629
3816
|
/**
|
|
3630
3817
|
* Creates request options for secrets without sending the request
|
|
3631
3818
|
*/
|
|
@@ -4080,7 +4267,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
4080
4267
|
};
|
|
4081
4268
|
}
|
|
4082
4269
|
/**
|
|
4083
|
-
* Let every member of the organization that pays for this sandbox use it.
|
|
4270
|
+
* Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
|
|
4084
4271
|
* Share sandbox with the organization
|
|
4085
4272
|
*/
|
|
4086
4273
|
async shareRaw(requestParameters, initOverrides) {
|
|
@@ -4089,7 +4276,7 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
4089
4276
|
return new runtime.JSONApiResponse(response, (jsonValue) => Share200ResponseFromJSON(jsonValue));
|
|
4090
4277
|
}
|
|
4091
4278
|
/**
|
|
4092
|
-
* Let every member of the organization that pays for this sandbox use it.
|
|
4279
|
+
* Let every member of the organization that pays for this sandbox use it. A sandbox that holds none of your personal logins is shared at once. A sandbox that holds them: your personal logins (GitHub token, Claude and Codex logins, environment secrets, the sandbox\'s own CLI key) are never pushed to it again and are wiped off its disk at its next start, so a teammate never acts as you. Files you wrote stay. The wipe is one-way: the sandbox stays like a `noEnv` sandbox from then on. A running sandbox stays `view` for the organization until you stop and resume it (`restartRequired`): its running programs hold your logins in memory. Teammates never read history recorded before the share. Only the person who created the sandbox can share it, and only a sandbox billed to an organization. Sharing an already shared sandbox is a no-op. Undo with `POST /sandboxes/{sandboxId}/unshare`.
|
|
4093
4280
|
* Share sandbox with the organization
|
|
4094
4281
|
*/
|
|
4095
4282
|
async share(requestParameters, initOverrides) {
|
|
@@ -4336,6 +4523,48 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
4336
4523
|
const response = await this.switchCredentialAccountRaw(requestParameters, initOverrides);
|
|
4337
4524
|
return await response.value();
|
|
4338
4525
|
}
|
|
4526
|
+
/**
|
|
4527
|
+
* Creates request options for unshare without sending the request
|
|
4528
|
+
*/
|
|
4529
|
+
async unshareRequestOpts(requestParameters) {
|
|
4530
|
+
if (requestParameters['sandboxId'] == null) {
|
|
4531
|
+
throw new runtime.RequiredError('sandboxId', 'Required parameter "sandboxId" was null or undefined when calling unshare().');
|
|
4532
|
+
}
|
|
4533
|
+
const queryParameters = {};
|
|
4534
|
+
const headerParameters = {};
|
|
4535
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
4536
|
+
const token = this.configuration.accessToken;
|
|
4537
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
4538
|
+
if (tokenString) {
|
|
4539
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
4540
|
+
}
|
|
4541
|
+
}
|
|
4542
|
+
let urlPath = `/sandboxes/{sandboxId}/unshare`;
|
|
4543
|
+
urlPath = urlPath.replace('{sandboxId}', encodeURIComponent(String(requestParameters['sandboxId'])));
|
|
4544
|
+
return {
|
|
4545
|
+
path: urlPath,
|
|
4546
|
+
method: 'POST',
|
|
4547
|
+
headers: headerParameters,
|
|
4548
|
+
query: queryParameters,
|
|
4549
|
+
};
|
|
4550
|
+
}
|
|
4551
|
+
/**
|
|
4552
|
+
* Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
|
|
4553
|
+
* Make an organization sandbox private
|
|
4554
|
+
*/
|
|
4555
|
+
async unshareRaw(requestParameters, initOverrides) {
|
|
4556
|
+
const requestOptions = await this.unshareRequestOpts(requestParameters);
|
|
4557
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
4558
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => Unshare200ResponseFromJSON(jsonValue));
|
|
4559
|
+
}
|
|
4560
|
+
/**
|
|
4561
|
+
* Make a shared organization sandbox private again, at once. Only you can then use it. Teammates still see it in their list and can stop it. Their SSH keys are removed from the running machine. Nothing on the sandbox changes: files, installs and its environment stay. Undo with `POST /sandboxes/{sandboxId}/share`. Only the person who created the sandbox can make it private, and only a sandbox billed to an organization. Making a private sandbox private is a no-op.
|
|
4562
|
+
* Make an organization sandbox private
|
|
4563
|
+
*/
|
|
4564
|
+
async unshare(requestParameters, initOverrides) {
|
|
4565
|
+
const response = await this.unshareRaw(requestParameters, initOverrides);
|
|
4566
|
+
return await response.value();
|
|
4567
|
+
}
|
|
4339
4568
|
/**
|
|
4340
4569
|
* Creates request options for update without sending the request
|
|
4341
4570
|
*/
|
|
@@ -4575,6 +4804,54 @@ export class BoatApi extends runtime.BaseAPI {
|
|
|
4575
4804
|
const response = await this.updateEnvironmentRaw(requestParameters, initOverrides);
|
|
4576
4805
|
return await response.value();
|
|
4577
4806
|
}
|
|
4807
|
+
/**
|
|
4808
|
+
* Creates request options for updateOrganization without sending the request
|
|
4809
|
+
*/
|
|
4810
|
+
async updateOrganizationRequestOpts(input) {
|
|
4811
|
+
const requestParameters = runtime.unflattenBody(input, 'updateOrganizationRequest', ['org'], []);
|
|
4812
|
+
if (requestParameters['org'] == null) {
|
|
4813
|
+
throw new runtime.RequiredError('org', 'Required parameter "org" was null or undefined when calling updateOrganization().');
|
|
4814
|
+
}
|
|
4815
|
+
if (requestParameters['updateOrganizationRequest'] == null) {
|
|
4816
|
+
throw new runtime.RequiredError('updateOrganizationRequest', 'Required parameter "updateOrganizationRequest" was null or undefined when calling updateOrganization().');
|
|
4817
|
+
}
|
|
4818
|
+
const queryParameters = {};
|
|
4819
|
+
const headerParameters = {};
|
|
4820
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
4821
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
4822
|
+
const token = this.configuration.accessToken;
|
|
4823
|
+
const tokenString = await token("BoatBearerAuth", []);
|
|
4824
|
+
if (tokenString) {
|
|
4825
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
4826
|
+
}
|
|
4827
|
+
}
|
|
4828
|
+
let urlPath = `/orgs/{org}`;
|
|
4829
|
+
urlPath = urlPath.replace('{org}', encodeURIComponent(String(requestParameters['org'])));
|
|
4830
|
+
return {
|
|
4831
|
+
path: urlPath,
|
|
4832
|
+
method: 'PATCH',
|
|
4833
|
+
headers: headerParameters,
|
|
4834
|
+
query: queryParameters,
|
|
4835
|
+
body: UpdateOrganizationRequestToJSON(requestParameters['updateOrganizationRequest']),
|
|
4836
|
+
};
|
|
4837
|
+
}
|
|
4838
|
+
/**
|
|
4839
|
+
* Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
|
|
4840
|
+
* Update organization settings
|
|
4841
|
+
*/
|
|
4842
|
+
async updateOrganizationRaw(requestParameters, initOverrides) {
|
|
4843
|
+
const requestOptions = await this.updateOrganizationRequestOpts(requestParameters);
|
|
4844
|
+
const response = await this.request(requestOptions, initOverrides);
|
|
4845
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => UpdateOrganization200ResponseFromJSON(jsonValue));
|
|
4846
|
+
}
|
|
4847
|
+
/**
|
|
4848
|
+
* Owners and admins set whether new sandboxes of the organization start private (only their creator can use them) or shared (every member can use those that hold none of their creator\'s logins). The default is shared. Existing sandboxes keep their setting; their creators change it with `POST /sandboxes/{sandboxId}/share` and `POST /sandboxes/{sandboxId}/unshare`. A fork of a private sandbox is private.
|
|
4849
|
+
* Update organization settings
|
|
4850
|
+
*/
|
|
4851
|
+
async updateOrganization(requestParameters, initOverrides) {
|
|
4852
|
+
const response = await this.updateOrganizationRaw(requestParameters, initOverrides);
|
|
4853
|
+
return await response.value();
|
|
4854
|
+
}
|
|
4578
4855
|
/**
|
|
4579
4856
|
* Creates request options for updateSecrets without sending the request
|
|
4580
4857
|
*/
|
|
@@ -4879,3 +5156,9 @@ export const SandboxesSortEnum = {
|
|
|
4879
5156
|
Asc: 'asc',
|
|
4880
5157
|
Desc: 'desc'
|
|
4881
5158
|
};
|
|
5159
|
+
/**
|
|
5160
|
+
* @export
|
|
5161
|
+
*/
|
|
5162
|
+
export const SandboxesIncludeEnum = {
|
|
5163
|
+
Cost: 'cost'
|
|
5164
|
+
};
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export interface CreateSandboxRequest {
|
|
18
18
|
/**
|
|
19
|
-
* Machine size. `small` consumes machine time at half rate and `large` at twice the default rate (see the Billing guide). `xlarge` needs the $100/month plan or higher
|
|
19
|
+
* Machine size. `small` consumes machine time at half rate and `large` at twice the default rate (see the Billing guide). `xlarge` needs the $100/month plan or higher, or an account access grant from an administrator. Otherwise, create, resume and fork return 403 `machine_class_plan_required`. A fork inherits the source sandbox's type unless the fork request passes its own, and resume and fork can move a sandbox between sizes.
|
|
20
20
|
* @type {CreateSandboxRequestTypeEnum}
|
|
21
21
|
* @memberof CreateSandboxRequest
|
|
22
22
|
*/
|
|
@@ -48,7 +48,7 @@ export interface CreateSandboxRequest {
|
|
|
48
48
|
*/
|
|
49
49
|
noEnv?: boolean;
|
|
50
50
|
/**
|
|
51
|
-
* Pass `false` to never snapshot this sandbox. Nothing is captured in the background, so it pays no CPU or memory for it, and stopping it erases its disk the way zero data retention does. It cannot be resumed, forked, or saved as a
|
|
51
|
+
* Pass `false` to never snapshot this sandbox. Nothing is captured in the background, so it pays no CPU or memory for it, and stopping it erases its disk the way zero data retention does. It cannot be resumed, forked, or saved as a saved snapshot, and if its machine fails there is no backup to rebuild it from.
|
|
52
52
|
* @type {boolean}
|
|
53
53
|
* @memberof CreateSandboxRequest
|
|
54
54
|
*/
|
|
@@ -65,6 +65,12 @@ export interface CreateSandboxRequest {
|
|
|
65
65
|
* @memberof CreateSandboxRequest
|
|
66
66
|
*/
|
|
67
67
|
failFast?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* With `from`: create this many sandboxes from the saved snapshot in one request. Boat creates them together, which is faster than separate creates when you need many sandboxes at once. Start limits and the active-sandbox limit count every sandbox of the batch; if the batch does not fit, nothing is created. The answer lists all of them in `sandboxes` (and the first one in `sandbox`). Refused with 400 `count_requires_from` without `from`, and with 400 `count_with_fail_fast` together with `failFast`.
|
|
70
|
+
* @type {number}
|
|
71
|
+
* @memberof CreateSandboxRequest
|
|
72
|
+
*/
|
|
73
|
+
count?: number;
|
|
68
74
|
/**
|
|
69
75
|
* Shell script that runs on the sandbox after it is ready. Ready means "ready to accept the user", not "setup done": the script starts in the background once provisioning completes and never blocks the sandbox becoming usable. It runs as the sandbox user (`user`, not root; `sudo` needs no password) via `bash`, with the sandbox's environment applied, and its output goes to a log file on the sandbox. Observe the outcome as `setupStatus` (pending/running/done/failed) and `setupError` on the sandbox. Rejected with a 400 `invalid_setup_script` error when it is not a string or exceeds 64KB.
|
|
70
76
|
* @type {string}
|
|
@@ -84,7 +90,7 @@ export interface CreateSandboxRequest {
|
|
|
84
90
|
*/
|
|
85
91
|
teamId?: string;
|
|
86
92
|
/**
|
|
87
|
-
* Create the sandbox from a
|
|
93
|
+
* Create the sandbox from a saved snapshot (saved with `POST /saved-snapshots`, or `boat snapshot <id> <name>` in the CLI). The sandbox starts from that exact frozen state. Omitting `type` inherits the type the snapshot was saved from; env and no-env inherit from the snapshot's source sandbox unless the request passes its own, with the same rules as forking. Also accepts a share code (`bsh_...`) that another account made with `POST /saved-snapshots/{name}/shares`. The new sandbox lives in and is billed to your account. It does not get the owner's per-sandbox env; your own environment applies normally. A wrong or revoked code returns `404 snapshot_not_found`.
|
|
88
94
|
* @type {string}
|
|
89
95
|
* @memberof CreateSandboxRequest
|
|
90
96
|
*/
|
|
@@ -42,6 +42,7 @@ export function CreateSandboxRequestFromJSONTyped(json, ignoreDiscriminator) {
|
|
|
42
42
|
'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
|
|
43
43
|
'monitoring': json['monitoring'] == null ? undefined : json['monitoring'],
|
|
44
44
|
'failFast': json['failFast'] == null ? undefined : json['failFast'],
|
|
45
|
+
'count': json['count'] == null ? undefined : json['count'],
|
|
45
46
|
'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
|
|
46
47
|
'org': json['org'] == null ? undefined : json['org'],
|
|
47
48
|
'teamId': json['teamId'] == null ? undefined : json['teamId'],
|
|
@@ -64,6 +65,7 @@ export function CreateSandboxRequestToJSONTyped(value, ignoreDiscriminator = fal
|
|
|
64
65
|
'snapshots': value['snapshots'],
|
|
65
66
|
'monitoring': value['monitoring'],
|
|
66
67
|
'failFast': value['failFast'],
|
|
68
|
+
'count': value['count'],
|
|
67
69
|
'setupScript': value['setupScript'],
|
|
68
70
|
'org': value['org'],
|
|
69
71
|
'teamId': value['teamId'],
|