@boatdev/sdk 1.1.0 → 1.2.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.
@@ -47,6 +47,12 @@ export interface CreateSandboxRequest {
47
47
  * @memberof CreateSandboxRequest
48
48
  */
49
49
  noEnv?: boolean;
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 named snapshot, and if its machine fails there is no backup to rebuild it from.
52
+ * @type {boolean}
53
+ * @memberof CreateSandboxRequest
54
+ */
55
+ snapshots?: boolean;
50
56
  /**
51
57
  * 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 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.
52
58
  * @type {string}
@@ -38,6 +38,7 @@ export function CreateSandboxRequestFromJSONTyped(json, ignoreDiscriminator) {
38
38
  'env': json['env'] == null ? undefined : json['env'],
39
39
  'environment': json['environment'] == null ? undefined : json['environment'],
40
40
  'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
41
+ 'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
41
42
  'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
42
43
  'org': json['org'] == null ? undefined : json['org'],
43
44
  'teamId': json['teamId'] == null ? undefined : json['teamId'],
@@ -57,6 +58,7 @@ export function CreateSandboxRequestToJSONTyped(value, ignoreDiscriminator = fal
57
58
  'env': value['env'],
58
59
  'environment': value['environment'],
59
60
  'noEnv': value['noEnv'],
61
+ 'snapshots': value['snapshots'],
60
62
  'setupScript': value['setupScript'],
61
63
  'org': value['org'],
62
64
  'teamId': value['teamId'],
@@ -51,6 +51,18 @@ export interface DataRetentionPolicyResponse {
51
51
  * @memberof DataRetentionPolicyResponse
52
52
  */
53
53
  acceptedDeletionOperationsIrreversible?: boolean;
54
+ /**
55
+ * When true, every new sandbox of this account is created with snapshots off.
56
+ * @type {boolean}
57
+ * @memberof DataRetentionPolicyResponse
58
+ */
59
+ snapshotsOff?: boolean;
60
+ /**
61
+ *
62
+ * @type {Date}
63
+ * @memberof DataRetentionPolicyResponse
64
+ */
65
+ snapshotsOffAt?: Date | null;
54
66
  }
55
67
  /**
56
68
  * @export
@@ -46,6 +46,8 @@ export function DataRetentionPolicyResponseFromJSONTyped(json, ignoreDiscriminat
46
46
  'enabledAt': (json['enabledAt'] == null ? null : new Date(json['enabledAt'])),
47
47
  'queuedSandboxes': json['queuedSandboxes'] == null ? undefined : json['queuedSandboxes'],
48
48
  'acceptedDeletionOperationsIrreversible': json['acceptedDeletionOperationsIrreversible'] == null ? undefined : json['acceptedDeletionOperationsIrreversible'],
49
+ 'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
50
+ 'snapshotsOffAt': json['snapshotsOffAt'] == null ? undefined : (new Date(json['snapshotsOffAt'])),
49
51
  };
50
52
  }
51
53
  export function DataRetentionPolicyResponseToJSON(json) {
@@ -62,5 +64,7 @@ export function DataRetentionPolicyResponseToJSONTyped(value, ignoreDiscriminato
62
64
  'enabledAt': value['enabledAt'] == null ? value['enabledAt'] : value['enabledAt'].toISOString(),
63
65
  'queuedSandboxes': value['queuedSandboxes'],
64
66
  'acceptedDeletionOperationsIrreversible': value['acceptedDeletionOperationsIrreversible'],
67
+ 'snapshotsOff': value['snapshotsOff'],
68
+ 'snapshotsOffAt': value['snapshotsOffAt'] == null ? value['snapshotsOffAt'] : value['snapshotsOffAt'].toISOString(),
65
69
  };
66
70
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- *
13
+ * Pass `enabled` to change zero data retention, or `snapshotsOff` alone to change the account's snapshots-off setting.
14
14
  * @export
15
15
  * @interface DataRetentionUpdateRequest
16
16
  */
