@homeflare/distilled-proxmox-backup 0.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.
Files changed (113) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +102 -0
  3. package/dist/credentials.d.ts +50 -0
  4. package/dist/credentials.d.ts.map +1 -0
  5. package/dist/credentials.js +105 -0
  6. package/dist/credentials.js.map +1 -0
  7. package/dist/errors.d.ts +100 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +73 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/index.d.ts +33 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +33 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/protocol.d.ts +19 -0
  16. package/dist/protocol.d.ts.map +1 -0
  17. package/dist/protocol.js +158 -0
  18. package/dist/protocol.js.map +1 -0
  19. package/dist/protocol.test.d.ts +2 -0
  20. package/dist/protocol.test.d.ts.map +1 -0
  21. package/dist/protocol.test.js +75 -0
  22. package/dist/protocol.test.js.map +1 -0
  23. package/dist/retry.d.ts +53 -0
  24. package/dist/retry.d.ts.map +1 -0
  25. package/dist/retry.js +46 -0
  26. package/dist/retry.js.map +1 -0
  27. package/dist/services/access.d.ts +587 -0
  28. package/dist/services/access.d.ts.map +1 -0
  29. package/dist/services/access.js +787 -0
  30. package/dist/services/access.js.map +1 -0
  31. package/dist/services/admin.d.ts +1110 -0
  32. package/dist/services/admin.d.ts.map +1 -0
  33. package/dist/services/admin.js +1428 -0
  34. package/dist/services/admin.js.map +1 -0
  35. package/dist/services/backup.d.ts +224 -0
  36. package/dist/services/backup.d.ts.map +1 -0
  37. package/dist/services/backup.js +325 -0
  38. package/dist/services/backup.js.map +1 -0
  39. package/dist/services/config.d.ts +3662 -0
  40. package/dist/services/config.d.ts.map +1 -0
  41. package/dist/services/config.js +4445 -0
  42. package/dist/services/config.js.map +1 -0
  43. package/dist/services/index.d.ts +14 -0
  44. package/dist/services/index.d.ts.map +1 -0
  45. package/dist/services/index.js +15 -0
  46. package/dist/services/index.js.map +1 -0
  47. package/dist/services/nodes.d.ts +1441 -0
  48. package/dist/services/nodes.d.ts.map +1 -0
  49. package/dist/services/nodes.js +1829 -0
  50. package/dist/services/nodes.js.map +1 -0
  51. package/dist/services/ping.d.ts +15 -0
  52. package/dist/services/ping.d.ts.map +1 -0
  53. package/dist/services/ping.js +21 -0
  54. package/dist/services/ping.js.map +1 -0
  55. package/dist/services/pull.d.ts +54 -0
  56. package/dist/services/pull.d.ts.map +1 -0
  57. package/dist/services/pull.js +47 -0
  58. package/dist/services/pull.js.map +1 -0
  59. package/dist/services/push.d.ts +50 -0
  60. package/dist/services/push.d.ts.map +1 -0
  61. package/dist/services/push.js +45 -0
  62. package/dist/services/push.js.map +1 -0
  63. package/dist/services/reader.d.ts +68 -0
  64. package/dist/services/reader.d.ts.map +1 -0
  65. package/dist/services/reader.js +89 -0
  66. package/dist/services/reader.js.map +1 -0
  67. package/dist/services/root.d.ts +14 -0
  68. package/dist/services/root.d.ts.map +1 -0
  69. package/dist/services/root.js +19 -0
  70. package/dist/services/root.js.map +1 -0
  71. package/dist/services/status.d.ts +78 -0
  72. package/dist/services/status.d.ts.map +1 -0
  73. package/dist/services/status.js +97 -0
  74. package/dist/services/status.js.map +1 -0
  75. package/dist/services/tape.d.ts +711 -0
  76. package/dist/services/tape.d.ts.map +1 -0
  77. package/dist/services/tape.js +986 -0
  78. package/dist/services/tape.js.map +1 -0
  79. package/dist/services/version.d.ts +17 -0
  80. package/dist/services/version.d.ts.map +1 -0
  81. package/dist/services/version.js +25 -0
  82. package/dist/services/version.js.map +1 -0
  83. package/dist/task.d.ts +48 -0
  84. package/dist/task.d.ts.map +1 -0
  85. package/dist/task.js +57 -0
  86. package/dist/task.js.map +1 -0
  87. package/dist/traits.d.ts +13 -0
  88. package/dist/traits.d.ts.map +1 -0
  89. package/dist/traits.js +15 -0
  90. package/dist/traits.js.map +1 -0
  91. package/package.json +81 -0
  92. package/src/credentials.ts +139 -0
  93. package/src/errors.ts +126 -0
  94. package/src/index.ts +36 -0
  95. package/src/protocol.test.ts +128 -0
  96. package/src/protocol.ts +196 -0
  97. package/src/retry.ts +79 -0
  98. package/src/services/access.ts +1787 -0
  99. package/src/services/admin.ts +3258 -0
  100. package/src/services/backup.ts +698 -0
  101. package/src/services/config.ts +10561 -0
  102. package/src/services/index.ts +14 -0
  103. package/src/services/nodes.ts +4313 -0
  104. package/src/services/ping.ts +43 -0
  105. package/src/services/pull.ts +118 -0
  106. package/src/services/push.ts +108 -0
  107. package/src/services/reader.ts +196 -0
  108. package/src/services/root.ts +39 -0
  109. package/src/services/status.ts +233 -0
  110. package/src/services/tape.ts +2257 -0
  111. package/src/services/version.ts +49 -0
  112. package/src/task.ts +84 -0
  113. package/src/traits.ts +46 -0
