@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,85 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * 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.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * 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.
18
+ * @export
19
+ * @interface SandboxLastReboot
20
+ */
21
+ export interface SandboxLastReboot {
22
+ /**
23
+ *
24
+ * @type {Date}
25
+ * @memberof SandboxLastReboot
26
+ */
27
+ at?: Date;
28
+ /**
29
+ *
30
+ * @type {SandboxLastRebootReasonEnum}
31
+ * @memberof SandboxLastReboot
32
+ */
33
+ reason?: SandboxLastRebootReasonEnum;
34
+ }
35
+
36
+
37
+ /**
38
+ * @export
39
+ */
40
+ export const SandboxLastRebootReasonEnum = {
41
+ Crash: 'crash',
42
+ Clean: 'clean',
43
+ Unknown: 'unknown'
44
+ } as const;
45
+ export type SandboxLastRebootReasonEnum = typeof SandboxLastRebootReasonEnum[keyof typeof SandboxLastRebootReasonEnum];
46
+
47
+
48
+ /**
49
+ * Check if a given object implements the SandboxLastReboot interface.
50
+ */
51
+ export function instanceOfSandboxLastReboot(value: object): value is SandboxLastReboot {
52
+ return true;
53
+ }
54
+
55
+ export function SandboxLastRebootFromJSON(json: any): SandboxLastReboot {
56
+ return SandboxLastRebootFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function SandboxLastRebootFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxLastReboot {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+
65
+ 'at': json['at'] == null ? undefined : (new Date(json['at'])),
66
+ 'reason': json['reason'] == null ? undefined : json['reason'],
67
+ };
68
+ }
69
+
70
+ export function SandboxLastRebootToJSON(json: any): SandboxLastReboot {
71
+ return SandboxLastRebootToJSONTyped(json, false);
72
+ }
73
+
74
+ export function SandboxLastRebootToJSONTyped(value?: SandboxLastReboot | null, ignoreDiscriminator: boolean = false): any {
75
+ if (value == null) {
76
+ return value;
77
+ }
78
+
79
+ return {
80
+
81
+ 'at': value['at'] == null ? value['at'] : value['at'].toISOString(),
82
+ 'reason': value['reason'],
83
+ };
84
+ }
85
+
@@ -20,6 +20,13 @@ import {
20
20
  PageInfoToJSON,
21
21
  PageInfoToJSONTyped,
22
22
  } from './PageInfo';
23
+ import type { SandboxListResponseAllOfDeletedCost } from './SandboxListResponseAllOfDeletedCost';
24
+ import {
25
+ SandboxListResponseAllOfDeletedCostFromJSON,
26
+ SandboxListResponseAllOfDeletedCostFromJSONTyped,
27
+ SandboxListResponseAllOfDeletedCostToJSON,
28
+ SandboxListResponseAllOfDeletedCostToJSONTyped,
29
+ } from './SandboxListResponseAllOfDeletedCost';
23
30
  import type { Sandbox } from './Sandbox';
24
31
  import {
25
32
  SandboxFromJSON,
@@ -58,6 +65,12 @@ export interface SandboxListResponse {
58
65
  * @memberof SandboxListResponse
59
66
  */
60
67
  pageInfo?: PageInfo;
68
+ /**
69
+ *
70
+ * @type {SandboxListResponseAllOfDeletedCost}
71
+ * @memberof SandboxListResponse
72
+ */
73
+ deletedCost?: SandboxListResponseAllOfDeletedCost;
61
74
  }
62
75
 
63
76
 
@@ -94,6 +107,7 @@ export function SandboxListResponseFromJSONTyped(json: any, ignoreDiscriminator:
94
107
  'type': json['type'],
95
108
  'sandboxes': ((json['sandboxes'] as Array<any>).map(SandboxFromJSON)),
96
109
  'pageInfo': json['pageInfo'] == null ? undefined : PageInfoFromJSON(json['pageInfo']),
110
+ 'deletedCost': json['deletedCost'] == null ? undefined : SandboxListResponseAllOfDeletedCostFromJSON(json['deletedCost']),
97
111
  };
98
112
  }