@@ -20,7 +20,13 @@ export interface DataRetentionUpdateRequest {
20
20
  * @type {boolean}
21
21
  * @memberof DataRetentionUpdateRequest
22
22
  */
23
- enabled: boolean;
23
+ enabled?: boolean;
24
+ /**
25
+ * Turn snapshots off for every sandbox created from now on. Existing sandboxes keep their setting. While on, a create or fork that passes `snapshots: true` is refused with 409 `snapshots_off_for_account`.
26
+ * @type {boolean}
27
+ * @memberof DataRetentionUpdateRequest
28
+ */
29
+ snapshotsOff?: boolean;
24
30
  /**
25
31
  * Required when enabling and must exactly equal `delete archived sandbox data`.
26
32
  * @type {DataRetentionUpdateRequestConfirmationEnum}
@@ -21,8 +21,6 @@ export const DataRetentionUpdateRequestConfirmationEnum = {
21
21
  * Check if a given object implements the DataRetentionUpdateRequest interface.
22
22
  */
23
23
  export function instanceOfDataRetentionUpdateRequest(value) {
24
- if (!('enabled' in value) || value['enabled'] === undefined)
25
- return false;
26
24
  return true;
27
25
  }
28
26
  export function DataRetentionUpdateRequestFromJSON(json) {
@@ -33,7 +31,8 @@ export function DataRetentionUpdateRequestFromJSONTyped(json, ignoreDiscriminato
33
31
  return json;
34
32
  }
35
33
  return {
36
- 'enabled': json['enabled'],
34
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
35
+ 'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
37
36
  'confirmation': json['confirmation'] == null ? undefined : json['confirmation'],
38
37
  };
39
38
  }
@@ -46,6 +45,7 @@ export function DataRetentionUpdateRequestToJSONTyped(value, ignoreDiscriminator
46
45
  }
47
46
  return {
48
47
  'enabled': value['enabled'],
48
+ 'snapshotsOff': value['snapshotsOff'],
49
49
  'confirmation': value['confirmation'],
50
50
  };
51
51
  }
@@ -118,6 +118,12 @@ export interface Sandbox {
118
118
  * @memberof Sandbox
119
119
  */
120
120
  desktopUrl?: string | null;
121
+ /**
122
+ * False when the sandbox was created with snapshots off.
123
+ * @type {boolean}
124
+ * @memberof Sandbox
125
+ */
126
+ snapshots?: boolean;
121
127
  /**
122
128
  *
123
129
  * @type {boolean}
@@ -103,6 +103,7 @@ export function SandboxFromJSONTyped(json, ignoreDiscriminator) {
103
103
  'archiveAfter': json['archiveAfter'] == null ? undefined : (new Date(json['archiveAfter'])),
104
104
  'desktopAvailable': json['desktopAvailable'],
105
105
  'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
106
+ 'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
106
107
  'snapshotAvailable': json['snapshotAvailable'],
107
108
  'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
108
109
  'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
@@ -141,6 +142,7 @@ export function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
141
142
  'archiveAfter': value['archiveAfter'] == null ? value['archiveAfter'] : value['archiveAfter'].toISOString(),
142
143
  'desktopAvailable': value['desktopAvailable'],
143
144
  'desktopUrl': value['desktopUrl'],
145
+ 'snapshots': value['snapshots'],
144
146
  'snapshotAvailable': value['snapshotAvailable'],
145
147
  'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
146
148
  'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),
@@ -47,6 +47,12 @@ export interface CreateSandboxRequest {
47
47
  * @memberof CreateSandboxRequest
48
48
  */
49
49
  noEnv?: boolean;
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 named snapshot, and if its machine fails there is no backup to rebuild it from.
52
+ * @type {boolean}
53
+ * @memberof CreateSandboxRequest
54
+ */
55
+ snapshots?: boolean;
50
56
  /**
51
57
  * 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 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.
52
58
  * @type {string}
@@ -46,6 +46,7 @@ function CreateSandboxRequestFromJSONTyped(json, ignoreDiscriminator) {
46
46
  'env': json['env'] == null ? undefined : json['env'],
47
47
  'environment': json['environment'] == null ? undefined : json['environment'],
48
48
  'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
49
+ 'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
49
50
  'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
50
51
  'org': json['org'] == null ? undefined : json['org'],
51
52
  'teamId': json['teamId'] == null ? undefined : json['teamId'],
@@ -65,6 +66,7 @@ function CreateSandboxRequestToJSONTyped(value, ignoreDiscriminator = false) {
65
66
  'env': value['env'],
66
67
  'environment': value['environment'],
67
68
  'noEnv': value['noEnv'],
69
+ 'snapshots': value['snapshots'],
68
70
  'setupScript': value['setupScript'],
69
71
  'org': value['org'],
70
72
  'teamId': value['teamId'],
@@ -51,6 +51,18 @@ export interface DataRetentionPolicyResponse {
51
51
  * @memberof DataRetentionPolicyResponse
52
52
  */
53
53
  acceptedDeletionOperationsIrreversible?: boolean;
54
+ /**
55
+ * When true, every new sandbox of this account is created with snapshots off.
56
+ * @type {boolean}
57
+ * @memberof DataRetentionPolicyResponse
58
+ */
59
+ snapshotsOff?: boolean;
60
+ /**
61
+ *
62
+ * @type {Date}
63
+ * @memberof DataRetentionPolicyResponse
64
+ */
65
+ snapshotsOffAt?: Date | null;
54
66
  }
