@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.
Files changed (179) hide show
  1. package/.openapi-generator/FILES +30 -0
  2. package/dist/apis/BoatApi.d.ts +144 -18
  3. package/dist/apis/BoatApi.js +305 -22
  4. package/dist/esm/apis/BoatApi.d.ts +144 -18
  5. package/dist/esm/apis/BoatApi.js +304 -21
  6. package/dist/esm/models/CreateSandboxRequest.d.ts +9 -3
  7. package/dist/esm/models/CreateSandboxRequest.js +2 -0
  8. package/dist/esm/models/CreateSandboxResponse.d.ts +6 -0
  9. package/dist/esm/models/CreateSandboxResponse.js +2 -0
  10. package/dist/esm/models/CreateScopedApiKeyRequest.d.ts +1 -1
  11. package/dist/esm/models/CredentialId.d.ts +3 -0
  12. package/dist/esm/models/CredentialId.js +3 -0
  13. package/dist/esm/models/CredentialProfile.d.ts +7 -0
  14. package/dist/esm/models/CredentialProfile.js +3 -0
  15. package/dist/esm/models/DeletionOperation.d.ts +1 -1
  16. package/dist/esm/models/LimitsFields.d.ts +1 -1
  17. package/dist/esm/models/LimitsResponse.d.ts +1 -1
  18. package/dist/esm/models/MeResponseAllOfUser.d.ts +1 -0
  19. package/dist/esm/models/MeResponseAllOfUser.js +1 -0
  20. package/dist/esm/models/ResourceAccess.d.ts +38 -0
  21. package/dist/esm/models/ResourceAccess.js +47 -0
  22. package/dist/esm/models/ResourceAccessUpdate.d.ts +38 -0
  23. package/dist/esm/models/ResourceAccessUpdate.js +45 -0
  24. package/dist/esm/models/ResumeRequest.d.ts +1 -1
  25. package/dist/esm/models/Sandbox.d.ts +35 -1
  26. package/dist/esm/models/Sandbox.js +17 -0
  27. package/dist/esm/models/SandboxCost.d.ts +44 -0
  28. package/dist/esm/models/SandboxCost.js +51 -0
  29. package/dist/esm/models/SandboxEnvironment.d.ts +7 -0
  30. package/dist/esm/models/SandboxEnvironment.js +3 -0
  31. package/dist/esm/models/SandboxLastReboot.d.ts +47 -0
  32. package/dist/esm/models/SandboxLastReboot.js +51 -0
  33. package/dist/esm/models/SandboxListResponse.d.ts +7 -0
  34. package/dist/esm/models/SandboxListResponse.js +3 -0
  35. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  36. package/dist/esm/models/SandboxListResponseAllOfDeletedCost.js +51 -0
  37. package/dist/esm/models/SavedSnapshot.d.ts +83 -0
  38. package/dist/esm/models/SavedSnapshot.js +71 -0
  39. package/dist/esm/models/SavedSnapshotAllowance.d.ts +81 -0
  40. package/dist/esm/models/SavedSnapshotAllowance.js +57 -0
  41. package/dist/esm/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  42. package/dist/esm/models/SavedSnapshotDeletedResponse.js +67 -0
  43. package/dist/esm/models/SavedSnapshotInfoResponse.d.ts +52 -0
  44. package/dist/esm/models/SavedSnapshotInfoResponse.js +58 -0
  45. package/dist/esm/models/SavedSnapshotListResponse.d.ts +59 -0
  46. package/dist/esm/models/SavedSnapshotListResponse.js +61 -0
  47. package/dist/esm/models/SavedSnapshotSaveRequest.d.ts +38 -0
  48. package/dist/esm/models/SavedSnapshotSaveRequest.js +47 -0
  49. package/dist/esm/models/SavedSnapshotSavingResponse.d.ts +65 -0
  50. package/dist/esm/models/SavedSnapshotSavingResponse.js +68 -0
  51. package/dist/esm/models/SnapshotSummary.d.ts +1 -1
  52. package/dist/esm/models/Unshare200Response.d.ts +39 -0
  53. package/dist/esm/models/Unshare200Response.js +44 -0
  54. package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +7 -0
  55. package/dist/esm/models/UpdateCredentialProfileRequest.js +3 -0
  56. package/dist/esm/models/UpdateOrganization200Response.d.ts +50 -0
  57. package/dist/esm/models/UpdateOrganization200Response.js +47 -0
  58. package/dist/esm/models/UpdateOrganizationRequest.d.ts +32 -0
  59. package/dist/esm/models/UpdateOrganizationRequest.js +43 -0
  60. package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  61. package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +3 -0
  62. package/dist/esm/models/index.d.ts +15 -0
  63. package/dist/esm/models/index.js +15 -0
  64. package/dist/models/CreateSandboxRequest.d.ts +9 -3
  65. package/dist/models/CreateSandboxRequest.js +2 -0
  66. package/dist/models/CreateSandboxResponse.d.ts +6 -0
  67. package/dist/models/CreateSandboxResponse.js +2 -0
  68. package/dist/models/CreateScopedApiKeyRequest.d.ts +1 -1
  69. package/dist/models/CredentialId.d.ts +3 -0
  70. package/dist/models/CredentialId.js +3 -0
  71. package/dist/models/CredentialProfile.d.ts +7 -0
  72. package/dist/models/CredentialProfile.js +3 -0
  73. package/dist/models/DeletionOperation.d.ts +1 -1
  74. package/dist/models/LimitsFields.d.ts +1 -1
  75. package/dist/models/LimitsResponse.d.ts +1 -1
  76. package/dist/models/MeResponseAllOfUser.d.ts +1 -0
  77. package/dist/models/MeResponseAllOfUser.js +1 -0
  78. package/dist/models/ResourceAccess.d.ts +38 -0
  79. package/dist/models/ResourceAccess.js +54 -0
  80. package/dist/models/ResourceAccessUpdate.d.ts +38 -0
  81. package/dist/models/ResourceAccessUpdate.js +52 -0
  82. package/dist/models/ResumeRequest.d.ts +1 -1
  83. package/dist/models/Sandbox.d.ts +35 -1
  84. package/dist/models/Sandbox.js +18 -1
  85. package/dist/models/SandboxCost.d.ts +44 -0
  86. package/dist/models/SandboxCost.js +58 -0
  87. package/dist/models/SandboxEnvironment.d.ts +7 -0
  88. package/dist/models/SandboxEnvironment.js +3 -0
  89. package/dist/models/SandboxLastReboot.d.ts +47 -0
  90. package/dist/models/SandboxLastReboot.js +59 -0
  91. package/dist/models/SandboxListResponse.d.ts +7 -0
  92. package/dist/models/SandboxListResponse.js +3 -0
  93. package/dist/models/SandboxListResponseAllOfDeletedCost.d.ts +44 -0
  94. package/dist/models/SandboxListResponseAllOfDeletedCost.js +58 -0
  95. package/dist/models/SavedSnapshot.d.ts +83 -0
  96. package/dist/models/SavedSnapshot.js +79 -0
  97. package/dist/models/SavedSnapshotAllowance.d.ts +81 -0
  98. package/dist/models/SavedSnapshotAllowance.js +64 -0
  99. package/dist/models/SavedSnapshotDeletedResponse.d.ts +64 -0
  100. package/dist/models/SavedSnapshotDeletedResponse.js +75 -0
  101. package/dist/models/SavedSnapshotInfoResponse.d.ts +52 -0
  102. package/dist/models/SavedSnapshotInfoResponse.js +66 -0
  103. package/dist/models/SavedSnapshotListResponse.d.ts +59 -0
  104. package/dist/models/SavedSnapshotListResponse.js +69 -0
  105. package/dist/models/SavedSnapshotSaveRequest.d.ts +38 -0
  106. package/dist/models/SavedSnapshotSaveRequest.js +54 -0
  107. package/dist/models/SavedSnapshotSavingResponse.d.ts +65 -0
  108. package/dist/models/SavedSnapshotSavingResponse.js +76 -0
  109. package/dist/models/SnapshotSummary.d.ts +1 -1
  110. package/dist/models/Unshare200Response.d.ts +39 -0
  111. package/dist/models/Unshare200Response.js +51 -0
  112. package/dist/models/UpdateCredentialProfileRequest.d.ts +7 -0
  113. package/dist/models/UpdateCredentialProfileRequest.js +3 -0
  114. package/dist/models/UpdateOrganization200Response.d.ts +50 -0
  115. package/dist/models/UpdateOrganization200Response.js +54 -0
  116. package/dist/models/UpdateOrganizationRequest.d.ts +32 -0
  117. package/dist/models/UpdateOrganizationRequest.js +50 -0
  118. package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +7 -0
  119. package/dist/models/UpdateSandboxEnvironmentRequest.js +3 -0
  120. package/dist/models/index.d.ts +15 -0
  121. package/dist/models/index.js +15 -0
  122. package/docs/BoatApi.md +468 -19
  123. package/docs/CreateSandboxRequest.md +2 -0
  124. package/docs/CreateSandboxResponse.md +2 -0
  125. package/docs/CredentialProfile.md +2 -0
  126. package/docs/ResourceAccess.md +35 -0
  127. package/docs/ResourceAccessUpdate.md +35 -0
  128. package/docs/Sandbox.md +8 -0
  129. package/docs/SandboxCost.md +37 -0
  130. package/docs/SandboxEnvironment.md +2 -0
  131. package/docs/SandboxLastReboot.md +35 -0
  132. package/docs/SandboxListResponse.md +2 -0
  133. package/docs/SandboxListResponseAllOfDeletedCost.md +37 -0
  134. package/docs/SavedSnapshot.md +47 -0
  135. package/docs/SavedSnapshotAllowance.md +49 -0
  136. package/docs/SavedSnapshotDeletedResponse.md +38 -0
  137. package/docs/SavedSnapshotInfoResponse.md +36 -0
  138. package/docs/SavedSnapshotListResponse.md +38 -0
  139. package/docs/SavedSnapshotSaveRequest.md +34 -0
  140. package/docs/SavedSnapshotSavingResponse.md +38 -0
  141. package/docs/Unshare200Response.md +34 -0
  142. package/docs/UpdateCredentialProfileRequest.md +2 -0
  143. package/docs/UpdateOrganization200Response.md +38 -0
  144. package/docs/UpdateOrganizationRequest.md +32 -0
  145. package/docs/UpdateSandboxEnvironmentRequest.md +2 -0
  146. package/package.json +1 -1
  147. package/src/apis/BoatApi.ts +440 -21
  148. package/src/models/CreateSandboxRequest.ts +11 -3
  149. package/src/models/CreateSandboxResponse.ts +8 -0
  150. package/src/models/CreateScopedApiKeyRequest.ts +1 -1
  151. package/src/models/CredentialId.ts +3 -0
  152. package/src/models/CredentialProfile.ts +15 -0
  153. package/src/models/DeletionOperation.ts +1 -1
  154. package/src/models/LimitsFields.ts +1 -1
  155. package/src/models/LimitsResponse.ts +1 -1
  156. package/src/models/MeResponseAllOfUser.ts +1 -0
  157. package/src/models/ResourceAccess.ts +75 -0
  158. package/src/models/ResourceAccessUpdate.ts +74 -0
  159. package/src/models/ResumeRequest.ts +1 -1
  160. package/src/models/Sandbox.ts +56 -1
  161. package/src/models/SandboxCost.ts +84 -0
  162. package/src/models/SandboxEnvironment.ts +15 -0
  163. package/src/models/SandboxLastReboot.ts +85 -0
  164. package/src/models/SandboxListResponse.ts +15 -0
  165. package/src/models/SandboxListResponseAllOfDeletedCost.ts +84 -0
  166. package/src/models/SavedSnapshot.ts +137 -0
  167. package/src/models/SavedSnapshotAllowance.ts +130 -0
  168. package/src/models/SavedSnapshotDeletedResponse.ts +111 -0
  169. package/src/models/SavedSnapshotInfoResponse.ts +102 -0
  170. package/src/models/SavedSnapshotListResponse.ts +117 -0
  171. package/src/models/SavedSnapshotSaveRequest.ts +75 -0
  172. package/src/models/SavedSnapshotSavingResponse.ts +119 -0
  173. package/src/models/SnapshotSummary.ts +1 -1
  174. package/src/models/Unshare200Response.ts +81 -0
  175. package/src/models/UpdateCredentialProfileRequest.ts +16 -0
  176. package/src/models/UpdateOrganization200Response.ts +89 -0
  177. package/src/models/UpdateOrganizationRequest.ts +66 -0
  178. package/src/models/UpdateSandboxEnvironmentRequest.ts +15 -0
  179. package/src/models/index.ts +15 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfResourceAccessUpdate = instanceOfResourceAccessUpdate;