99
113
 
@@ -112,6 +126,7 @@ export function SandboxListResponseToJSONTyped(value?: SandboxListResponse | nul
112
126
  'type': value['type'],
113
127
  'sandboxes': ((value['sandboxes'] as Array<any>).map(SandboxToJSON)),
114
128
  'pageInfo': PageInfoToJSON(value['pageInfo']),
129
+ 'deletedCost': SandboxListResponseAllOfDeletedCostToJSON(value['deletedCost']),
115
130
  };
116
131
  }
117
132
 
@@ -0,0 +1,84 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * 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.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * 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.
18
+ * @export
19
+ * @interface SandboxListResponseAllOfDeletedCost
20
+ */
21
+ export interface SandboxListResponseAllOfDeletedCost {
22
+ /**
23
+ * The 1st of this month, 00:00 UTC.
24
+ * @type {Date}
25
+ * @memberof SandboxListResponseAllOfDeletedCost
26
+ */
27
+ since: Date;
28
+ /**
29
+ * Billable machine-seconds, size multiplier applied.
30
+ * @type {number}
31
+ * @memberof SandboxListResponseAllOfDeletedCost
32
+ */
33
+ seconds: number;
34
+ /**
35
+ * seconds / secondsPerDollar, at list price.
36
+ * @type {number}
37
+ * @memberof SandboxListResponseAllOfDeletedCost
38
+ */
39
+ dollars: number;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the SandboxListResponseAllOfDeletedCost interface.
44
+ */
45
+ export function instanceOfSandboxListResponseAllOfDeletedCost(value: object): value is SandboxListResponseAllOfDeletedCost {
46
+ if (!('since' in value) || value['since'] === undefined) return false;
47
+ if (!('seconds' in value) || value['seconds'] === undefined) return false;
48
+ if (!('dollars' in value) || value['dollars'] === undefined) return false;
49
+ return true;
50
+ }
51
+
52
+ export function SandboxListResponseAllOfDeletedCostFromJSON(json: any): SandboxListResponseAllOfDeletedCost {
53
+ return SandboxListResponseAllOfDeletedCostFromJSONTyped(json, false);
54
+ }
55
+
56
+ export function SandboxListResponseAllOfDeletedCostFromJSONTyped(json: any, ignoreDiscriminator: boolean): SandboxListResponseAllOfDeletedCost {
57
+ if (json == null) {
58
+ return json;
59
+ }
60
+ return {
61
+
62
+ 'since': (new Date(json['since'])),
63
+ 'seconds': json['seconds'],
64
+ 'dollars': json['dollars'],
65
+ };
66
+ }
67
+
68
+ export function SandboxListResponseAllOfDeletedCostToJSON(json: any): SandboxListResponseAllOfDeletedCost {
69
+ return SandboxListResponseAllOfDeletedCostToJSONTyped(json, false);
70
+ }
71
+
72
+ export function SandboxListResponseAllOfDeletedCostToJSONTyped(value?: SandboxListResponseAllOfDeletedCost | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'since': value['since'].toISOString(),
80
+ 'seconds': value['seconds'],
81
+ 'dollars': value['dollars'],
82
+ };
83
+ }
84
+
@@ -0,0 +1,137 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * 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.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * A saved snapshot: a frozen copy of a sandbox's disk at one moment, saved under a name you pick. Independent of the source sandbox's later life: the sandbox can change, stop, or be deleted and the saved snapshot still deploys. Saved snapshots never expire; re-saving a name replaces its artifact.
18
+ * @export
19
+ * @interface SavedSnapshot
20
+ */
21
+ export interface SavedSnapshot {
22
+ /**
23
+ * The user-chosen handle, unique within your account.
24
+ * @type {string}
25
+ * @memberof SavedSnapshot
26
+ */
27
+ name: string;
28
+ /**
29
+ * `saving` while the capture and pin are in flight (a live source sandbox takes a fresh snapshot first, which can run minutes), `ready` when deployable, `failed` if the save did not complete (see `error`; save again to retry).
30
+ * @type {SavedSnapshotStatusEnum}
31
+ * @memberof SavedSnapshot
32
+ */
33
+ status: SavedSnapshotStatusEnum;
34
+ /**
35
+ * Failure reason. Only present when `status` is `failed`.
36
+ * @type {string}
37
+ * @memberof SavedSnapshot
38
+ */
39
+ error?: string;
40
+ /**
41
+ * The sandbox this snapshot was saved from (display only).
42
+ * @type {string}
43
+ * @memberof SavedSnapshot
44
+ */
45
+ sourceSandboxId: string;
46
+ /**
47
+ * The frozen artifact behind the name. Present once `status` is `ready`. Accepted by `GET /api/boat/snapshots/{snapshotId}/tree` to browse its files.
48
+ * @type {string}
49
+ * @memberof SavedSnapshot
50
+ */
51
+ snapshotId?: string;
52
+ /**
53
+ * Sandbox type the snapshot was saved from. Deploys default to it.
54
+ * @type {string}
55
+ * @memberof SavedSnapshot
56
+ */
57
+ type?: string;
58
+ /**
59
+ * Restored content size of the frozen state, in bytes.
60
+ * @type {number}
61
+ * @memberof SavedSnapshot
62
+ */
63
+ sizeBytes?: number;
64
+ /**
65
+ *
66
+ * @type {Date}
67
+ * @memberof SavedSnapshot
68
+ */
69
+ createdAt: Date;
70
+ }
71
+
72
+
73
+ /**
74
+ * @export
75
+ */
76
+ export const SavedSnapshotStatusEnum = {
77
+ Saving: 'saving',
78
+ Ready: 'ready',
79
+ Failed: 'failed'
80
+ } as const;
81
+ export type SavedSnapshotStatusEnum = typeof SavedSnapshotStatusEnum[keyof typeof SavedSnapshotStatusEnum];
82
+
83
+
84
+ /**
85
+ * Check if a given object implements the SavedSnapshot interface.
86
+ */
87
+ export function instanceOfSavedSnapshot(value: object): value is SavedSnapshot {
88
+ if (!('name' in value) || value['name'] === undefined) return false;
89
+ if (!('status' in value) || value['status'] === undefined) return false;
90
+ if (!('sourceSandboxId' in value) || value['sourceSandboxId'] === undefined) return false;
91
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
92
+ return true;
93
+ }
94
+
95
+ export function SavedSnapshotFromJSON(json: any): SavedSnapshot {
96
+ return SavedSnapshotFromJSONTyped(json, false);
97
+ }
98
+
99
+ export function SavedSnapshotFromJSONTyped(json: any, ignoreDiscriminator: boolean): SavedSnapshot {
100
+ if (json == null) {
101
+ return json;
102
+ }
103
+ return {
104
+
105
+ 'name': json['name'],
106
+ 'status': json['status'],
107
+ 'error': json['error'] == null ? undefined : json['error'],
108
+ 'sourceSandboxId': json['sourceSandboxId'],
109
+ 'snapshotId': json['snapshotId'] == null ? undefined : json['snapshotId'],
110
+ 'type': json['type'] == null ? undefined : json['type'],
111
+ 'sizeBytes': json['sizeBytes'] == null ? undefined : json['sizeBytes'],
112
+ 'createdAt': (new Date(json['createdAt'])),
113
+ };
114
+ }
115
+
116
+ export function SavedSnapshotToJSON(json: any): SavedSnapshot {
117
+ return SavedSnapshotToJSONTyped(json, false);
118
+ }
119
+
120
+ export function SavedSnapshotToJSONTyped(value?: SavedSnapshot | null, ignoreDiscriminator: boolean = false): any {
121
+ if (value == null) {
122
+ return value;
123
+ }
124
+
125
+ return {
126
+
127
+ 'name': value['name'],
128
+ 'status': value['status'],
129
+ 'error': value['error'],
130
+ 'sourceSandboxId': value['sourceSandboxId'],
131
+ 'snapshotId': value['snapshotId'],
132
+ 'type': value['type'],
133
+ 'sizeBytes': value['sizeBytes'],
134
+ 'createdAt': value['createdAt'].toISOString(),
135
+ };
136
+ }
137
+
@@ -0,0 +1,130 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * 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.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * What the request's wallet (your active organization, `?org=`, or personal) pays for saved snapshots. 10 are free per wallet; each one above costs $1.70 a month, charged daily from usage. An organization's count includes every member's names billed to it.
18
+ * @export
19
+ * @interface SavedSnapshotAllowance
20
+ */
21
+ export interface SavedSnapshotAllowance {
22
+ /**
23
+ * Organization the numbers are for. null = personal.
24
+ * @type {string}
25
+ * @memberof SavedSnapshotAllowance
26
+ */
27
+ org?: string | null;
28
+ /**
29
+ * That organization's name.
30
+ * @type {string}
31
+ * @memberof SavedSnapshotAllowance
32
+ */
33
+ orgName?: string | null;
34
+ /**
35
+ * Saved snapshots the plan includes: 10 per $20 of plan per seat, never fewer than 10.
36
+ * @type {number}
37
+ * @memberof SavedSnapshotAllowance
38
+ */
39
+ included?: number;
40
+ /**
41
+ * Same value as included. Kept for older clients.
42
+ * @type {number}
43
+ * @memberof SavedSnapshotAllowance
44
+ * @deprecated
45
+ */
46
+ free?: number;
47
+ /**
48
+ * Saved snapshots this wallet keeps.
49
+ * @type {number}
50
+ * @memberof SavedSnapshotAllowance
51
+ */
52
+ used?: number;
53
+ /**
54
+ * Saved snapshots above the included ones.
55
+ * @type {number}
56
+ * @memberof SavedSnapshotAllowance
57
+ */
58
+ extra?: number;
59
+ /**
60
+ * What the extra ones cost per month.
61
+ * @type {number}
62
+ * @memberof SavedSnapshotAllowance
63
+ */
64
+ extraMonthlyDollars?: number;
65
+ /**
66
+ * Boat time the extra ones take per day, in dollars (the daily charge).
67
+ * @type {number}
68
+ * @memberof SavedSnapshotAllowance
69
+ */
70
+ extraDailyDollars?: number;
71
+ /**
72
+ * Monthly price of one extra saved snapshot.
73
+ * @type {number}
74
+ * @memberof SavedSnapshotAllowance
75
+ */
76
+ pricePerExtraMonthlyDollars?: number;
77
+ }
78
+
79
+ /**
80
+ * Check if a given object implements the SavedSnapshotAllowance interface.
81
+ */
82
+ export function instanceOfSavedSnapshotAllowance(value: object): value is SavedSnapshotAllowance {
83
+ return true;
84
+ }
85
+
86
+ export function SavedSnapshotAllowanceFromJSON(json: any): SavedSnapshotAllowance {
87
+ return SavedSnapshotAllowanceFromJSONTyped(json, false);
88
+ }
89
+
90
+ export function SavedSnapshotAllowanceFromJSONTyped(json: any, ignoreDiscriminator: boolean): SavedSnapshotAllowance {
91
+ if (json == null) {
92
+ return json;
93
+ }
94
+ return {
95
+
96
+ 'org': json['org'] == null ? undefined : json['org'],
97
+ 'orgName': json['orgName'] == null ? undefined : json['orgName'],
98
+ 'included': json['included'] == null ? undefined : json['included'],
99
+ 'free': json['free'] == null ? undefined : json['free'],
100
+ 'used': json['used'] == null ? undefined : json['used'],
101
+ 'extra': json['extra'] == null ? undefined : json['extra'],
102
+ 'extraMonthlyDollars': json['extraMonthlyDollars'] == null ? undefined : json['extraMonthlyDollars'],
103
+ 'extraDailyDollars': json['extraDailyDollars'] == null ? undefined : json['extraDailyDollars'],
104
+ 'pricePerExtraMonthlyDollars': json['pricePerExtraMonthlyDollars'] == null ? undefined : json['pricePerExtraMonthlyDollars'],
105
+ };
106
+ }
107
+
108
+ export function SavedSnapshotAllowanceToJSON(json: any): SavedSnapshotAllowance {
109
+ return SavedSnapshotAllowanceToJSONTyped(json, false);
110
+ }
111
+
112
+ export function SavedSnapshotAllowanceToJSONTyped(value?: SavedSnapshotAllowance | null, ignoreDiscriminator: boolean = false): any {
113
+ if (value == null) {
114
+ return value;
115
+ }
116
+
117
+ return {
118
+
119
+ 'org': value['org'],
120
+ 'orgName': value['orgName'],
121
+ 'included': value['included'],
122
+ 'free': value['free'],
123
+ 'used': value['used'],
124
+ 'extra': value['extra'],
125
+ 'extraMonthlyDollars': value['extraMonthlyDollars'],
126
+ 'extraDailyDollars': value['extraDailyDollars'],
127
+ 'pricePerExtraMonthlyDollars': value['pricePerExtraMonthlyDollars'],
128
+ };
129
+ }
130
+
@@ -0,0 +1,111 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * 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.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface SavedSnapshotDeletedResponse
20
+ */
21
+ export interface SavedSnapshotDeletedResponse {
22
+ /**
23
+ *
24
+ * @type {boolean}
25
+ * @memberof SavedSnapshotDeletedResponse
26
+ */
27
+ ok: boolean;
28
+ /**
29
+ *
30
+ * @type {SavedSnapshotDeletedResponseTypeEnum}
31
+ * @memberof SavedSnapshotDeletedResponse
32
+ */
33
+ type: SavedSnapshotDeletedResponseTypeEnum;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof SavedSnapshotDeletedResponse
38
+ */
39
+ name: string;
40
+ /**
41
+ *
42
+ * @type {SavedSnapshotDeletedResponseStatusEnum}
43
+ * @memberof SavedSnapshotDeletedResponse
44
+ */
45
+ status: SavedSnapshotDeletedResponseStatusEnum;
46
+ }
47
+
48
+
49
+ /**
50
+ * @export
51
+ */
52
+ export const SavedSnapshotDeletedResponseTypeEnum = {
53
+ SnapshotSavedDeleted: 'snapshot.saved.deleted'
54
+ } as const;
55
+ export type SavedSnapshotDeletedResponseTypeEnum = typeof SavedSnapshotDeletedResponseTypeEnum[keyof typeof SavedSnapshotDeletedResponseTypeEnum];
56
+
57
+ /**
58
+ * @export
59
+ */
60
+ export const SavedSnapshotDeletedResponseStatusEnum = {
61
+ Deleted: 'deleted'
62
+ } as const;
63
+ export type SavedSnapshotDeletedResponseStatusEnum = typeof SavedSnapshotDeletedResponseStatusEnum[keyof typeof SavedSnapshotDeletedResponseStatusEnum];
64
+
65
+
66
+ /**
67
+ * Check if a given object implements the SavedSnapshotDeletedResponse interface.
68
+ */
69
+ export function instanceOfSavedSnapshotDeletedResponse(value: object): value is SavedSnapshotDeletedResponse {
70
+ if (!('ok' in value) || value['ok'] === undefined) return false;
71
+ if (!('type' in value) || value['type'] === undefined) return false;
72
+ if (!('name' in value) || value['name'] === undefined) return false;
73
+ if (!('status' in value) || value['status'] === undefined) return false;
74
+ return true;
75
+ }
76
+
77
+ export function SavedSnapshotDeletedResponseFromJSON(json: any): SavedSnapshotDeletedResponse {
78
+ return SavedSnapshotDeletedResponseFromJSONTyped(json, false);
79
+ }
80
+
81
+ export function SavedSnapshotDeletedResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SavedSnapshotDeletedResponse {
82
+ if (json == null) {
83
+ return json;
84
+ }
85
+ return {
86
+
87
+ 'ok': json['ok'],
88
+ 'type': json['type'],
89
+ 'name': json['name'],
90
+ 'status': json['status'],
91
+ };
92
+ }
93
+
94
+ export function SavedSnapshotDeletedResponseToJSON(json: any): SavedSnapshotDeletedResponse {
95
+ return SavedSnapshotDeletedResponseToJSONTyped(json, false);
96
+ }
97
+
98
+ export function SavedSnapshotDeletedResponseToJSONTyped(value?: SavedSnapshotDeletedResponse | null, ignoreDiscriminator: boolean = false): any {
99
+ if (value == null) {
100
+ return value;
101
+ }
102
+
103
+ return {
104
+
105
+ 'ok': value['ok'],
106
+ 'type': value['type'],
107
+ 'name': value['name'],
108
+ 'status': value['status'],
109
+ };
110
+ }
111
+
@@ -0,0 +1,102 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Boat Public API v1
5
+ * 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.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { SavedSnapshot } from './SavedSnapshot';
17
+ import {
18
+ SavedSnapshotFromJSON,
19
+ SavedSnapshotFromJSONTyped,
20
+ SavedSnapshotToJSON,
21
+ SavedSnapshotToJSONTyped,
22
+ } from './SavedSnapshot';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface SavedSnapshotInfoResponse
28
+ */
29
+ export interface SavedSnapshotInfoResponse {
30
+ /**
31
+ *
32
+ * @type {boolean}
33
+ * @memberof SavedSnapshotInfoResponse
34
+ */
35
+ ok: boolean;
36
+ /**
37
+ *
38
+ * @type {SavedSnapshotInfoResponseTypeEnum}
39
+ * @memberof SavedSnapshotInfoResponse
40
+ */
41
+ type: SavedSnapshotInfoResponseTypeEnum;
42
+ /**
43
+ *
44
+ * @type {SavedSnapshot}
45
+ * @memberof SavedSnapshotInfoResponse
46
+ */
47
+ snapshot: SavedSnapshot;
48
+ }
49
+
50
+
51
+ /**
52
+ * @export
53
+ */
54
+ export const SavedSnapshotInfoResponseTypeEnum = {
55
+ SnapshotSavedInfo: 'snapshot.saved.info'
56
+ } as const;
57
+ export type SavedSnapshotInfoResponseTypeEnum = typeof SavedSnapshotInfoResponseTypeEnum[keyof typeof SavedSnapshotInfoResponseTypeEnum];
58
+
59
+
60
+ /**
61
+ * Check if a given object implements the SavedSnapshotInfoResponse interface.
62
+ */
63
+ export function instanceOfSavedSnapshotInfoResponse(value: object): value is SavedSnapshotInfoResponse {
64
+ if (!('ok' in value) || value['ok'] === undefined) return false;
65
+ if (!('type' in value) || value['type'] === undefined) return false;
66
+ if (!('snapshot' in value) || value['snapshot'] === undefined) return false;
67
+ return true;
68
+ }
69
+
70
+ export function SavedSnapshotInfoResponseFromJSON(json: any): SavedSnapshotInfoResponse {
71
+ return SavedSnapshotInfoResponseFromJSONTyped(json, false);
72
+ }
73
+
74
+ export function SavedSnapshotInfoResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SavedSnapshotInfoResponse {
75
+ if (json == null) {
76
+ return json;
77
+ }
78
+ return {
79
+
80
+ 'ok': json['ok'],
81
+ 'type': json['type'],
82
+ 'snapshot': SavedSnapshotFromJSON(json['snapshot']),
83
+ };
84
+ }
85
+
86
+ export function SavedSnapshotInfoResponseToJSON(json: any): SavedSnapshotInfoResponse {
87
+ return SavedSnapshotInfoResponseToJSONTyped(json, false);
88
+ }
89
+
90
+ export function SavedSnapshotInfoResponseToJSONTyped(value?: SavedSnapshotInfoResponse | null, ignoreDiscriminator: boolean = false): any {
91
+ if (value == null) {
92
+ return value;
93
+ }
94
+
95
+ return {
96
+
97
+ 'ok': value['ok'],
98
+ 'type': value['type'],
99
+ 'snapshot': SavedSnapshotToJSON(value['snapshot']),
100
+ };
101
+ }
102
+