55
67
  /**
56
68
  * @export
@@ -54,6 +54,8 @@ function DataRetentionPolicyResponseFromJSONTyped(json, ignoreDiscriminator) {
54
54
  'enabledAt': (json['enabledAt'] == null ? null : new Date(json['enabledAt'])),
55
55
  'queuedSandboxes': json['queuedSandboxes'] == null ? undefined : json['queuedSandboxes'],
56
56
  'acceptedDeletionOperationsIrreversible': json['acceptedDeletionOperationsIrreversible'] == null ? undefined : json['acceptedDeletionOperationsIrreversible'],
57
+ 'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
58
+ 'snapshotsOffAt': json['snapshotsOffAt'] == null ? undefined : (new Date(json['snapshotsOffAt'])),
57
59
  };
58
60
  }
59
61
  function DataRetentionPolicyResponseToJSON(json) {
@@ -70,5 +72,7 @@ function DataRetentionPolicyResponseToJSONTyped(value, ignoreDiscriminator = fal
70
72
  'enabledAt': value['enabledAt'] == null ? value['enabledAt'] : value['enabledAt'].toISOString(),
71
73
  'queuedSandboxes': value['queuedSandboxes'],
72
74
  'acceptedDeletionOperationsIrreversible': value['acceptedDeletionOperationsIrreversible'],
75
+ 'snapshotsOff': value['snapshotsOff'],
76
+ 'snapshotsOffAt': value['snapshotsOffAt'] == null ? value['snapshotsOffAt'] : value['snapshotsOffAt'].toISOString(),
73
77
  };
74
78
  }
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  /**
13
- *
13
+ * Pass `enabled` to change zero data retention, or `snapshotsOff` alone to change the account's snapshots-off setting.
14
14
  * @export
15
15
  * @interface DataRetentionUpdateRequest
16
16
  */
@@ -20,7 +20,13 @@ export interface DataRetentionUpdateRequest {
20
20
  * @type {boolean}
21
21
  * @memberof DataRetentionUpdateRequest
22
22
  */
23
- enabled: boolean;
23
+ enabled?: boolean;
24
+ /**
25
+ * Turn snapshots off for every sandbox created from now on. Existing sandboxes keep their setting. While on, a create or fork that passes `snapshots: true` is refused with 409 `snapshots_off_for_account`.
26
+ * @type {boolean}
27
+ * @memberof DataRetentionUpdateRequest
28
+ */
29
+ snapshotsOff?: boolean;
24
30
  /**
25
31
  * Required when enabling and must exactly equal `delete archived sandbox data`.
26
32
  * @type {DataRetentionUpdateRequestConfirmationEnum}
@@ -29,8 +29,6 @@ exports.DataRetentionUpdateRequestConfirmationEnum = {
29
29
  * Check if a given object implements the DataRetentionUpdateRequest interface.
30
30
  */
31
31
  function instanceOfDataRetentionUpdateRequest(value) {
32
- if (!('enabled' in value) || value['enabled'] === undefined)
33
- return false;
34
32
  return true;
35
33
  }
36
34
  function DataRetentionUpdateRequestFromJSON(json) {
@@ -41,7 +39,8 @@ function DataRetentionUpdateRequestFromJSONTyped(json, ignoreDiscriminator) {
41
39
  return json;
42
40
  }
43
41
  return {
44
- 'enabled': json['enabled'],
42
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
43
+ 'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
45
44
  'confirmation': json['confirmation'] == null ? undefined : json['confirmation'],
46
45
  };
47
46
  }
@@ -54,6 +53,7 @@ function DataRetentionUpdateRequestToJSONTyped(value, ignoreDiscriminator = fals
54
53
  }
55
54
  return {
56
55
  'enabled': value['enabled'],
56
+ 'snapshotsOff': value['snapshotsOff'],
57
57
  'confirmation': value['confirmation'],
58
58
  };
59
59
  }