@@ -0,0 +1,986 @@
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (apidoc.js, via scripts/apidoc.ts — see its header). Do not edit.
2
+ import * as S from "@distilled.cloud/core/schema";
3
+ import * as API from "@distilled.cloud/core/api";
4
+ import * as T from "../traits.js";
5
+ import { ProxmoxBackupProtocol, } from "../protocol.js";
6
+ import * as Retry from "../retry.js";
7
+ export const CreateTapeBackupRequestGroupFilterList = /*@__PURE__*/ S.Array(S.String);
8
+ export const CreateTapeBackupRequestNotificationMode = S.String;
9
+ export const CreateTapeBackupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
10
+ drive: S.String,
11
+ eject_media: S.optional(S.String.pipe(T.Body("eject-media"))),
12
+ export_media_set: S.optional(S.String.pipe(T.Body("export-media-set"))),
13
+ force_media_set: S.optional(S.String.pipe(T.Body("force-media-set"))),
14
+ group_filter: S.optional(CreateTapeBackupRequestGroupFilterList.pipe(T.Body("group-filter"))),
15
+ latest_only: S.optional(S.String.pipe(T.Body("latest-only"))),
16
+ max_depth: S.optional(S.String.pipe(T.Body("max-depth"))),
17
+ notification_mode: S.optional(CreateTapeBackupRequestNotificationMode.pipe(T.Body("notification-mode"))),
18
+ notify_user: S.optional(S.String.pipe(T.Body("notify-user"))),
19
+ ns: S.optional(S.String),
20
+ pool: S.String,
21
+ store: S.String,
22
+ worker_threads: S.optional(S.String.pipe(T.Body("worker-threads"))),
23
+ }).pipe(T.Http({
24
+ method: "POST",
25
+ uri: "/tape/backup",
26
+ code: 200,
27
+ contentType: "form-urlencoded",
28
+ }))).annotate({
29
+ identifier: "CreateTapeBackupRequest",
30
+ });
31
+ export const CreateTapeBackupResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
32
+ identifier: "CreateTapeBackupResponse",
33
+ });
34
+ export const CreateTapeDriveBarcodeLabelMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
35
+ drive: S.String.pipe(T.Label()),
36
+ pool: S.optional(S.String),
37
+ }).pipe(T.Http({
38
+ method: "POST",
39
+ uri: "/tape/drive/{drive}/barcode-label-media",
40
+ code: 200,
41
+ contentType: "form-urlencoded",
42
+ }))).annotate({
43
+ identifier: "CreateTapeDriveBarcodeLabelMediaRequest",
44
+ });
45
+ export const CreateTapeDriveBarcodeLabelMediaResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
46
+ identifier: "CreateTapeDriveBarcodeLabelMediaResponse",
47
+ });
48
+ export const CreateTapeDriveCatalogRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
49
+ drive: S.String.pipe(T.Label()),
50
+ force: S.optional(S.String),
51
+ scan: S.optional(S.String),
52
+ verbose: S.optional(S.String),
53
+ }).pipe(T.Http({
54
+ method: "POST",
55
+ uri: "/tape/drive/{drive}/catalog",
56
+ code: 200,
57
+ contentType: "form-urlencoded",
58
+ }))).annotate({
59
+ identifier: "CreateTapeDriveCatalogRequest",
60
+ });
61
+ export const CreateTapeDriveCatalogResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
62
+ identifier: "CreateTapeDriveCatalogResponse",
63
+ });
64
+ export const CreateTapeDriveEjectMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
65
+ drive: S.String.pipe(T.Label()),
66
+ }).pipe(T.Http({
67
+ method: "POST",
68
+ uri: "/tape/drive/{drive}/eject-media",
69
+ code: 200,
70
+ }))).annotate({
71
+ identifier: "CreateTapeDriveEjectMediaRequest",
72
+ });
73
+ export const CreateTapeDriveEjectMediaResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
74
+ identifier: "CreateTapeDriveEjectMediaResponse",
75
+ });
76
+ export const CreateTapeDriveFormatMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
77
+ drive: S.String.pipe(T.Label()),
78
+ fast: S.optional(S.String),
79
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
80
+ load_barcode: S.optional(S.String.pipe(T.Body("load-barcode"))),
81
+ }).pipe(T.Http({
82
+ method: "POST",
83
+ uri: "/tape/drive/{drive}/format-media",
84
+ code: 200,
85
+ contentType: "form-urlencoded",
86
+ }))).annotate({
87
+ identifier: "CreateTapeDriveFormatMediaRequest",
88
+ });
89
+ export const CreateTapeDriveFormatMediaResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
90
+ identifier: "CreateTapeDriveFormatMediaResponse",
91
+ });
92
+ export const CreateTapeDriveLabelMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
93
+ drive: S.String.pipe(T.Label()),
94
+ label_text: S.String.pipe(T.Body("label-text")),
95
+ pool: S.optional(S.String),
96
+ }).pipe(T.Http({
97
+ method: "POST",
98
+ uri: "/tape/drive/{drive}/label-media",
99
+ code: 200,
100
+ contentType: "form-urlencoded",
101
+ }))).annotate({
102
+ identifier: "CreateTapeDriveLabelMediaRequest",
103
+ });
104
+ export const CreateTapeDriveLabelMediaResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
105
+ identifier: "CreateTapeDriveLabelMediaResponse",
106
+ });
107
+ export const CreateTapeDriveLoadMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
108
+ drive: S.String.pipe(T.Label()),
109
+ label_text: S.String.pipe(T.Body("label-text")),
110
+ }).pipe(T.Http({
111
+ method: "POST",
112
+ uri: "/tape/drive/{drive}/load-media",
113
+ code: 200,
114
+ contentType: "form-urlencoded",
115
+ }))).annotate({
116
+ identifier: "CreateTapeDriveLoadMediaRequest",
117
+ });
118
+ export const CreateTapeDriveLoadMediaResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
119
+ identifier: "CreateTapeDriveLoadMediaResponse",
120
+ });
121
+ export const CreateTapeDriveLoadSlotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
122
+ drive: S.String.pipe(T.Label()),
123
+ source_slot: S.String.pipe(T.Body("source-slot")),
124
+ }).pipe(T.Http({
125
+ method: "POST",
126
+ uri: "/tape/drive/{drive}/load-slot",
127
+ code: 200,
128
+ contentType: "form-urlencoded",
129
+ }))).annotate({
130
+ identifier: "CreateTapeDriveLoadSlotRequest",
131
+ });
132
+ export const CreateTapeDriveLoadSlotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
133
+ identifier: "CreateTapeDriveLoadSlotResponse",
134
+ });
135
+ export const CreateTapeDriveRewindRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
136
+ drive: S.String.pipe(T.Label()),
137
+ }).pipe(T.Http({ method: "POST", uri: "/tape/drive/{drive}/rewind", code: 200 }))).annotate({
138
+ identifier: "CreateTapeDriveRewindRequest",
139
+ });
140
+ export const CreateTapeDriveRewindResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
141
+ identifier: "CreateTapeDriveRewindResponse",
142
+ });
143
+ export const CreateTapeDriveUnloadRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
144
+ drive: S.String.pipe(T.Label()),
145
+ target_slot: S.optional(S.String.pipe(T.Body("target-slot"))),
146
+ }).pipe(T.Http({
147
+ method: "POST",
148
+ uri: "/tape/drive/{drive}/unload",
149
+ code: 200,
150
+ contentType: "form-urlencoded",
151
+ }))).annotate({
152
+ identifier: "CreateTapeDriveUnloadRequest",
153
+ });
154
+ export const CreateTapeDriveUnloadResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
155
+ identifier: "CreateTapeDriveUnloadResponse",
156
+ });
157
+ export const CreateTapeMediaListStatusRequestStatus = S.String;
158
+ export const CreateTapeMediaListStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
159
+ uuid: S.String.pipe(T.Label()),
160
+ status: S.optional(CreateTapeMediaListStatusRequestStatus),
161
+ }).pipe(T.Http({
162
+ method: "POST",
163
+ uri: "/tape/media/list/{uuid}/status",
164
+ code: 200,
165
+ contentType: "form-urlencoded",
166
+ }))).annotate({
167
+ identifier: "CreateTapeMediaListStatusRequest",
168
+ });
169
+ export const CreateTapeMediaListStatusResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
170
+ identifier: "CreateTapeMediaListStatusResponse",
171
+ });
172
+ export const GetTapeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape", code: 200 }))).annotate({ identifier: "GetTapeRequest" });
173
+ export const GetTapeResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
174
+ identifier: "GetTapeResponse",
175
+ });
176
+ export const GetTapeChangerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
177
+ name: S.String.pipe(T.Label()),
178
+ }).pipe(T.Http({ method: "GET", uri: "/tape/changer/{name}", code: 200 }))).annotate({
179
+ identifier: "GetTapeChangerRequest",
180
+ });
181
+ export const GetTapeChangerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
182
+ identifier: "GetTapeChangerResponse",
183
+ });
184
+ export const GetTapeDriveRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
185
+ drive: S.String.pipe(T.Label()),
186
+ }).pipe(T.Http({ method: "GET", uri: "/tape/drive/{drive}", code: 200 }))).annotate({
187
+ identifier: "GetTapeDriveRequest",
188
+ });
189
+ export const GetTapeDriveResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
190
+ identifier: "GetTapeDriveResponse",
191
+ });
192
+ export const GetTapeDriveReadLabelRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
193
+ drive: S.String.pipe(T.Label()),
194
+ inventorize: S.optional(S.String.pipe(T.Query())),
195
+ }).pipe(T.Http({ method: "GET", uri: "/tape/drive/{drive}/read-label", code: 200 }))).annotate({
196
+ identifier: "GetTapeDriveReadLabelRequest",
197
+ });
198
+ export const GetTapeDriveReadLabelResponse = /*@__PURE__*/ S.suspend(() => S.Struct({
199
+ ctime: S.Number,
200
+ encryption_key_fingerprint: S.optional(S.String.pipe(T.Body("encryption-key-fingerprint"))),
201
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
202
+ media_set_ctime: S.optional(S.Number.pipe(T.Body("media-set-ctime"))),
203
+ media_set_uuid: S.optional(S.String.pipe(T.Body("media-set-uuid"))),
204
+ pool: S.optional(S.String),
205
+ seq_nr: S.optional(S.Number.pipe(T.Body("seq-nr"))),
206
+ uuid: S.String,
207
+ })).annotate({
208
+ identifier: "GetTapeDriveReadLabelResponse",
209
+ });
210
+ export const GetTapeDriveStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
211
+ drive: S.String.pipe(T.Label()),
212
+ }).pipe(T.Http({ method: "GET", uri: "/tape/drive/{drive}/status", code: 200 }))).annotate({
213
+ identifier: "GetTapeDriveStatusRequest",
214
+ });
215
+ export const GetTapeDriveStatusResponseDensity = S.String;
216
+ export const GetTapeDriveStatusResponseDriveActivity = S.String;
217
+ export const GetTapeDriveStatusResponse = /*@__PURE__*/ S.suspend(() => S.Struct({
218
+ alert_flags: S.optional(S.String.pipe(T.Body("alert-flags"))),
219
+ block_number: S.optional(S.Number.pipe(T.Body("block-number"))),
220
+ blocksize: S.Number,
221
+ buffer_mode: S.optional(S.Number.pipe(T.Body("buffer-mode"))),
222
+ bytes_read: S.optional(S.Number.pipe(T.Body("bytes-read"))),
223
+ bytes_written: S.optional(S.Number.pipe(T.Body("bytes-written"))),
224
+ compression: S.Unknown,
225
+ density: S.optional(GetTapeDriveStatusResponseDensity),
226
+ drive_activity: S.optional(GetTapeDriveStatusResponseDriveActivity.pipe(T.Body("drive-activity"))),
227
+ file_number: S.optional(S.Number.pipe(T.Body("file-number"))),
228
+ manufactured: S.optional(S.Number),
229
+ medium_passes: S.optional(S.Number.pipe(T.Body("medium-passes"))),
230
+ medium_wearout: S.optional(S.Number.pipe(T.Body("medium-wearout"))),
231
+ product: S.String,
232
+ revision: S.String,
233
+ vendor: S.String,
234
+ volume_mounts: S.optional(S.Number.pipe(T.Body("volume-mounts"))),
235
+ write_protect: S.optional(S.Unknown.pipe(T.Body("write-protect"))),
236
+ })).annotate({
237
+ identifier: "GetTapeDriveStatusResponse",
238
+ });
239
+ export const GetTapeDriveVolumeStatisticsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
240
+ drive: S.String.pipe(T.Label()),
241
+ }).pipe(T.Http({
242
+ method: "GET",
243
+ uri: "/tape/drive/{drive}/volume-statistics",
244
+ code: 200,
245
+ }))).annotate({
246
+ identifier: "GetTapeDriveVolumeStatisticsRequest",
247
+ });
248
+ export const GetTapeDriveVolumeStatisticsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({
249
+ beginning_of_medium_passes: S.optional(S.Number.pipe(T.Body("beginning-of-medium-passes"))),
250
+ last_load_read_compression_ratio: S.optional(S.Number.pipe(T.Body("last-load-read-compression-ratio"))),
251
+ last_load_write_compression_ratio: S.optional(S.Number.pipe(T.Body("last-load-write-compression-ratio"))),
252
+ last_mount_bytes_read: S.optional(S.Number.pipe(T.Body("last-mount-bytes-read"))),
253
+ last_mount_bytes_written: S.optional(S.Number.pipe(T.Body("last-mount-bytes-written"))),
254
+ last_mount_unrecovered_read_errors: S.optional(S.Number.pipe(T.Body("last-mount-unrecovered-read-errors"))),
255
+ last_mount_unrecovered_write_errors: S.optional(S.Number.pipe(T.Body("last-mount-unrecovered-write-errors"))),
256
+ lifetime_bytes_read: S.optional(S.Number.pipe(T.Body("lifetime-bytes-read"))),
257
+ lifetime_bytes_written: S.optional(S.Number.pipe(T.Body("lifetime-bytes-written"))),
258
+ medium_mount_time: S.optional(S.Number.pipe(T.Body("medium-mount-time"))),
259
+ medium_ready_time: S.optional(S.Number.pipe(T.Body("medium-ready-time"))),
260
+ middle_of_tape_passes: S.optional(S.Number.pipe(T.Body("middle-of-tape-passes"))),
261
+ serial: S.String,
262
+ total_native_capacity: S.optional(S.Number.pipe(T.Body("total-native-capacity"))),
263
+ total_used_native_capacity: S.optional(S.Number.pipe(T.Body("total-used-native-capacity"))),
264
+ volume_datasets_read: S.optional(S.Number.pipe(T.Body("volume-datasets-read"))),
265
+ volume_datasets_written: S.optional(S.Number.pipe(T.Body("volume-datasets-written"))),
266
+ volume_mounts: S.optional(S.Number.pipe(T.Body("volume-mounts"))),
267
+ volume_recovered_read_errors: S.optional(S.Number.pipe(T.Body("volume-recovered-read-errors"))),
268
+ volume_recovered_write_data_errors: S.optional(S.Number.pipe(T.Body("volume-recovered-write-data-errors"))),
269
+ volume_unrecovered_read_errors: S.optional(S.Number.pipe(T.Body("volume-unrecovered-read-errors"))),
270
+ volume_unrecovered_write_data_errors: S.optional(S.Number.pipe(T.Body("volume-unrecovered-write-data-errors"))),
271
+ volume_unrecovered_write_servo_errors: S.optional(S.Number.pipe(T.Body("volume-unrecovered-write-servo-errors"))),
272
+ volume_write_servo_errors: S.optional(S.Number.pipe(T.Body("volume-write-servo-errors"))),
273
+ worm: S.Unknown,
274
+ write_protect: S.optional(S.Unknown.pipe(T.Body("write-protect"))),
275
+ })).annotate({
276
+ identifier: "GetTapeDriveVolumeStatisticsResponse",
277
+ });
278
+ export const GetTapeMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape/media", code: 200 }))).annotate({
279
+ identifier: "GetTapeMediaRequest",
280
+ });
281
+ export const GetTapeMediaResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
282
+ identifier: "GetTapeMediaResponse",
283
+ });
284
+ export const GetTapeMediaDestroyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
285
+ force: S.optional(S.String.pipe(T.Query())),
286
+ label_text: S.optional(S.String.pipe(T.Query("label-text"))),
287
+ uuid: S.optional(S.String.pipe(T.Query())),
288
+ }).pipe(T.Http({ method: "GET", uri: "/tape/media/destroy", code: 200 }))).annotate({
289
+ identifier: "GetTapeMediaDestroyRequest",
290
+ });
291
+ export const GetTapeMediaDestroyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
292
+ identifier: "GetTapeMediaDestroyResponse",
293
+ });
294
+ export const GetTapeMediaListRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
295
+ uuid: S.String.pipe(T.Label()),
296
+ }).pipe(T.Http({ method: "GET", uri: "/tape/media/list/{uuid}", code: 200 }))).annotate({
297
+ identifier: "GetTapeMediaListRequest",
298
+ });
299
+ export const GetTapeMediaListResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
300
+ identifier: "GetTapeMediaListResponse",
301
+ });
302
+ export const GetTapeMediaListStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
303
+ uuid: S.String.pipe(T.Label()),
304
+ }).pipe(T.Http({ method: "GET", uri: "/tape/media/list/{uuid}/status", code: 200 }))).annotate({
305
+ identifier: "GetTapeMediaListStatusRequest",
306
+ });
307
+ export const GetTapeMediaListStatusResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
308
+ identifier: "GetTapeMediaListStatusResponse",
309
+ });
310
+ export const ListTapeBackupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape/backup", code: 200 }))).annotate({
311
+ identifier: "ListTapeBackupRequest",
312
+ });
313
+ export const ListTapeBackupResponseBodyItemGroupFilterList =
314
+ /*@__PURE__*/ S.Array(S.String);
315
+ export const ListTapeBackupResponseBodyItemNotificationMode = S.String;
316
+ export const ListTapeBackupResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
317
+ comment: S.optional(S.String),
318
+ drive: S.String,
319
+ eject_media: S.optional(S.Unknown.pipe(T.Body("eject-media"))),
320
+ export_media_set: S.optional(S.Unknown.pipe(T.Body("export-media-set"))),
321
+ group_filter: S.optional(ListTapeBackupResponseBodyItemGroupFilterList.pipe(T.Body("group-filter"))),
322
+ id: S.String,
323
+ last_run_endtime: S.optional(S.Number.pipe(T.Body("last-run-endtime"))),
324
+ last_run_state: S.optional(S.String.pipe(T.Body("last-run-state"))),
325
+ last_run_upid: S.optional(S.String.pipe(T.Body("last-run-upid"))),
326
+ latest_only: S.optional(S.Unknown.pipe(T.Body("latest-only"))),
327
+ max_depth: S.optional(S.Number.pipe(T.Body("max-depth"))),
328
+ next_media_label: S.optional(S.String.pipe(T.Body("next-media-label"))),
329
+ next_run: S.optional(S.Number.pipe(T.Body("next-run"))),
330
+ notification_mode: S.optional(ListTapeBackupResponseBodyItemNotificationMode.pipe(T.Body("notification-mode"))),
331
+ notify_user: S.optional(S.String.pipe(T.Body("notify-user"))),
332
+ ns: S.optional(S.String),
333
+ pool: S.String,
334
+ schedule: S.optional(S.String),
335
+ store: S.String,
336
+ worker_threads: S.optional(S.Number.pipe(T.Body("worker-threads"))),
337
+ })).annotate({
338
+ identifier: "ListTapeBackupResponseBodyItem",
339
+ });
340
+ export const ListTapeBackupResponseBodyList = /*@__PURE__*/ S.Array(ListTapeBackupResponseBodyItem);
341
+ export const ListTapeBackupResponse = /*@__PURE__*/ S.suspend(() => ListTapeBackupResponseBodyList.pipe(T.RawResponseRoot())).annotate({
342
+ identifier: "ListTapeBackupResponse",
343
+ });
344
+ export const ListTapeChangerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape/changer", code: 200 }))).annotate({
345
+ identifier: "ListTapeChangerRequest",
346
+ });
347
+ export const ListTapeChangerResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
348
+ eject_before_unload: S.optional(S.Unknown.pipe(T.Body("eject-before-unload"))),
349
+ export_slots: S.optional(S.String.pipe(T.Body("export-slots"))),
350
+ model: S.optional(S.String),
351
+ name: S.String,
352
+ path: S.String,
353
+ serial: S.optional(S.String),
354
+ vendor: S.optional(S.String),
355
+ })).annotate({
356
+ identifier: "ListTapeChangerResponseBodyItem",
357
+ });
358
+ export const ListTapeChangerResponseBodyList = /*@__PURE__*/ S.Array(ListTapeChangerResponseBodyItem);
359
+ export const ListTapeChangerResponse = /*@__PURE__*/ S.suspend(() => ListTapeChangerResponseBodyList.pipe(T.RawResponseRoot())).annotate({
360
+ identifier: "ListTapeChangerResponse",
361
+ });
362
+ export const ListTapeChangerStatusRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
363
+ name: S.String.pipe(T.Label()),
364
+ cache: S.optional(S.String.pipe(T.Query())),
365
+ }).pipe(T.Http({ method: "GET", uri: "/tape/changer/{name}/status", code: 200 }))).annotate({
366
+ identifier: "ListTapeChangerStatusRequest",
367
+ });
368
+ export const ListTapeChangerStatusResponseBodyItemEntryKind = S.String;
369
+ export const ListTapeChangerStatusResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
370
+ entry_id: S.optional(S.Number.pipe(T.Body("entry-id"))),
371
+ entry_kind: S.optional(ListTapeChangerStatusResponseBodyItemEntryKind.pipe(T.Body("entry-kind"))),
372
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
373
+ loaded_slot: S.optional(S.Number.pipe(T.Body("loaded-slot"))),
374
+ state: S.optional(S.String),
375
+ })).annotate({
376
+ identifier: "ListTapeChangerStatusResponseBodyItem",
377
+ });
378
+ export const ListTapeChangerStatusResponseBodyList = /*@__PURE__*/ S.Array(ListTapeChangerStatusResponseBodyItem);
379
+ export const ListTapeChangerStatusResponse = /*@__PURE__*/ S.suspend(() => ListTapeChangerStatusResponseBodyList.pipe(T.RawResponseRoot())).annotate({
380
+ identifier: "ListTapeChangerStatusResponse",
381
+ });
382
+ export const ListTapeDriveRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
383
+ changer: S.optional(S.String.pipe(T.Query())),
384
+ query_activity: S.optional(S.String.pipe(T.Query("query-activity"))),
385
+ }).pipe(T.Http({ method: "GET", uri: "/tape/drive", code: 200 }))).annotate({
386
+ identifier: "ListTapeDriveRequest",
387
+ });
388
+ export const ListTapeDriveResponseBodyItemActivity = S.String;
389
+ export const ListTapeDriveResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
390
+ activity: S.optional(ListTapeDriveResponseBodyItemActivity),
391
+ changer: S.optional(S.String),
392
+ changer_drivenum: S.optional(S.Number.pipe(T.Body("changer-drivenum"))),
393
+ model: S.optional(S.String),
394
+ name: S.String,
395
+ path: S.String,
396
+ serial: S.optional(S.String),
397
+ state: S.optional(S.String),
398
+ vendor: S.optional(S.String),
399
+ })).annotate({
400
+ identifier: "ListTapeDriveResponseBodyItem",
401
+ });
402
+ export const ListTapeDriveResponseBodyList = /*@__PURE__*/ S.Array(ListTapeDriveResponseBodyItem);
403
+ export const ListTapeDriveResponse = /*@__PURE__*/ S.suspend(() => ListTapeDriveResponseBodyList.pipe(T.RawResponseRoot())).annotate({
404
+ identifier: "ListTapeDriveResponse",
405
+ });
406
+ export const ListTapeDriveCartridgeMemoryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
407
+ drive: S.String.pipe(T.Label()),
408
+ }).pipe(T.Http({
409
+ method: "GET",
410
+ uri: "/tape/drive/{drive}/cartridge-memory",
411
+ code: 200,
412
+ }))).annotate({
413
+ identifier: "ListTapeDriveCartridgeMemoryRequest",
414
+ });
415
+ export const ListTapeDriveCartridgeMemoryResponseBodyItem =
416
+ /*@__PURE__*/ S.suspend(() => S.Struct({
417
+ id: S.Number,
418
+ name: S.String,
419
+ value: S.String,
420
+ })).annotate({
421
+ identifier: "ListTapeDriveCartridgeMemoryResponseBodyItem",
422
+ });
423
+ export const ListTapeDriveCartridgeMemoryResponseBodyList =
424
+ /*@__PURE__*/ S.Array(ListTapeDriveCartridgeMemoryResponseBodyItem);
425
+ export const ListTapeDriveCartridgeMemoryResponse = /*@__PURE__*/ S.suspend(() => ListTapeDriveCartridgeMemoryResponseBodyList.pipe(T.RawResponseRoot())).annotate({
426
+ identifier: "ListTapeDriveCartridgeMemoryResponse",
427
+ });
428
+ export const ListTapeDriveInventoryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
429
+ drive: S.String.pipe(T.Label()),
430
+ }).pipe(T.Http({ method: "GET", uri: "/tape/drive/{drive}/inventory", code: 200 }))).annotate({
431
+ identifier: "ListTapeDriveInventoryRequest",
432
+ });
433
+ export const ListTapeDriveInventoryResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
434
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
435
+ uuid: S.optional(S.String),
436
+ })).annotate({
437
+ identifier: "ListTapeDriveInventoryResponseBodyItem",
438
+ });
439
+ export const ListTapeDriveInventoryResponseBodyList = /*@__PURE__*/ S.Array(ListTapeDriveInventoryResponseBodyItem);
440
+ export const ListTapeDriveInventoryResponse = /*@__PURE__*/ S.suspend(() => ListTapeDriveInventoryResponseBodyList.pipe(T.RawResponseRoot())).annotate({
441
+ identifier: "ListTapeDriveInventoryResponse",
442
+ });
443
+ export const ListTapeMediaContentRequestBackupType = S.String;
444
+ export const ListTapeMediaContentRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
445
+ backup_id: S.optional(S.String.pipe(T.Query("backup-id"))),
446
+ backup_type: S.optional(ListTapeMediaContentRequestBackupType.pipe(T.Query("backup-type"))),
447
+ label_text: S.optional(S.String.pipe(T.Query("label-text"))),
448
+ media: S.optional(S.String.pipe(T.Query())),
449
+ media_set: S.optional(S.String.pipe(T.Query("media-set"))),
450
+ pool: S.optional(S.String.pipe(T.Query())),
451
+ }).pipe(T.Http({ method: "GET", uri: "/tape/media/content", code: 200 }))).annotate({
452
+ identifier: "ListTapeMediaContentRequest",
453
+ });
454
+ export const ListTapeMediaContentResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
455
+ backup_time: S.optional(S.Number.pipe(T.Body("backup-time"))),
456
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
457
+ media_set_ctime: S.optional(S.Number.pipe(T.Body("media-set-ctime"))),
458
+ media_set_name: S.optional(S.String.pipe(T.Body("media-set-name"))),
459
+ media_set_uuid: S.optional(S.String.pipe(T.Body("media-set-uuid"))),
460
+ pool: S.String,
461
+ seq_nr: S.optional(S.Number.pipe(T.Body("seq-nr"))),
462
+ snapshot: S.String,
463
+ store: S.String,
464
+ uuid: S.String,
465
+ })).annotate({
466
+ identifier: "ListTapeMediaContentResponseBodyItem",
467
+ });
468
+ export const ListTapeMediaContentResponseBodyList = /*@__PURE__*/ S.Array(ListTapeMediaContentResponseBodyItem);
469
+ export const ListTapeMediaContentResponse = /*@__PURE__*/ S.suspend(() => ListTapeMediaContentResponseBodyList.pipe(T.RawResponseRoot())).annotate({
470
+ identifier: "ListTapeMediaContentResponse",
471
+ });
472
+ export const ListTapeMediaListRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
473
+ pool: S.optional(S.String.pipe(T.Query())),
474
+ update_status: S.optional(S.String.pipe(T.Query("update-status"))),
475
+ update_status_changer: S.optional(S.String.pipe(T.Query("update-status-changer"))),
476
+ }).pipe(T.Http({ method: "GET", uri: "/tape/media/list", code: 200 }))).annotate({
477
+ identifier: "ListTapeMediaListRequest",
478
+ });
479
+ export const ListTapeMediaListResponseBodyItemStatus = S.String;
480
+ export const ListTapeMediaListResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
481
+ bytes_used: S.optional(S.Number.pipe(T.Body("bytes-used"))),
482
+ catalog: S.Unknown,
483
+ ctime: S.Number,
484
+ expired: S.Unknown,
485
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
486
+ location: S.String,
487
+ media_set_ctime: S.optional(S.Number.pipe(T.Body("media-set-ctime"))),
488
+ media_set_name: S.optional(S.String.pipe(T.Body("media-set-name"))),
489
+ media_set_uuid: S.optional(S.String.pipe(T.Body("media-set-uuid"))),
490
+ pool: S.optional(S.String),
491
+ seq_nr: S.optional(S.Number.pipe(T.Body("seq-nr"))),
492
+ status: ListTapeMediaListResponseBodyItemStatus,
493
+ uuid: S.String,
494
+ })).annotate({
495
+ identifier: "ListTapeMediaListResponseBodyItem",
496
+ });
497
+ export const ListTapeMediaListResponseBodyList = /*@__PURE__*/ S.Array(ListTapeMediaListResponseBodyItem);
498
+ export const ListTapeMediaListResponse = /*@__PURE__*/ S.suspend(() => ListTapeMediaListResponseBodyList.pipe(T.RawResponseRoot())).annotate({
499
+ identifier: "ListTapeMediaListResponse",
500
+ });
501
+ export const ListTapeMediaMediaSetsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape/media/media-sets", code: 200 }))).annotate({
502
+ identifier: "ListTapeMediaMediaSetsRequest",
503
+ });
504
+ export const ListTapeMediaMediaSetsResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
505
+ media_set_ctime: S.optional(S.Number.pipe(T.Body("media-set-ctime"))),
506
+ media_set_name: S.optional(S.String.pipe(T.Body("media-set-name"))),
507
+ media_set_uuid: S.optional(S.String.pipe(T.Body("media-set-uuid"))),
508
+ pool: S.String,
509
+ })).annotate({
510
+ identifier: "ListTapeMediaMediaSetsResponseBodyItem",
511
+ });
512
+ export const ListTapeMediaMediaSetsResponseBodyList = /*@__PURE__*/ S.Array(ListTapeMediaMediaSetsResponseBodyItem);
513
+ export const ListTapeMediaMediaSetsResponse = /*@__PURE__*/ S.suspend(() => ListTapeMediaMediaSetsResponseBodyList.pipe(T.RawResponseRoot())).annotate({
514
+ identifier: "ListTapeMediaMediaSetsResponse",
515
+ });
516
+ export const ListTapeScanChangersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape/scan-changers", code: 200 }))).annotate({
517
+ identifier: "ListTapeScanChangersRequest",
518
+ });
519
+ export const ListTapeScanChangersResponseBodyItemKind = S.String;
520
+ export const ListTapeScanChangersResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
521
+ kind: ListTapeScanChangersResponseBodyItemKind,
522
+ major: S.Number,
523
+ minor: S.Number,
524
+ model: S.String,
525
+ path: S.String,
526
+ serial: S.String,
527
+ vendor: S.String,
528
+ })).annotate({
529
+ identifier: "ListTapeScanChangersResponseBodyItem",
530
+ });
531
+ export const ListTapeScanChangersResponseBodyList = /*@__PURE__*/ S.Array(ListTapeScanChangersResponseBodyItem);
532
+ export const ListTapeScanChangersResponse = /*@__PURE__*/ S.suspend(() => ListTapeScanChangersResponseBodyList.pipe(T.RawResponseRoot())).annotate({
533
+ identifier: "ListTapeScanChangersResponse",
534
+ });
535
+ export const ListTapeScanDrivesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.Http({ method: "GET", uri: "/tape/scan-drives", code: 200 }))).annotate({
536
+ identifier: "ListTapeScanDrivesRequest",
537
+ });
538
+ export const ListTapeScanDrivesResponseBodyItemKind = S.String;
539
+ export const ListTapeScanDrivesResponseBodyItem = /*@__PURE__*/ S.suspend(() => S.Struct({
540
+ kind: ListTapeScanDrivesResponseBodyItemKind,
541
+ major: S.Number,
542
+ minor: S.Number,
543
+ model: S.String,
544
+ path: S.String,
545
+ serial: S.String,
546
+ vendor: S.String,
547
+ })).annotate({
548
+ identifier: "ListTapeScanDrivesResponseBodyItem",
549
+ });
550
+ export const ListTapeScanDrivesResponseBodyList = /*@__PURE__*/ S.Array(ListTapeScanDrivesResponseBodyItem);
551
+ export const ListTapeScanDrivesResponse = /*@__PURE__*/ S.suspend(() => ListTapeScanDrivesResponseBodyList.pipe(T.RawResponseRoot())).annotate({
552
+ identifier: "ListTapeScanDrivesResponse",
553
+ });
554
+ export const MoveTapeMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
555
+ label_text: S.optional(S.String.pipe(T.Body("label-text"))),
556
+ uuid: S.optional(S.String),
557
+ vault_name: S.optional(S.String.pipe(T.Body("vault-name"))),
558
+ }).pipe(T.Http({
559
+ method: "POST",
560
+ uri: "/tape/media/move",
561
+ code: 200,
562
+ contentType: "form-urlencoded",
563
+ }))).annotate({
564
+ identifier: "MoveTapeMediaRequest",
565
+ });
566
+ export const MoveTapeMediaResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
567
+ identifier: "MoveTapeMediaResponse",
568
+ });
569
+ export const PutTapeDriveCleanRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
570
+ drive: S.String.pipe(T.Label()),
571
+ }).pipe(T.Http({ method: "PUT", uri: "/tape/drive/{drive}/clean", code: 200 }))).annotate({
572
+ identifier: "PutTapeDriveCleanRequest",
573
+ });
574
+ export const PutTapeDriveCleanResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
575
+ identifier: "PutTapeDriveCleanResponse",
576
+ });
577
+ export const PutTapeDriveExportMediaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
578
+ drive: S.String.pipe(T.Label()),
579
+ label_text: S.String.pipe(T.Body("label-text")),
580
+ }).pipe(T.Http({
581
+ method: "PUT",
582
+ uri: "/tape/drive/{drive}/export-media",
583
+ code: 200,
584
+ contentType: "form-urlencoded",
585
+ }))).annotate({
586
+ identifier: "PutTapeDriveExportMediaRequest",
587
+ });
588
+ export const PutTapeDriveExportMediaResponse = /*@__PURE__*/ S.suspend(() => S.Number.pipe(T.RawResponseRoot())).annotate({
589
+ identifier: "PutTapeDriveExportMediaResponse",
590
+ });
591
+ export const PutTapeDriveInventoryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
592
+ drive: S.String.pipe(T.Label()),
593
+ catalog: S.optional(S.String),
594
+ read_all_labels: S.optional(S.String.pipe(T.Body("read-all-labels"))),
595
+ }).pipe(T.Http({
596
+ method: "PUT",
597
+ uri: "/tape/drive/{drive}/inventory",
598
+ code: 200,
599
+ contentType: "form-urlencoded",
600
+ }))).annotate({
601
+ identifier: "PutTapeDriveInventoryRequest",
602
+ });
603
+ export const PutTapeDriveInventoryResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
604
+ identifier: "PutTapeDriveInventoryResponse",
605
+ });
606
+ export const RestoreTapeRequestNamespacesList = /*@__PURE__*/ S.Array(S.String);
607
+ export const RestoreTapeRequestNotificationMode = S.String;
608
+ export const RestoreTapeRequestSnapshotsList = /*@__PURE__*/ S.Array(S.String);
609
+ export const RestoreTapeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
610
+ drive: S.String,
611
+ media_set: S.String.pipe(T.Body("media-set")),
612
+ namespaces: S.optional(RestoreTapeRequestNamespacesList),
613
+ notification_mode: S.optional(RestoreTapeRequestNotificationMode.pipe(T.Body("notification-mode"))),
614
+ notify_user: S.optional(S.String.pipe(T.Body("notify-user"))),
615
+ owner: S.optional(S.String),
616
+ snapshots: S.optional(RestoreTapeRequestSnapshotsList),
617
+ store: S.String,
618
+ }).pipe(T.Http({
619
+ method: "POST",
620
+ uri: "/tape/restore",
621
+ code: 200,
622
+ contentType: "form-urlencoded",
623
+ }))).annotate({
624
+ identifier: "RestoreTapeRequest",
625
+ });
626
+ export const RestoreTapeResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.RawResponseRoot())).annotate({
627
+ identifier: "RestoreTapeResponse",
628
+ });
629
+ export const RestoreTapeDriveKeyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
630
+ drive: S.String.pipe(T.Label()),
631
+ password: S.String,
632
+ }).pipe(T.Http({
633
+ method: "POST",
634
+ uri: "/tape/drive/{drive}/restore-key",
635
+ code: 200,
636
+ contentType: "form-urlencoded",
637
+ }))).annotate({
638
+ identifier: "RestoreTapeDriveKeyRequest",
639
+ });
640
+ export const RestoreTapeDriveKeyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
641
+ identifier: "RestoreTapeDriveKeyResponse",
642
+ });
643
+ export const TransferTapeChangerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
644
+ name: S.String.pipe(T.Label()),
645
+ from: S.String,
646
+ to: S.String,
647
+ }).pipe(T.Http({
648
+ method: "POST",
649
+ uri: "/tape/changer/{name}/transfer",
650
+ code: 200,
651
+ contentType: "form-urlencoded",
652
+ }))).annotate({
653
+ identifier: "TransferTapeChangerRequest",
654
+ });
655
+ export const TransferTapeChangerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
656
+ identifier: "TransferTapeChangerResponse",
657
+ });
658
+ export const UpdateTapeBackupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({
659
+ id: S.String.pipe(T.Label()),
660
+ }).pipe(T.Http({ method: "POST", uri: "/tape/backup/{id}", code: 200 }))).annotate({
661
+ identifier: "UpdateTapeBackupRequest",
662
+ });
663
+ export const UpdateTapeBackupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({})).annotate({
664
+ identifier: "UpdateTapeBackupResponse",
665
+ });
666
+ /** Backup datastore to tape media pool */
667
+ export const createTapeBackup = /*@__PURE__*/ API.make(() => ({
668
+ input: CreateTapeBackupRequest,
669
+ output: CreateTapeBackupResponse,
670
+ errors: [],
671
+ protocol: ProxmoxBackupProtocol,
672
+ retry: Retry.Retry,
673
+ }));
674
+ /** Label media with barcodes from changer device */
675
+ export const createTapeDriveBarcodeLabelMedia = /*@__PURE__*/ API.make(() => ({
676
+ input: CreateTapeDriveBarcodeLabelMediaRequest,
677
+ output: CreateTapeDriveBarcodeLabelMediaResponse,
678
+ errors: [],
679
+ protocol: ProxmoxBackupProtocol,
680
+ retry: Retry.Retry,
681
+ }));
682
+ /** Scan media and record content */
683
+ export const createTapeDriveCatalog = /*@__PURE__*/ API.make(() => ({
684
+ input: CreateTapeDriveCatalogRequest,
685
+ output: CreateTapeDriveCatalogResponse,
686
+ errors: [],
687
+ protocol: ProxmoxBackupProtocol,
688
+ retry: Retry.Retry,
689
+ }));
690
+ /** Eject/Unload drive media */
691
+ export const createTapeDriveEjectMedia = /*@__PURE__*/ API.make(() => ({
692
+ input: CreateTapeDriveEjectMediaRequest,
693
+ output: CreateTapeDriveEjectMediaResponse,
694
+ errors: [],
695
+ protocol: ProxmoxBackupProtocol,
696
+ retry: Retry.Retry,
697
+ }));
698
+ /** Format media. Check for label-text if given (cancels if wrong media). */
699
+ export const createTapeDriveFormatMedia = /*@__PURE__*/ API.make(() => ({
700
+ input: CreateTapeDriveFormatMediaRequest,
701
+ output: CreateTapeDriveFormatMediaResponse,
702
+ errors: [],
703
+ protocol: ProxmoxBackupProtocol,
704
+ retry: Retry.Retry,
705
+ }));
706
+ /** Label media Write a new media label to the media in 'drive'. The media is assigned to the specified 'pool', or else to the free media pool. Note: The media need to be empty (you may want to format it first). */
707
+ export const createTapeDriveLabelMedia = /*@__PURE__*/ API.make(() => ({
708
+ input: CreateTapeDriveLabelMediaRequest,
709
+ output: CreateTapeDriveLabelMediaResponse,
710
+ errors: [],
711
+ protocol: ProxmoxBackupProtocol,
712
+ retry: Retry.Retry,
713
+ }));
714
+ /** Load media with specified label Issue a media load request to the associated changer device. */
715
+ export const createTapeDriveLoadMedia = /*@__PURE__*/ API.make(() => ({
716
+ input: CreateTapeDriveLoadMediaRequest,
717
+ output: CreateTapeDriveLoadMediaResponse,
718
+ errors: [],
719
+ protocol: ProxmoxBackupProtocol,
720
+ retry: Retry.Retry,
721
+ }));
722
+ /** Load media from the specified slot Issue a media load request to the associated changer device. */
723
+ export const createTapeDriveLoadSlot = /*@__PURE__*/ API.make(() => ({
724
+ input: CreateTapeDriveLoadSlotRequest,
725
+ output: CreateTapeDriveLoadSlotResponse,
726
+ errors: [],
727
+ protocol: ProxmoxBackupProtocol,
728
+ retry: Retry.Retry,
729
+ }));
730
+ /** Rewind tape */
731
+ export const createTapeDriveRewind = /*@__PURE__*/ API.make(() => ({
732
+ input: CreateTapeDriveRewindRequest,
733
+ output: CreateTapeDriveRewindResponse,
734
+ errors: [],
735
+ protocol: ProxmoxBackupProtocol,
736
+ retry: Retry.Retry,
737
+ }));
738
+ /** Unload media via changer */
739
+ export const createTapeDriveUnload = /*@__PURE__*/ API.make(() => ({
740
+ input: CreateTapeDriveUnloadRequest,
741
+ output: CreateTapeDriveUnloadResponse,
742
+ errors: [],
743
+ protocol: ProxmoxBackupProtocol,
744
+ retry: Retry.Retry,
745
+ }));
746
+ /** Update media status (None, 'full', 'damaged' or 'retired') It is not allowed to set status to 'writable' or 'unknown' (those are internally managed states). */
747
+ export const createTapeMediaListStatus = /*@__PURE__*/ API.make(() => ({
748
+ input: CreateTapeMediaListStatusRequest,
749
+ output: CreateTapeMediaListStatusResponse,
750
+ errors: [],
751
+ protocol: ProxmoxBackupProtocol,
752
+ retry: Retry.Retry,
753
+ }));
754
+ /** Directory index. */
755
+ export const getTape = /*@__PURE__*/ API.make(() => ({
756
+ input: GetTapeRequest,
757
+ output: GetTapeResponse,
758
+ errors: [],
759
+ protocol: ProxmoxBackupProtocol,
760
+ retry: Retry.Retry,
761
+ }));
762
+ /** Directory index. */
763
+ export const getTapeChanger = /*@__PURE__*/ API.make(() => ({
764
+ input: GetTapeChangerRequest,
765
+ output: GetTapeChangerResponse,
766
+ errors: [],
767
+ protocol: ProxmoxBackupProtocol,
768
+ retry: Retry.Retry,
769
+ }));
770
+ /** Directory index. */
771
+ export const getTapeDrive = /*@__PURE__*/ API.make(() => ({
772
+ input: GetTapeDriveRequest,
773
+ output: GetTapeDriveResponse,
774
+ errors: [],
775
+ protocol: ProxmoxBackupProtocol,
776
+ retry: Retry.Retry,
777
+ }));
778
+ /** Read media label (optionally inventorize media) */
779
+ export const getTapeDriveReadLabel = /*@__PURE__*/ API.make(() => ({
780
+ input: GetTapeDriveReadLabelRequest,
781
+ output: GetTapeDriveReadLabelResponse,
782
+ errors: [],
783
+ protocol: ProxmoxBackupProtocol,
784
+ retry: Retry.Retry,
785
+ }));
786
+ /** Get drive/media status */
787
+ export const getTapeDriveStatus = /*@__PURE__*/ API.make(() => ({
788
+ input: GetTapeDriveStatusRequest,
789
+ output: GetTapeDriveStatusResponse,
790
+ errors: [],
791
+ protocol: ProxmoxBackupProtocol,
792
+ retry: Retry.Retry,
793
+ }));
794
+ /** Read Volume Statistics (SCSI log page 17h) */
795
+ export const getTapeDriveVolumeStatistics = /*@__PURE__*/ API.make(() => ({
796
+ input: GetTapeDriveVolumeStatisticsRequest,
797
+ output: GetTapeDriveVolumeStatisticsResponse,
798
+ errors: [],
799
+ protocol: ProxmoxBackupProtocol,
800
+ retry: Retry.Retry,
801
+ }));
802
+ /** Directory index. */
803
+ export const getTapeMedia = /*@__PURE__*/ API.make(() => ({
804
+ input: GetTapeMediaRequest,
805
+ output: GetTapeMediaResponse,
806
+ errors: [],
807
+ protocol: ProxmoxBackupProtocol,
808
+ retry: Retry.Retry,
809
+ }));
810
+ /** Destroy media (completely remove from database) */
811
+ export const getTapeMediaDestroy = /*@__PURE__*/ API.make(() => ({
812
+ input: GetTapeMediaDestroyRequest,
813
+ output: GetTapeMediaDestroyResponse,
814
+ errors: [],
815
+ protocol: ProxmoxBackupProtocol,
816
+ retry: Retry.Retry,
817
+ }));
818
+ /** Directory index. */
819
+ export const getTapeMediaList = /*@__PURE__*/ API.make(() => ({
820
+ input: GetTapeMediaListRequest,
821
+ output: GetTapeMediaListResponse,
822
+ errors: [],
823
+ protocol: ProxmoxBackupProtocol,
824
+ retry: Retry.Retry,
825
+ }));
826
+ /** Get current media status */
827
+ export const getTapeMediaListStatus = /*@__PURE__*/ API.make(() => ({
828
+ input: GetTapeMediaListStatusRequest,
829
+ output: GetTapeMediaListStatusResponse,
830
+ errors: [],
831
+ protocol: ProxmoxBackupProtocol,
832
+ retry: Retry.Retry,
833
+ }));
834
+ /** List all tape backup jobs */
835
+ export const listTapeBackup = /*@__PURE__*/ API.make(() => ({
836
+ input: ListTapeBackupRequest,
837
+ output: ListTapeBackupResponse,
838
+ errors: [],
839
+ protocol: ProxmoxBackupProtocol,
840
+ retry: Retry.Retry,
841
+ }));
842
+ /** List changers */
843
+ export const listTapeChanger = /*@__PURE__*/ API.make(() => ({
844
+ input: ListTapeChangerRequest,
845
+ output: ListTapeChangerResponse,
846
+ errors: [],
847
+ protocol: ProxmoxBackupProtocol,
848
+ retry: Retry.Retry,
849
+ }));
850
+ /** Get tape changer status */
851
+ export const listTapeChangerStatus = /*@__PURE__*/ API.make(() => ({
852
+ input: ListTapeChangerStatusRequest,
853
+ output: ListTapeChangerStatusResponse,
854
+ errors: [],
855
+ protocol: ProxmoxBackupProtocol,
856
+ retry: Retry.Retry,
857
+ }));
858
+ /** List drives */
859
+ export const listTapeDrive = /*@__PURE__*/ API.make(() => ({
860
+ input: ListTapeDriveRequest,
861
+ output: ListTapeDriveResponse,
862
+ errors: [],
863
+ protocol: ProxmoxBackupProtocol,
864
+ retry: Retry.Retry,
865
+ }));
866
+ /** Read Cartridge Memory (Medium auxiliary memory attributes) */
867
+ export const listTapeDriveCartridgeMemory = /*@__PURE__*/ API.make(() => ({
868
+ input: ListTapeDriveCartridgeMemoryRequest,
869
+ output: ListTapeDriveCartridgeMemoryResponse,
870
+ errors: [],
871
+ protocol: ProxmoxBackupProtocol,
872
+ retry: Retry.Retry,
873
+ }));
874
+ /** List known media labels (Changer Inventory) Note: Only useful for drives with associated changer device. This method queries the changer to get a list of media labels. Note: This updates the media online status. */
875
+ export const listTapeDriveInventory = /*@__PURE__*/ API.make(() => ({
876
+ input: ListTapeDriveInventoryRequest,
877
+ output: ListTapeDriveInventoryResponse,
878
+ errors: [],
879
+ protocol: ProxmoxBackupProtocol,
880
+ retry: Retry.Retry,
881
+ }));
882
+ /** List media content */
883
+ export const listTapeMediaContent = /*@__PURE__*/ API.make(() => ({
884
+ input: ListTapeMediaContentRequest,
885
+ output: ListTapeMediaContentResponse,
886
+ errors: [],
887
+ protocol: ProxmoxBackupProtocol,
888
+ retry: Retry.Retry,
889
+ }));
890
+ /** List pool media */
891
+ export const listTapeMediaList = /*@__PURE__*/ API.make(() => ({
892
+ input: ListTapeMediaListRequest,
893
+ output: ListTapeMediaListResponse,
894
+ errors: [],
895
+ protocol: ProxmoxBackupProtocol,
896
+ retry: Retry.Retry,
897
+ }));
898
+ /** List Media sets */
899
+ export const listTapeMediaMediaSets = /*@__PURE__*/ API.make(() => ({
900
+ input: ListTapeMediaMediaSetsRequest,
901
+ output: ListTapeMediaMediaSetsResponse,
902
+ errors: [],
903
+ protocol: ProxmoxBackupProtocol,
904
+ retry: Retry.Retry,
905
+ }));
906
+ /** Scan for SCSI tape changers */
907
+ export const listTapeScanChangers = /*@__PURE__*/ API.make(() => ({
908
+ input: ListTapeScanChangersRequest,
909
+ output: ListTapeScanChangersResponse,
910
+ errors: [],
911
+ protocol: ProxmoxBackupProtocol,
912
+ retry: Retry.Retry,
913
+ }));
914
+ /** Scan tape drives */
915
+ export const listTapeScanDrives = /*@__PURE__*/ API.make(() => ({
916
+ input: ListTapeScanDrivesRequest,
917
+ output: ListTapeScanDrivesResponse,
918
+ errors: [],
919
+ protocol: ProxmoxBackupProtocol,
920
+ retry: Retry.Retry,
921
+ }));
922
+ /** Change Tape location to vault (if given), or offline. */
923
+ export const moveTapeMedia = /*@__PURE__*/ API.make(() => ({
924
+ input: MoveTapeMediaRequest,
925
+ output: MoveTapeMediaResponse,
926
+ errors: [],
927
+ protocol: ProxmoxBackupProtocol,
928
+ retry: Retry.Retry,
929
+ }));
930
+ /** Clean drive */
931
+ export const putTapeDriveClean = /*@__PURE__*/ API.make(() => ({
932
+ input: PutTapeDriveCleanRequest,
933
+ output: PutTapeDriveCleanResponse,
934
+ errors: [],
935
+ protocol: ProxmoxBackupProtocol,
936
+ retry: Retry.Retry,
937
+ }));
938
+ /** Export media with specified label */
939
+ export const putTapeDriveExportMedia = /*@__PURE__*/ API.make(() => ({
940
+ input: PutTapeDriveExportMediaRequest,
941
+ output: PutTapeDriveExportMediaResponse,
942
+ errors: [],
943
+ protocol: ProxmoxBackupProtocol,
944
+ retry: Retry.Retry,
945
+ }));
946
+ /** Update inventory Note: Only useful for drives with associated changer device. This method queries the changer to get a list of media labels. It then loads any unknown media into the drive, reads the label, and store the result to the media database. If `catalog` is true, also tries to restore the catalog from tape. Note: This updates the media online status. */
947
+ export const putTapeDriveInventory = /*@__PURE__*/ API.make(() => ({
948
+ input: PutTapeDriveInventoryRequest,
949
+ output: PutTapeDriveInventoryResponse,
950
+ errors: [],
951
+ protocol: ProxmoxBackupProtocol,
952
+ retry: Retry.Retry,
953
+ }));
954
+ /** Restore data from media-set. Namespaces will be automatically created if necessary. */
955
+ export const restoreTape = /*@__PURE__*/ API.make(() => ({
956
+ input: RestoreTapeRequest,
957
+ output: RestoreTapeResponse,
958
+ errors: [],
959
+ protocol: ProxmoxBackupProtocol,
960
+ retry: Retry.Retry,
961
+ }));
962
+ /** Try to restore a tape encryption key */
963
+ export const restoreTapeDriveKey = /*@__PURE__*/ API.make(() => ({
964
+ input: RestoreTapeDriveKeyRequest,
965
+ output: RestoreTapeDriveKeyResponse,
966
+ errors: [],
967
+ protocol: ProxmoxBackupProtocol,
968
+ retry: Retry.Retry,
969
+ }));
970
+ /** Transfers media from one slot to another */
971
+ export const transferTapeChanger = /*@__PURE__*/ API.make(() => ({
972
+ input: TransferTapeChangerRequest,
973
+ output: TransferTapeChangerResponse,
974
+ errors: [],
975
+ protocol: ProxmoxBackupProtocol,
976
+ retry: Retry.Retry,
977
+ }));
978
+ /** Runs a tape backup job manually. */
979
+ export const updateTapeBackup = /*@__PURE__*/ API.make(() => ({
980
+ input: UpdateTapeBackupRequest,
981
+ output: UpdateTapeBackupResponse,
982
+ errors: [],
983
+ protocol: ProxmoxBackupProtocol,
984
+ retry: Retry.Retry,
985
+ }));
986
+ //# sourceMappingURL=tape.js.map