17
+ exports.ResourceAccessUpdateFromJSON = ResourceAccessUpdateFromJSON;
18
+ exports.ResourceAccessUpdateFromJSONTyped = ResourceAccessUpdateFromJSONTyped;
19
+ exports.ResourceAccessUpdateToJSON = ResourceAccessUpdateToJSON;
20
+ exports.ResourceAccessUpdateToJSONTyped = ResourceAccessUpdateToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the ResourceAccessUpdate interface.
23
+ */
24
+ function instanceOfResourceAccessUpdate(value) {
25
+ if (!('restricted' in value) || value['restricted'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ function ResourceAccessUpdateFromJSON(json) {
30
+ return ResourceAccessUpdateFromJSONTyped(json, false);
31
+ }
32
+ function ResourceAccessUpdateFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'restricted': json['restricted'],
38
+ 'members': json['members'] == null ? undefined : json['members'],
39
+ };
40
+ }
41
+ function ResourceAccessUpdateToJSON(json) {
42
+ return ResourceAccessUpdateToJSONTyped(json, false);
43
+ }
44
+ function ResourceAccessUpdateToJSONTyped(value, ignoreDiscriminator = false) {
45
+ if (value == null) {
46
+ return value;
47
+ }
48
+ return {
49
+ 'restricted': value['restricted'],
50
+ 'members': value['members'],
51
+ };
52
+ }
@@ -22,7 +22,7 @@ export interface ResumeRequest {
22
22
  */
23
23
  failFast?: boolean;
24
24
  /**
25
- * Resume onto a different machine size. Omit to keep the sandbox's current type. `xlarge` needs the $100/month plan or higher (403 `machine_class_plan_required`). A resume already restores onto a fresh machine, so changing size costs nothing extra. Shrinking is rejected with `type_too_small` when the sandbox's data would not fit the smaller disk.
25
+ * Resume onto a different machine size. Omit to keep the sandbox's current type. `xlarge` needs the $100/month plan or higher, or an account access grant from an administrator (403 `machine_class_plan_required` otherwise). A resume already restores onto a fresh machine, so changing size costs nothing extra. Shrinking is rejected with `type_too_small` when the sandbox's data would not fit the smaller disk.
26
26
  * @type {ResumeRequestTypeEnum}
27
27
  * @memberof ResumeRequest
28
28
  */
@@ -11,6 +11,8 @@
11
11
  */
12
12
  import type { SandboxTeam } from './SandboxTeam';
13
13
  import type { StopOperation } from './StopOperation';
14
+ import type { SandboxLastReboot } from './SandboxLastReboot';
15
+ import type { SandboxCost } from './SandboxCost';
14
16
  import type { SandboxHydration } from './SandboxHydration';
15
17
  /**
16
18
  *
@@ -42,6 +44,12 @@ export interface Sandbox {
42
44
  * @memberof Sandbox
43
45
  */
44
46
  error?: string | null;
47
+ /**
48
+ * When Boat deleted the snapshot data of this stopped sandbox, 14 days after it stopped. Resume and fork then fail with `409 snapshot_data_expired`. Null while the data is kept.
49
+ * @type {Date}
50
+ * @memberof Sandbox
51
+ */
52
+ dataExpiredAt?: Date | null;
45
53
  /**
46
54
  * `degraded` when the machine is alive but Boat cannot fully reach it (for example a firewall rule inside the sandbox blocks the tunnel). The sandbox keeps running.
47
55
  * @type {SandboxHealthEnum}
@@ -211,7 +219,7 @@ export interface Sandbox {
211
219
  */
212
220
  createdById?: string | null;
213
221
  /**
214
- * What you may do with this sandbox. `owner`: you created it. `use`: a teammate's organization sandbox that never received their personal logins (`noEnv`, shared and restarted, or created on an environment that passes nothing), so you can open, run commands in, prompt, resume and stop it. `view`: a teammate's organization sandbox that still holds their personal logins, so you can see it and stop it until they share it (`POST /sandboxes/{sandboxId}/share`).
222
+ * What you may do with this sandbox. `owner`: you created it. `use`: a teammate's organization sandbox that is `shared` (see `visibility`), so you can open, run commands in, prompt, resume and stop it. `view`: a teammate's organization sandbox that is `private`, so you can see it and stop it until they share it (`POST /sandboxes/{sandboxId}/share`).
215
223
  * @type {SandboxAccessEnum}
216
224
  * @memberof Sandbox
217
225
  */
@@ -222,6 +230,18 @@ export interface Sandbox {
222
230
  * @memberof Sandbox
223
231
  */
224
232
  holdsCreatorLogins?: boolean;
233
+ /**
234
+ * Organization sandboxes only; null for a personal sandbox. `shared`: every member can use it. It holds none of its creator's personal logins (`noEnv`, shared and restarted, or created on an environment that passes nothing) and its creator did not make it private. `private`: only its creator can use it. It holds their logins, or its creator made it private (`POST /sandboxes/{sandboxId}/unshare`, or the organization's `newSandboxesPrivate` default).
235
+ * @type {SandboxVisibilityEnum}
236
+ * @memberof Sandbox
237
+ */
238
+ visibility?: SandboxVisibilityEnum | null;
239
+ /**
240
+ *
241
+ * @type {SandboxCost}
242
+ * @memberof Sandbox
243
+ */
244
+ cost?: SandboxCost;
225
245
  /**
226
246
  * True once the sandbox is shared but not restarted yet. Its creator's logins are wiped at its next start, and the organization can use it from then on.
227
247
  * @type {boolean}
@@ -246,6 +266,12 @@ export interface Sandbox {
246
266
  * @memberof Sandbox
247
267
  */
248
268
  lastSnapshotStatus?: SandboxLastSnapshotStatusEnum | null;
269
+ /**
270
+ *
271
+ * @type {SandboxLastReboot}
272
+ * @memberof Sandbox
273
+ */
274
+ lastReboot?: SandboxLastReboot;
249
275
  /**
250
276
  * Outcome of the create-time `setupScript`: `pending` (stored, not yet started), `running` (executing on the sandbox in the background), `done` (exit code 0) or `failed` (non-zero exit, or the sandbox lost track of the process). Null when the sandbox was created without a setup script.
251
277
  * @type {SandboxSetupStatusEnum}
@@ -329,6 +355,14 @@ export declare const SandboxAccessEnum: {
329
355
  readonly View: 'view';
330
356
  };
331
357
  export type SandboxAccessEnum = typeof SandboxAccessEnum[keyof typeof SandboxAccessEnum];
358
+ /**
359
+ * @export
360
+ */
361
+ export declare const SandboxVisibilityEnum: {
362
+ readonly Shared: 'shared';
363
+ readonly Private: 'private';
364
+ };
365
+ export type SandboxVisibilityEnum = typeof SandboxVisibilityEnum[keyof typeof SandboxVisibilityEnum];
332
366
  /**
333
367
  * @export
334
368
  */
@@ -13,7 +13,7 @@
13
13
  * Do not edit the class manually.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.SandboxSetupStatusEnum = exports.SandboxLastSnapshotStatusEnum = exports.SandboxAccessEnum = exports.SandboxMachineProviderEnum = exports.SandboxTypeEnum = exports.SandboxHealthEnum = exports.SandboxStateEnum = void 0;
16
+ exports.SandboxSetupStatusEnum = exports.SandboxLastSnapshotStatusEnum = exports.SandboxVisibilityEnum = exports.SandboxAccessEnum = exports.SandboxMachineProviderEnum = exports.SandboxTypeEnum = exports.SandboxHealthEnum = exports.SandboxStateEnum = void 0;
17
17
  exports.instanceOfSandbox = instanceOfSandbox;
18
18
  exports.SandboxFromJSON = SandboxFromJSON;
19
19
  exports.SandboxFromJSONTyped = SandboxFromJSONTyped;
@@ -21,6 +21,8 @@ exports.SandboxToJSON = SandboxToJSON;
21
21
  exports.SandboxToJSONTyped = SandboxToJSONTyped;
22
22
  const SandboxTeam_1 = require("./SandboxTeam");
23
23
  const StopOperation_1 = require("./StopOperation");
24
+ const SandboxLastReboot_1 = require("./SandboxLastReboot");
25
+ const SandboxCost_1 = require("./SandboxCost");
24
26
  const SandboxHydration_1 = require("./SandboxHydration");
25
27
  /**
26
28
  * @export
@@ -69,6 +71,13 @@ exports.SandboxAccessEnum = {
69
71
  Use: 'use',
70
72
  View: 'view'
71
73
  };
74
+ /**
75
+ * @export
76
+ */
77
+ exports.SandboxVisibilityEnum = {
78
+ Shared: 'shared',
79
+ Private: 'private'
80
+ };
72
81
  /**
73
82
  * @export
74
83
  */
@@ -116,6 +125,7 @@ function SandboxFromJSONTyped(json, ignoreDiscriminator) {
116
125
  'name': json['name'],
117
126
  'state': json['state'],
118
127
  'error': json['error'] == null ? undefined : json['error'],
128
+ 'dataExpiredAt': json['dataExpiredAt'] == null ? undefined : (new Date(json['dataExpiredAt'])),
119
129
  'health': json['health'] == null ? undefined : json['health'],
120
130
  'healthReason': json['healthReason'] == null ? undefined : json['healthReason'],
121
131
  'degradedSince': json['degradedSince'] == null ? undefined : (new Date(json['degradedSince'])),
@@ -146,10 +156,13 @@ function SandboxFromJSONTyped(json, ignoreDiscriminator) {
146
156
  'createdById': json['createdById'] == null ? undefined : json['createdById'],
147
157
  'access': json['access'] == null ? undefined : json['access'],
148
158
  'holdsCreatorLogins': json['holdsCreatorLogins'] == null ? undefined : json['holdsCreatorLogins'],
159
+ 'visibility': json['visibility'] == null ? undefined : json['visibility'],
160
+ 'cost': json['cost'] == null ? undefined : (0, SandboxCost_1.SandboxCostFromJSON)(json['cost']),
149
161
  'wipePendingUntilRestart': json['wipePendingUntilRestart'] == null ? undefined : json['wipePendingUntilRestart'],
150
162
  'subdomain': json['subdomain'] == null ? undefined : json['subdomain'],
151
163
  'lastSnapshotAttemptAt': json['lastSnapshotAttemptAt'] == null ? undefined : (new Date(json['lastSnapshotAttemptAt'])),
152
164
  'lastSnapshotStatus': json['lastSnapshotStatus'] == null ? undefined : json['lastSnapshotStatus'],
165
+ 'lastReboot': json['lastReboot'] == null ? undefined : (0, SandboxLastReboot_1.SandboxLastRebootFromJSON)(json['lastReboot']),
153
166
  'setupStatus': json['setupStatus'] == null ? undefined : json['setupStatus'],
154
167
  'setupError': json['setupError'] == null ? undefined : json['setupError'],
155
168
  'environment': json['environment'] == null ? undefined : json['environment'],
@@ -169,6 +182,7 @@ function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
169
182
  'name': value['name'],
170
183
  'state': value['state'],
171
184
  'error': value['error'],
185
+ 'dataExpiredAt': value['dataExpiredAt'] == null ? value['dataExpiredAt'] : value['dataExpiredAt'].toISOString(),
172
186
  'health': value['health'],
173
187
  'healthReason': value['healthReason'],
174
188
  'degradedSince': value['degradedSince'] == null ? value['degradedSince'] : value['degradedSince'].toISOString(),
@@ -199,10 +213,13 @@ function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
199
213
  'createdById': value['createdById'],
200
214
  'access': value['access'],
201
215
  'holdsCreatorLogins': value['holdsCreatorLogins'],
216
+ 'visibility': value['visibility'],
217
+ 'cost': (0, SandboxCost_1.SandboxCostToJSON)(value['cost']),
202
218
  'wipePendingUntilRestart': value['wipePendingUntilRestart'],
203
219
  'subdomain': value['subdomain'],
204
220
  'lastSnapshotAttemptAt': value['lastSnapshotAttemptAt'] == null ? value['lastSnapshotAttemptAt'] : value['lastSnapshotAttemptAt'].toISOString(),
205
221
  'lastSnapshotStatus': value['lastSnapshotStatus'],
222
+ 'lastReboot': (0, SandboxLastReboot_1.SandboxLastRebootToJSON)(value['lastReboot']),
206
223
  'setupStatus': value['setupStatus'],
207
224
  'setupError': value['setupError'],
208
225
  'environment': value['environment'],
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Only with `include=cost` on `GET /sandboxes`. Machine time this sandbox used this calendar month (UTC), at list price. Same meter as `GET /sandboxes/{sandboxId}/usage`.
14
+ * @export
15
+ * @interface SandboxCost
16
+ */
17
+ export interface SandboxCost {
18
+ /**
19
+ * The 1st of this month, 00:00 UTC.
20
+ * @type {Date}
21
+ * @memberof SandboxCost
22
+ */
23
+ since: Date;
24
+ /**
25
+ * Billable machine-seconds, size multiplier applied.
26
+ * @type {number}
27
+ * @memberof SandboxCost
28
+ */
29
+ seconds: number;
30
+ /**
31
+ * seconds / secondsPerDollar, at list price.
32
+ * @type {number}
33
+ * @memberof SandboxCost
34
+ */
35
+ dollars: number;
36
+ }
37
+ /**
38
+ * Check if a given object implements the SandboxCost interface.
39
+ */
40
+ export declare function instanceOfSandboxCost(value: object): value is SandboxCost;
41
+ export declare function SandboxCostFromJSON(json: any): SandboxCost;
42
+ export declare function SandboxCostFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxCost;
43
+ export declare function SandboxCostToJSON(json: any): SandboxCost;
44
+ export declare function SandboxCostToJSONTyped(value?: SandboxCost | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfSandboxCost = instanceOfSandboxCost;
17
+ exports.SandboxCostFromJSON = SandboxCostFromJSON;
18
+ exports.SandboxCostFromJSONTyped = SandboxCostFromJSONTyped;
19
+ exports.SandboxCostToJSON = SandboxCostToJSON;
20
+ exports.SandboxCostToJSONTyped = SandboxCostToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the SandboxCost interface.
23
+ */
24
+ function instanceOfSandboxCost(value) {
25
+ if (!('since' in value) || value['since'] === undefined)
26
+ return false;
27
+ if (!('seconds' in value) || value['seconds'] === undefined)
28
+ return false;
29
+ if (!('dollars' in value) || value['dollars'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ function SandboxCostFromJSON(json) {
34
+ return SandboxCostFromJSONTyped(json, false);
35
+ }
36
+ function SandboxCostFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'since': (new Date(json['since'])),
42
+ 'seconds': json['seconds'],
43
+ 'dollars': json['dollars'],
44
+ };
45
+ }
46
+ function SandboxCostToJSON(json) {
47
+ return SandboxCostToJSONTyped(json, false);
48
+ }
49
+ function SandboxCostToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'since': value['since'].toISOString(),
55
+ 'seconds': value['seconds'],
56
+ 'dollars': value['dollars'],
57
+ };
58
+ }
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { ResourceAccess } from './ResourceAccess';
12
13
  import type { SelectedRepository } from './SelectedRepository';
13
14
  import type { SandboxEnvironmentVersionSummary } from './SandboxEnvironmentVersionSummary';
14
15
  import type { SecretFile } from './SecretFile';
@@ -96,6 +97,12 @@ export interface SandboxEnvironment {
96
97
  * @memberof SandboxEnvironment
97
98
  */
98
99
  proxyAiCredentials?: boolean;
100
+ /**
101
+ *
102
+ * @type {ResourceAccess}
103
+ * @memberof SandboxEnvironment
104
+ */
105
+ access?: ResourceAccess;
99
106
  /**
100
107
  * The latest version's .env-style content. Treat as sensitive.
101
108
  * @type {string}
@@ -18,6 +18,7 @@ exports.SandboxEnvironmentFromJSON = SandboxEnvironmentFromJSON;
18
18
  exports.SandboxEnvironmentFromJSONTyped = SandboxEnvironmentFromJSONTyped;
19
19
  exports.SandboxEnvironmentToJSON = SandboxEnvironmentToJSON;
20
20
  exports.SandboxEnvironmentToJSONTyped = SandboxEnvironmentToJSONTyped;
21
+ const ResourceAccess_1 = require("./ResourceAccess");
21
22
  const SelectedRepository_1 = require("./SelectedRepository");
22
23
  const SandboxEnvironmentVersionSummary_1 = require("./SandboxEnvironmentVersionSummary");
23
24
  const SecretFile_1 = require("./SecretFile");
@@ -72,6 +73,7 @@ function SandboxEnvironmentFromJSONTyped(json, ignoreDiscriminator) {
72
73
  'passAgentsCredentials': json['passAgentsCredentials'],
73
74
  'credentialProfileId': json['credentialProfileId'] == null ? undefined : json['credentialProfileId'],
74
75
  'proxyAiCredentials': json['proxyAiCredentials'] == null ? undefined : json['proxyAiCredentials'],
76
+ 'access': json['access'] == null ? undefined : (0, ResourceAccess_1.ResourceAccessFromJSON)(json['access']),
75
77
  'envContents': json['envContents'],
76
78
  'secretFiles': (json['secretFiles'].map(SecretFile_1.SecretFileFromJSON)),
77
79
  'selectedRepositories': json['selectedRepositories'] == null ? undefined : (json['selectedRepositories'].map(SelectedRepository_1.SelectedRepositoryFromJSON)),
@@ -99,6 +101,7 @@ function SandboxEnvironmentToJSONTyped(value, ignoreDiscriminator = false) {
99
101
  'passAgentsCredentials': value['passAgentsCredentials'],
100
102
  'credentialProfileId': value['credentialProfileId'],
101
103
  'proxyAiCredentials': value['proxyAiCredentials'],
104
+ 'access': (0, ResourceAccess_1.ResourceAccessToJSON)(value['access']),
102
105
  'envContents': value['envContents'],
103
106
  'secretFiles': (value['secretFiles'].map(SecretFile_1.SecretFileToJSON)),
104
107
  'selectedRepositories': value['selectedRepositories'] == null ? undefined : (value['selectedRepositories'].map(SelectedRepository_1.SelectedRepositoryToJSON)),
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * The last time the sandbox's kernel restarted on its machine, or null if it never did. Every process running at that time ended. `crash` means the system log ended with no shutdown, for example after a kernel panic.
14
+ * @export
15
+ * @interface SandboxLastReboot
16
+ */
17
+ export interface SandboxLastReboot {
18
+ /**
19
+ *
20
+ * @type {Date}
21
+ * @memberof SandboxLastReboot
22
+ */
23
+ at?: Date;
24
+ /**
25
+ *
26
+ * @type {SandboxLastRebootReasonEnum}
27
+ * @memberof SandboxLastReboot
28
+ */
29
+ reason?: SandboxLastRebootReasonEnum;
30
+ }
31
+ /**
32
+ * @export
33
+ */
34
+ export declare const SandboxLastRebootReasonEnum: {
35
+ readonly Crash: 'crash';
36
+ readonly Clean: 'clean';
37
+ readonly Unknown: 'unknown';
38
+ };
39
+ export type SandboxLastRebootReasonEnum = typeof SandboxLastRebootReasonEnum[keyof typeof SandboxLastRebootReasonEnum];
40
+ /**
41
+ * Check if a given object implements the SandboxLastReboot interface.
42
+ */
43
+ export declare function instanceOfSandboxLastReboot(value: object): value is SandboxLastReboot;
44
+ export declare function SandboxLastRebootFromJSON(json: any): SandboxLastReboot;
45
+ export declare function SandboxLastRebootFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxLastReboot;
46
+ export declare function SandboxLastRebootToJSON(json: any): SandboxLastReboot;
47
+ export declare function SandboxLastRebootToJSONTyped(value?: SandboxLastReboot | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SandboxLastRebootReasonEnum = void 0;
17
+ exports.instanceOfSandboxLastReboot = instanceOfSandboxLastReboot;
18
+ exports.SandboxLastRebootFromJSON = SandboxLastRebootFromJSON;
19
+ exports.SandboxLastRebootFromJSONTyped = SandboxLastRebootFromJSONTyped;
20
+ exports.SandboxLastRebootToJSON = SandboxLastRebootToJSON;
21
+ exports.SandboxLastRebootToJSONTyped = SandboxLastRebootToJSONTyped;
22
+ /**
23
+ * @export
24
+ */
25
+ exports.SandboxLastRebootReasonEnum = {
26
+ Crash: 'crash',
27
+ Clean: 'clean',
28
+ Unknown: 'unknown'
29
+ };
30
+ /**
31
+ * Check if a given object implements the SandboxLastReboot interface.
32
+ */
33
+ function instanceOfSandboxLastReboot(value) {
34
+ return true;
35
+ }
36
+ function SandboxLastRebootFromJSON(json) {
37
+ return SandboxLastRebootFromJSONTyped(json, false);
38
+ }
39
+ function SandboxLastRebootFromJSONTyped(json, ignoreDiscriminator) {
40
+ if (json == null) {
41
+ return json;
42
+ }
43
+ return {
44
+ 'at': json['at'] == null ? undefined : (new Date(json['at'])),
45
+ 'reason': json['reason'] == null ? undefined : json['reason'],
46
+ };
47
+ }
48
+ function SandboxLastRebootToJSON(json) {
49
+ return SandboxLastRebootToJSONTyped(json, false);
50
+ }
51
+ function SandboxLastRebootToJSONTyped(value, ignoreDiscriminator = false) {
52
+ if (value == null) {
53
+ return value;
54
+ }
55
+ return {
56
+ 'at': value['at'] == null ? value['at'] : value['at'].toISOString(),
57
+ 'reason': value['reason'],
58
+ };
59
+ }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { PageInfo } from './PageInfo';
13
+ import type { SandboxListResponseAllOfDeletedCost } from './SandboxListResponseAllOfDeletedCost';
13
14
  import type { Sandbox } from './Sandbox';
14
15
  /**
15
16
  *
@@ -41,6 +42,12 @@ export interface SandboxListResponse {
41
42
  * @memberof SandboxListResponse
42
43
  */
43
44
  pageInfo?: PageInfo;
45
+ /**
46
+ *
47
+ * @type {SandboxListResponseAllOfDeletedCost}
48
+ * @memberof SandboxListResponse
49
+ */
50
+ deletedCost?: SandboxListResponseAllOfDeletedCost;
44
51
  }
45
52
  /**
46
53
  * @export
@@ -20,6 +20,7 @@ exports.SandboxListResponseFromJSONTyped = SandboxListResponseFromJSONTyped;
20
20
  exports.SandboxListResponseToJSON = SandboxListResponseToJSON;
21
21
  exports.SandboxListResponseToJSONTyped = SandboxListResponseToJSONTyped;
22
22
  const PageInfo_1 = require("./PageInfo");
23
+ const SandboxListResponseAllOfDeletedCost_1 = require("./SandboxListResponseAllOfDeletedCost");
23
24
  const Sandbox_1 = require("./Sandbox");
24
25
  /**
25
26
  * @export
@@ -51,6 +52,7 @@ function SandboxListResponseFromJSONTyped(json, ignoreDiscriminator) {
51
52
  'type': json['type'],
52
53
  'sandboxes': (json['sandboxes'].map(Sandbox_1.SandboxFromJSON)),
53
54
  'pageInfo': json['pageInfo'] == null ? undefined : (0, PageInfo_1.PageInfoFromJSON)(json['pageInfo']),
55
+ 'deletedCost': json['deletedCost'] == null ? undefined : (0, SandboxListResponseAllOfDeletedCost_1.SandboxListResponseAllOfDeletedCostFromJSON)(json['deletedCost']),
54
56
  };
55
57
  }
56
58
  function SandboxListResponseToJSON(json) {
@@ -65,5 +67,6 @@ function SandboxListResponseToJSONTyped(value, ignoreDiscriminator = false) {
65
67
  'type': value['type'],
66
68
  'sandboxes': (value['sandboxes'].map(Sandbox_1.SandboxToJSON)),
67
69
  'pageInfo': (0, PageInfo_1.PageInfoToJSON)(value['pageInfo']),
70
+ 'deletedCost': (0, SandboxListResponseAllOfDeletedCost_1.SandboxListResponseAllOfDeletedCostToJSON)(value['deletedCost']),
68
71
  };
69
72
  }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Boat Public API v1
3
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Only with `include=cost`, and not for an API key limited to some sandboxes. Machine time this calendar month (UTC) of deleted sandboxes this list would otherwise show. They are not in the list, but their time was billed. Add it to the sandboxes' `cost` to get the full total.
14
+ * @export
15
+ * @interface SandboxListResponseAllOfDeletedCost
16
+ */
17
+ export interface SandboxListResponseAllOfDeletedCost {
18
+ /**
19
+ * The 1st of this month, 00:00 UTC.
20
+ * @type {Date}
21
+ * @memberof SandboxListResponseAllOfDeletedCost
22
+ */
23
+ since: Date;
24
+ /**
25
+ * Billable machine-seconds, size multiplier applied.
26
+ * @type {number}
27
+ * @memberof SandboxListResponseAllOfDeletedCost
28
+ */
29
+ seconds: number;
30
+ /**
31
+ * seconds / secondsPerDollar, at list price.
32
+ * @type {number}
33
+ * @memberof SandboxListResponseAllOfDeletedCost
34
+ */
35
+ dollars: number;
36
+ }
37
+ /**
38
+ * Check if a given object implements the SandboxListResponseAllOfDeletedCost interface.
39
+ */
40
+ export declare function instanceOfSandboxListResponseAllOfDeletedCost(value: object): value is SandboxListResponseAllOfDeletedCost;
41
+ export declare function SandboxListResponseAllOfDeletedCostFromJSON(json: any): SandboxListResponseAllOfDeletedCost;
42
+ export declare function SandboxListResponseAllOfDeletedCostFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxListResponseAllOfDeletedCost;
43
+ export declare function SandboxListResponseAllOfDeletedCostToJSON(json: any): SandboxListResponseAllOfDeletedCost;
44
+ export declare function SandboxListResponseAllOfDeletedCostToJSONTyped(value?: SandboxListResponseAllOfDeletedCost | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Boat Public API v1
6
+ * Public JSON API for creating, operating, prompting, observing, and exposing sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1.
7
+ *
8
+ * The version of the OpenAPI document: 1.0.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfSandboxListResponseAllOfDeletedCost = instanceOfSandboxListResponseAllOfDeletedCost;
17
+ exports.SandboxListResponseAllOfDeletedCostFromJSON = SandboxListResponseAllOfDeletedCostFromJSON;
18
+ exports.SandboxListResponseAllOfDeletedCostFromJSONTyped = SandboxListResponseAllOfDeletedCostFromJSONTyped;
19
+ exports.SandboxListResponseAllOfDeletedCostToJSON = SandboxListResponseAllOfDeletedCostToJSON;
20
+ exports.SandboxListResponseAllOfDeletedCostToJSONTyped = SandboxListResponseAllOfDeletedCostToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the SandboxListResponseAllOfDeletedCost interface.
23
+ */
24
+ function instanceOfSandboxListResponseAllOfDeletedCost(value) {
25
+ if (!('since' in value) || value['since'] === undefined)
26
+ return false;
27
+ if (!('seconds' in value) || value['seconds'] === undefined)
28
+ return false;
29
+ if (!('dollars' in value) || value['dollars'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ function SandboxListResponseAllOfDeletedCostFromJSON(json) {
34
+ return SandboxListResponseAllOfDeletedCostFromJSONTyped(json, false);
35
+ }
36
+ function SandboxListResponseAllOfDeletedCostFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'since': (new Date(json['since'])),
42
+ 'seconds': json['seconds'],
43
+ 'dollars': json['dollars'],
44
+ };
45
+ }
46
+ function SandboxListResponseAllOfDeletedCostToJSON(json) {
47
+ return SandboxListResponseAllOfDeletedCostToJSONTyped(json, false);
48
+ }
49
+ function SandboxListResponseAllOfDeletedCostToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'since': value['since'].toISOString(),
55
+ 'seconds': value['seconds'],
56
+ 'dollars': value['dollars'],
57
+ };
58
+ }