@@ -118,6 +118,12 @@ export interface Sandbox {
118
118
  * @memberof Sandbox
119
119
  */
120
120
  desktopUrl?: string | null;
121
+ /**
122
+ * False when the sandbox was created with snapshots off.
123
+ * @type {boolean}
124
+ * @memberof Sandbox
125
+ */
126
+ snapshots?: boolean;
121
127
  /**
122
128
  *
123
129
  * @type {boolean}
@@ -111,6 +111,7 @@ function SandboxFromJSONTyped(json, ignoreDiscriminator) {
111
111
  'archiveAfter': json['archiveAfter'] == null ? undefined : (new Date(json['archiveAfter'])),
112
112
  'desktopAvailable': json['desktopAvailable'],
113
113
  'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
114
+ 'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
114
115
  'snapshotAvailable': json['snapshotAvailable'],
115
116
  'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
116
117
  'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
@@ -149,6 +150,7 @@ function SandboxToJSONTyped(value, ignoreDiscriminator = false) {
149
150
  'archiveAfter': value['archiveAfter'] == null ? value['archiveAfter'] : value['archiveAfter'].toISOString(),
150
151
  'desktopAvailable': value['desktopAvailable'],
151
152
  'desktopUrl': value['desktopUrl'],
153
+ 'snapshots': value['snapshots'],
152
154
  'snapshotAvailable': value['snapshotAvailable'],
153
155
  'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
154
156
  'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),
@@ -12,6 +12,7 @@ Name | Type
12
12
  `env` | { [key: string]: string; }
13
13
  `environment` | string
14
14
  `noEnv` | boolean
15
+ `snapshots` | boolean
15
16
  `setupScript` | string
16
17
  `org` | string
17
18
  `teamId` | string
@@ -29,6 +30,7 @@ const example = {
29
30
  "env": null,
30
31
  "environment": null,
31
32
  "noEnv": null,
33
+ "snapshots": null,
32
34
  "setupScript": null,
33
35
  "org": null,
34
36
  "teamId": null,
@@ -12,6 +12,8 @@ Name | Type
12
12
  `enabledAt` | Date
13
13
  `queuedSandboxes` | number
14
14
  `acceptedDeletionOperationsIrreversible` | boolean
15
+ `snapshotsOff` | boolean
16
+ `snapshotsOffAt` | Date
15
17
 
16
18
  ## Example
17
19
 
@@ -26,6 +28,8 @@ const example = {
26
28
  "enabledAt": null,
27
29
  "queuedSandboxes": null,
28
30
  "acceptedDeletionOperationsIrreversible": null,
31
+ "snapshotsOff": null,
32
+ "snapshotsOffAt": null,
29
33
  } satisfies DataRetentionPolicyResponse
30
34
 
31
35
  console.log(example)
@@ -1,12 +1,14 @@
1
1
 
2
2
  # DataRetentionUpdateRequest
3
3
 
4
+ Pass `enabled` to change zero data retention, or `snapshotsOff` alone to change the account\'s snapshots-off setting.
4
5
 
5
6
  ## Properties
6
7
 
7
8
  Name | Type
8
9
  ------------ | -------------
9
10
  `enabled` | boolean
11
+ `snapshotsOff` | boolean
10
12
  `confirmation` | string
11
13
 
12
14
  ## Example
@@ -17,6 +19,7 @@ import type { DataRetentionUpdateRequest } from '@boatdev/sdk'
17
19
  // TODO: Update the object below with actual values
18
20
  const example = {
19
21
  "enabled": null,
22
+ "snapshotsOff": null,
20
23
  "confirmation": null,
21
24
  } satisfies DataRetentionUpdateRequest
22
25
 
package/docs/Sandbox.md CHANGED
@@ -23,6 +23,7 @@ Name | Type
23
23
  `archiveAfter` | Date
24
24
  `desktopAvailable` | boolean
25
25
  `desktopUrl` | string
26
+ `snapshots` | boolean
26
27
  `snapshotAvailable` | boolean
27
28
  `snapshotCompletedAt` | Date
28
29
  `snapshotVerifiedAt` | Date
@@ -59,6 +60,7 @@ const example = {
59
60
  "archiveAfter": null,
60
61
  "desktopAvailable": null,
61
62
  "desktopUrl": null,
63
+ "snapshots": null,
62
64
  "snapshotAvailable": null,
63
65
  "snapshotCompletedAt": null,
64
66
  "snapshotVerifiedAt": null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boatdev/sdk",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "OpenAPI client for @boatdev/sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "license": "MIT",
@@ -49,6 +49,12 @@ export interface CreateSandboxRequest {
49
49
  * @memberof CreateSandboxRequest
50
50
  */
51
51
  noEnv?: boolean;
52
+ /**
53
+ * 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 named snapshot, and if its machine fails there is no backup to rebuild it from.
54
+ * @type {boolean}
55
+ * @memberof CreateSandboxRequest
56
+ */
57
+ snapshots?: boolean;
52
58
  /**
53
59
  * 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 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.
54
60
  * @type {string}
@@ -109,6 +115,7 @@ export function CreateSandboxRequestFromJSONTyped(json: any, ignoreDiscriminator
109
115
  'env': json['env'] == null ? undefined : json['env'],
110
116
  'environment': json['environment'] == null ? undefined : json['environment'],
111
117
  'noEnv': json['noEnv'] == null ? undefined : json['noEnv'],
118
+ 'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
112
119
  'setupScript': json['setupScript'] == null ? undefined : json['setupScript'],
113
120
  'org': json['org'] == null ? undefined : json['org'],
114
121
  'teamId': json['teamId'] == null ? undefined : json['teamId'],
@@ -132,6 +139,7 @@ export function CreateSandboxRequestToJSONTyped(value?: CreateSandboxRequest | n
132
139
  'env': value['env'],
133
140
  'environment': value['environment'],
134
141
  'noEnv': value['noEnv'],
142
+ 'snapshots': value['snapshots'],
135
143
  'setupScript': value['setupScript'],
136
144
  'org': value['org'],
137
145
  'teamId': value['teamId'],
@@ -55,6 +55,18 @@ export interface DataRetentionPolicyResponse {
55
55
  * @memberof DataRetentionPolicyResponse
56
56
  */
57
57
  acceptedDeletionOperationsIrreversible?: boolean;
58
+ /**
59
+ * When true, every new sandbox of this account is created with snapshots off.
60
+ * @type {boolean}
61
+ * @memberof DataRetentionPolicyResponse
62
+ */
63
+ snapshotsOff?: boolean;
64
+ /**
65
+ *
66
+ * @type {Date}
67
+ * @memberof DataRetentionPolicyResponse
68
+ */
69
+ snapshotsOffAt?: Date | null;
58
70
  }
59
71
 
60
72
 
@@ -95,6 +107,8 @@ export function DataRetentionPolicyResponseFromJSONTyped(json: any, ignoreDiscri
95
107
  'enabledAt': (json['enabledAt'] == null ? null : new Date(json['enabledAt'])),
96
108
  'queuedSandboxes': json['queuedSandboxes'] == null ? undefined : json['queuedSandboxes'],
97
109
  'acceptedDeletionOperationsIrreversible': json['acceptedDeletionOperationsIrreversible'] == null ? undefined : json['acceptedDeletionOperationsIrreversible'],
110
+ 'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
111
+ 'snapshotsOffAt': json['snapshotsOffAt'] == null ? undefined : (new Date(json['snapshotsOffAt'])),
98
112
  };
99
113
  }
100
114
 
@@ -115,6 +129,8 @@ export function DataRetentionPolicyResponseToJSONTyped(value?: DataRetentionPoli
115
129
  'enabledAt': value['enabledAt'] == null ? value['enabledAt'] : value['enabledAt'].toISOString(),
116
130
  'queuedSandboxes': value['queuedSandboxes'],
117
131
  'acceptedDeletionOperationsIrreversible': value['acceptedDeletionOperationsIrreversible'],
132
+ 'snapshotsOff': value['snapshotsOff'],
133
+ 'snapshotsOffAt': value['snapshotsOffAt'] == null ? value['snapshotsOffAt'] : value['snapshotsOffAt'].toISOString(),
118
134
  };
119
135
  }
120
136
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  import { mapValues } from '../runtime';
16
16
  /**
17
- *
17
+ * Pass `enabled` to change zero data retention, or `snapshotsOff` alone to change the account's snapshots-off setting.
18
18
  * @export
19
19
  * @interface DataRetentionUpdateRequest
20
20
  */
@@ -24,7 +24,13 @@ export interface DataRetentionUpdateRequest {
24
24
  * @type {boolean}
25
25
  * @memberof DataRetentionUpdateRequest
26
26
  */
27
- enabled: boolean;
27
+ enabled?: boolean;
28
+ /**
29
+ * Turn snapshots off for every sandbox created from now on. Existing sandboxes keep their setting. While on, a create or fork that passes `snapshots: true` is refused with 409 `snapshots_off_for_account`.
30
+ * @type {boolean}
31
+ * @memberof DataRetentionUpdateRequest
32
+ */
33
+ snapshotsOff?: boolean;
28
34
  /**
29
35
  * Required when enabling and must exactly equal `delete archived sandbox data`.
30
36
  * @type {DataRetentionUpdateRequestConfirmationEnum}
@@ -47,7 +53,6 @@ export type DataRetentionUpdateRequestConfirmationEnum = typeof DataRetentionUpd
47
53
  * Check if a given object implements the DataRetentionUpdateRequest interface.
48
54
  */
49
55
  export function instanceOfDataRetentionUpdateRequest(value: object): value is DataRetentionUpdateRequest {
50
- if (!('enabled' in value) || value['enabled'] === undefined) return false;
51
56
  return true;
52
57
  }
53
58
 
@@ -61,7 +66,8 @@ export function DataRetentionUpdateRequestFromJSONTyped(json: any, ignoreDiscrim
61
66
  }
62
67
  return {
63
68
 
64
- 'enabled': json['enabled'],
69
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
70
+ 'snapshotsOff': json['snapshotsOff'] == null ? undefined : json['snapshotsOff'],
65
71
  'confirmation': json['confirmation'] == null ? undefined : json['confirmation'],
66
72
  };
67
73
  }
@@ -78,6 +84,7 @@ export function DataRetentionUpdateRequestToJSONTyped(value?: DataRetentionUpdat
78
84
  return {
79
85
 
80
86
  'enabled': value['enabled'],
87
+ 'snapshotsOff': value['snapshotsOff'],
81
88
  'confirmation': value['confirmation'],
82
89
  };
83
90
  }
@@ -129,6 +129,12 @@ export interface Sandbox {
129
129
  * @memberof Sandbox
130
130
  */
131
131
  desktopUrl?: string | null;
132
+ /**
133
+ * False when the sandbox was created with snapshots off.
134
+ * @type {boolean}
135
+ * @memberof Sandbox
136
+ */
137
+ snapshots?: boolean;
132
138
  /**
133
139
  *
134
140
  * @type {boolean}
@@ -298,6 +304,7 @@ export function SandboxFromJSONTyped(json: any, ignoreDiscriminator: boolean): S
298
304
  'archiveAfter': json['archiveAfter'] == null ? undefined : (new Date(json['archiveAfter'])),
299
305
  'desktopAvailable': json['desktopAvailable'],
300
306
  'desktopUrl': json['desktopUrl'] == null ? undefined : json['desktopUrl'],
307
+ 'snapshots': json['snapshots'] == null ? undefined : json['snapshots'],
301
308
  'snapshotAvailable': json['snapshotAvailable'],
302
309
  'snapshotCompletedAt': json['snapshotCompletedAt'] == null ? undefined : (new Date(json['snapshotCompletedAt'])),
303
310
  'snapshotVerifiedAt': json['snapshotVerifiedAt'] == null ? undefined : (new Date(json['snapshotVerifiedAt'])),
@@ -340,6 +347,7 @@ export function SandboxToJSONTyped(value?: Sandbox | null, ignoreDiscriminator:
340
347
  'archiveAfter': value['archiveAfter'] == null ? value['archiveAfter'] : value['archiveAfter'].toISOString(),
341
348
  'desktopAvailable': value['desktopAvailable'],
342
349
  'desktopUrl': value['desktopUrl'],
350
+ 'snapshots': value['snapshots'],
343
351
  'snapshotAvailable': value['snapshotAvailable'],
344
352
  'snapshotCompletedAt': value['snapshotCompletedAt'] == null ? value['snapshotCompletedAt'] : value['snapshotCompletedAt'].toISOString(),
345
353
  'snapshotVerifiedAt': value['snapshotVerifiedAt'] == null ? value['snapshotVerifiedAt'] : value['snapshotVerifiedAt'].toISOString(),