incus-ts 0.1.2 → 0.1.3

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.
@@ -0,0 +1,685 @@
1
+ export type IncusRecord = Record<string, unknown>;
2
+ export type IncusInstanceType = "container" | "virtual-machine" | string;
3
+ export type IncusBinaryInput = Blob | ArrayBuffer | ArrayBufferView | Uint8Array | ReadableStream<Uint8Array>;
4
+ export type IncusProgress = {
5
+ processedBytes?: number;
6
+ totalBytes?: number;
7
+ percent?: number;
8
+ speedBytesPerSecond?: number;
9
+ };
10
+ export type IncusEntity<T = unknown> = {
11
+ value: T;
12
+ etag?: string;
13
+ };
14
+ export type IncusMutationOptions = {
15
+ etag?: string;
16
+ };
17
+ export type IncusListOptions = {
18
+ filter?: string[];
19
+ allProjects?: boolean;
20
+ };
21
+ export type IncusScopeOptions = {
22
+ allProjects?: boolean;
23
+ };
24
+ export type IncusRequestContext = {
25
+ project?: string;
26
+ target?: string;
27
+ requireAuthenticated?: boolean;
28
+ };
29
+ export type IncusConnectionOptions = {
30
+ userAgent?: string;
31
+ authType?: string;
32
+ skipGetEvents?: boolean;
33
+ skipGetServer?: boolean;
34
+ headers?: HeadersInit;
35
+ fetch?: typeof fetch;
36
+ signal?: AbortSignal;
37
+ tempPath?: string;
38
+ tlsServerCert?: string;
39
+ tlsClientCert?: string;
40
+ tlsClientKey?: string;
41
+ tlsCA?: string;
42
+ insecureSkipVerify?: boolean;
43
+ identicalCertificate?: boolean;
44
+ oidcTokens?: {
45
+ accessToken?: string;
46
+ refreshToken?: string;
47
+ expiry?: string;
48
+ };
49
+ };
50
+ export type IncusSimpleStreamsOptions = IncusConnectionOptions & {
51
+ cachePath?: string;
52
+ cacheExpiryMs?: number;
53
+ };
54
+ export type IncusUnixConnectOptions = IncusConnectionOptions & {
55
+ socketPath?: string;
56
+ };
57
+ export type IncusHttpConnectOptions = IncusConnectionOptions & {
58
+ endpoint?: string;
59
+ };
60
+ export type IncusConnectKind = "incus" | "incus-public" | "incus-unix" | "incus-http" | "simple-streams";
61
+ export type IncusConnectionInfo = {
62
+ addresses: string[];
63
+ certificate?: string;
64
+ protocol?: string;
65
+ url?: string;
66
+ socketPath?: string;
67
+ project?: string;
68
+ target?: string;
69
+ };
70
+ export type IncusTransportRequestOptions = {
71
+ query?: Record<string, string | number | boolean | undefined>;
72
+ headers?: HeadersInit;
73
+ body?: unknown;
74
+ signal?: AbortSignal;
75
+ etag?: string;
76
+ context?: IncusRequestContext;
77
+ };
78
+ export type IncusTransportResponse<T = unknown> = {
79
+ status: number;
80
+ etag?: string;
81
+ data: T;
82
+ headers?: Headers;
83
+ };
84
+ export interface IncusTransport {
85
+ request<T = unknown>(method: string, path: string, options?: IncusTransportRequestOptions): Promise<IncusTransportResponse<T>>;
86
+ websocket?(path: string, protocols?: string | string[]): Promise<WebSocket>;
87
+ close?(): void;
88
+ }
89
+ export type IncusOperationWaitOptions = {
90
+ timeoutSeconds?: number;
91
+ signal?: AbortSignal;
92
+ };
93
+ export interface IncusOperation {
94
+ id: string;
95
+ wait(options?: IncusOperationWaitOptions): Promise<IncusRecord>;
96
+ cancel(): Promise<void>;
97
+ refresh(): Promise<IncusRecord>;
98
+ websocket(secret: string): Promise<WebSocket>;
99
+ onUpdate(handler: (operation: IncusRecord) => void): Promise<() => void>;
100
+ }
101
+ export interface IncusAwaitableOperation extends IncusOperation, PromiseLike<IncusRecord> {
102
+ catch<TResult = never>(onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<IncusRecord | TResult>;
103
+ finally(onFinally?: (() => void) | null): Promise<IncusRecord>;
104
+ }
105
+ export interface IncusRemoteOperation {
106
+ wait(options?: IncusOperationWaitOptions): Promise<void>;
107
+ cancelTarget(): Promise<void>;
108
+ target(): Promise<IncusRecord | null>;
109
+ onUpdate(handler: (operation: IncusRecord) => void): Promise<() => void>;
110
+ }
111
+ export type IncusEventStreamOptions = {
112
+ types?: string[];
113
+ allProjects?: boolean;
114
+ signal?: AbortSignal;
115
+ };
116
+ export type IncusEvent = {
117
+ type: string;
118
+ timestamp?: string;
119
+ metadata?: IncusRecord;
120
+ };
121
+ export interface IncusEventListener extends AsyncIterable<IncusEvent> {
122
+ close(): Promise<void>;
123
+ }
124
+ export interface ConnectionApi {
125
+ info(): Promise<IncusConnectionInfo>;
126
+ httpClient(): Promise<unknown>;
127
+ doHttp(request: Request): Promise<Response>;
128
+ disconnect(): void;
129
+ }
130
+ export interface ServerApi {
131
+ metrics(): Promise<string>;
132
+ get(): Promise<IncusEntity<IncusRecord>>;
133
+ resources(): Promise<IncusRecord>;
134
+ update(server: IncusRecord, options?: IncusMutationOptions): Promise<void>;
135
+ applyPreseed(config: IncusRecord): Promise<void>;
136
+ hasExtension(extension: string): Promise<boolean>;
137
+ isClustered(): Promise<boolean>;
138
+ }
139
+ export interface CertificatesApi {
140
+ fingerprints(): Promise<string[]>;
141
+ list(options?: IncusListOptions): Promise<IncusRecord[]>;
142
+ get(fingerprint: string): Promise<IncusEntity<IncusRecord>>;
143
+ create(certificate: IncusRecord): Promise<void>;
144
+ update(fingerprint: string, certificate: IncusRecord, options?: IncusMutationOptions): Promise<void>;
145
+ remove(fingerprint: string): Promise<void>;
146
+ createToken(certificate: IncusRecord): IncusAwaitableOperation;
147
+ }
148
+ export type ImageListOptions = IncusListOptions;
149
+ export type ImageDownloadOptions = {
150
+ signal?: AbortSignal;
151
+ onProgress?: (progress: IncusProgress) => void;
152
+ secret?: string;
153
+ };
154
+ export type ImageDownloadResult = {
155
+ metadataName?: string;
156
+ metadataSize?: number;
157
+ rootfsName?: string;
158
+ rootfsSize?: number;
159
+ };
160
+ export interface ImageAliasesApi {
161
+ list(): Promise<IncusRecord[]>;
162
+ names(): Promise<string[]>;
163
+ get(name: string, options?: {
164
+ imageType?: string;
165
+ }): Promise<IncusEntity<IncusRecord>>;
166
+ getArchitectures(name: string, options?: {
167
+ imageType?: string;
168
+ }): Promise<Record<string, IncusRecord>>;
169
+ create(alias: IncusRecord): Promise<void>;
170
+ update(name: string, alias: IncusRecord, options?: IncusMutationOptions): Promise<void>;
171
+ rename(name: string, alias: IncusRecord): Promise<void>;
172
+ remove(name: string): Promise<void>;
173
+ }
174
+ export interface ImagesApi {
175
+ list(options?: ImageListOptions): Promise<IncusRecord[]>;
176
+ fingerprints(options?: ImageListOptions): Promise<string[]>;
177
+ get(fingerprint: string, options?: {
178
+ secret?: string;
179
+ }): Promise<IncusEntity<IncusRecord>>;
180
+ downloadFile(fingerprint: string, options?: ImageDownloadOptions): Promise<ImageDownloadResult>;
181
+ create(image: IncusRecord, upload?: IncusRecord): IncusAwaitableOperation;
182
+ copyFrom(source: IncusImageClient, image: IncusRecord, options?: IncusRecord): Promise<IncusRemoteOperation>;
183
+ update(fingerprint: string, image: IncusRecord, options?: IncusMutationOptions): Promise<void>;
184
+ remove(fingerprint: string): IncusAwaitableOperation;
185
+ refresh(fingerprint: string): IncusAwaitableOperation;
186
+ createSecret(fingerprint: string): IncusAwaitableOperation;
187
+ export(fingerprint: string, request?: IncusRecord): IncusAwaitableOperation;
188
+ aliases: ImageAliasesApi;
189
+ }
190
+ export type InstanceListOptions = IncusListOptions & {
191
+ type?: IncusInstanceType;
192
+ full?: boolean;
193
+ };
194
+ export type InstanceExecOptions = {
195
+ stdin?: IncusBinaryInput;
196
+ stdout?: "pipe" | WritableStream<Uint8Array>;
197
+ stderr?: "pipe" | WritableStream<Uint8Array>;
198
+ signal?: AbortSignal;
199
+ onControl?: (socket: WebSocket) => void;
200
+ };
201
+ export type InstanceForkOptions = {
202
+ fromSnapshot?: string;
203
+ sourceProject?: string;
204
+ live?: boolean;
205
+ instanceOnly?: boolean;
206
+ refresh?: boolean;
207
+ refreshExcludeOlder?: boolean;
208
+ allowInconsistent?: boolean;
209
+ };
210
+ export type IncusExecOutputChunk = {
211
+ stream: "stdout" | "stderr";
212
+ chunk: Uint8Array;
213
+ };
214
+ export type IncusExecResult = {
215
+ operation: IncusRecord;
216
+ exitCode?: number;
217
+ ok: boolean;
218
+ };
219
+ export interface IncusExecProcess extends IncusOperation, AsyncIterable<Uint8Array>, PromiseLike<IncusExecResult> {
220
+ stdout: AsyncIterable<Uint8Array>;
221
+ stderr: AsyncIterable<Uint8Array>;
222
+ output(): AsyncIterable<IncusExecOutputChunk>;
223
+ waitResult(options?: IncusOperationWaitOptions): Promise<IncusExecResult>;
224
+ catch<TResult = never>(onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<IncusExecResult | TResult>;
225
+ finally(onFinally?: (() => void) | null): Promise<IncusExecResult>;
226
+ }
227
+ export type InstanceConsoleOptions = {
228
+ terminal?: WebSocket;
229
+ signal?: AbortSignal;
230
+ onControl?: (socket: WebSocket) => void;
231
+ };
232
+ export type InstanceConsoleDynamicResult = {
233
+ operation: IncusOperation;
234
+ attach: (terminal: WebSocket) => Promise<void>;
235
+ };
236
+ export type InstanceFilePutOptions = {
237
+ content: IncusBinaryInput;
238
+ uid?: number;
239
+ gid?: number;
240
+ mode?: number;
241
+ type?: "file" | "directory" | string;
242
+ writeMode?: "overwrite" | "append" | string;
243
+ };
244
+ export type InstanceFileResult = {
245
+ stream: ReadableStream<Uint8Array>;
246
+ uid?: number;
247
+ gid?: number;
248
+ mode?: number;
249
+ type?: string;
250
+ entries?: string[];
251
+ };
252
+ export interface InstanceLogsApi {
253
+ list(): Promise<string[]>;
254
+ get(filename: string): Promise<ReadableStream<Uint8Array>>;
255
+ remove(filename: string): Promise<void>;
256
+ getConsole(): Promise<ReadableStream<Uint8Array>>;
257
+ removeConsole(): Promise<void>;
258
+ }
259
+ export interface InstanceFilesApi {
260
+ get(path: string): Promise<InstanceFileResult>;
261
+ put(path: string, options: InstanceFilePutOptions): Promise<void>;
262
+ remove(path: string): Promise<void>;
263
+ sftp(): Promise<unknown>;
264
+ }
265
+ export interface InstanceTemplatesApi {
266
+ list(): Promise<string[]>;
267
+ get(templateName: string): Promise<ReadableStream<Uint8Array>>;
268
+ put(templateName: string, content: IncusBinaryInput): Promise<void>;
269
+ remove(templateName: string): Promise<void>;
270
+ }
271
+ export interface InstanceSnapshotsApi {
272
+ names(): Promise<string[]>;
273
+ list(): Promise<IncusRecord[]>;
274
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
275
+ create(snapshot: IncusRecord): IncusAwaitableOperation;
276
+ copyFrom(source: IncusClient, snapshot: IncusRecord, options?: IncusRecord): Promise<IncusRemoteOperation>;
277
+ rename(name: string, request: IncusRecord): IncusAwaitableOperation;
278
+ migrate(name: string, request: IncusRecord): IncusAwaitableOperation;
279
+ remove(name: string): IncusAwaitableOperation;
280
+ update(name: string, snapshot: IncusRecord, options?: IncusMutationOptions): IncusAwaitableOperation;
281
+ restore(name: string, options?: {
282
+ stateful?: boolean;
283
+ }): IncusAwaitableOperation;
284
+ }
285
+ export interface InstanceBackupsApi {
286
+ names(): Promise<string[]>;
287
+ list(): Promise<IncusRecord[]>;
288
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
289
+ create(backup: IncusRecord): IncusAwaitableOperation;
290
+ rename(name: string, backup: IncusRecord): IncusAwaitableOperation;
291
+ remove(name: string): IncusAwaitableOperation;
292
+ download(name: string): Promise<ReadableStream<Uint8Array>>;
293
+ upload(backup: IncusRecord, body: IncusBinaryInput): Promise<void>;
294
+ }
295
+ export interface InstanceApi {
296
+ readonly name: string;
297
+ get(options?: {
298
+ full?: boolean;
299
+ }): Promise<IncusEntity<IncusRecord>>;
300
+ fork(name: string, options?: InstanceForkOptions): IncusAwaitableOperation;
301
+ update(instance: IncusRecord, options?: IncusMutationOptions): IncusAwaitableOperation;
302
+ rename(request: IncusRecord): IncusAwaitableOperation;
303
+ migrate(request: IncusRecord): IncusAwaitableOperation;
304
+ remove(): IncusAwaitableOperation;
305
+ rebuild(request: IncusRecord): IncusAwaitableOperation;
306
+ rebuildFromImage(source: IncusImageClient, image: IncusRecord, request: IncusRecord): Promise<IncusRemoteOperation>;
307
+ restore(snapshotName: string, options?: {
308
+ stateful?: boolean;
309
+ }): IncusAwaitableOperation;
310
+ state(): Promise<IncusEntity<IncusRecord>>;
311
+ setState(state: IncusRecord, options?: IncusMutationOptions): IncusAwaitableOperation;
312
+ access(): Promise<IncusRecord>;
313
+ exec(request: IncusRecord, options?: InstanceExecOptions): IncusExecProcess;
314
+ console(request: IncusRecord, options?: InstanceConsoleOptions): IncusAwaitableOperation;
315
+ consoleDynamic(request: IncusRecord, options?: InstanceConsoleOptions): Promise<InstanceConsoleDynamicResult>;
316
+ metadata(): Promise<IncusEntity<IncusRecord>>;
317
+ updateMetadata(metadata: IncusRecord, options?: IncusMutationOptions): Promise<void>;
318
+ debugMemory(format?: string): Promise<ReadableStream<Uint8Array>>;
319
+ logs: InstanceLogsApi;
320
+ files: InstanceFilesApi;
321
+ templates: InstanceTemplatesApi;
322
+ snapshots: InstanceSnapshotsApi;
323
+ backups: InstanceBackupsApi;
324
+ }
325
+ export interface InstancesApi {
326
+ names(options?: InstanceListOptions): Promise<string[] | Record<string, string[]>>;
327
+ list(options?: InstanceListOptions): Promise<IncusRecord[]>;
328
+ instance(name: string): InstanceApi;
329
+ create(instance: IncusRecord): IncusAwaitableOperation;
330
+ createFromImage(source: IncusImageClient, image: IncusRecord, request: IncusRecord): Promise<IncusRemoteOperation>;
331
+ createFromBackup(args: IncusRecord): IncusAwaitableOperation;
332
+ copyFrom(source: IncusClient, instance: IncusRecord, options?: IncusRecord): Promise<IncusRemoteOperation>;
333
+ updateMany(state: IncusRecord, options?: IncusMutationOptions): IncusAwaitableOperation;
334
+ }
335
+ export interface EventsApi {
336
+ stream(options?: IncusEventStreamOptions): Promise<IncusEventListener>;
337
+ send(event: IncusEvent): Promise<void>;
338
+ }
339
+ export interface MetadataApi {
340
+ configuration(): Promise<IncusRecord>;
341
+ }
342
+ export interface NetworkForwardsApi {
343
+ addresses(networkName: string): Promise<string[]>;
344
+ list(networkName: string): Promise<IncusRecord[]>;
345
+ get(networkName: string, listenAddress: string): Promise<IncusEntity<IncusRecord>>;
346
+ create(networkName: string, request: IncusRecord): Promise<void>;
347
+ update(networkName: string, listenAddress: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
348
+ remove(networkName: string, listenAddress: string): Promise<void>;
349
+ }
350
+ export interface NetworkLoadBalancersApi {
351
+ addresses(networkName: string): Promise<string[]>;
352
+ list(networkName: string): Promise<IncusRecord[]>;
353
+ get(networkName: string, listenAddress: string): Promise<IncusEntity<IncusRecord>>;
354
+ state(networkName: string, listenAddress: string): Promise<IncusRecord>;
355
+ create(networkName: string, request: IncusRecord): Promise<void>;
356
+ update(networkName: string, listenAddress: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
357
+ remove(networkName: string, listenAddress: string): Promise<void>;
358
+ }
359
+ export interface NetworkPeersApi {
360
+ names(networkName: string): Promise<string[]>;
361
+ list(networkName: string): Promise<IncusRecord[]>;
362
+ get(networkName: string, peerName: string): Promise<IncusEntity<IncusRecord>>;
363
+ create(networkName: string, request: IncusRecord): Promise<void>;
364
+ update(networkName: string, peerName: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
365
+ remove(networkName: string, peerName: string): Promise<void>;
366
+ }
367
+ export interface NetworkAclsApi {
368
+ names(): Promise<string[]>;
369
+ list(options?: IncusScopeOptions): Promise<IncusRecord[]>;
370
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
371
+ getLog(name: string): Promise<ReadableStream<Uint8Array>>;
372
+ create(request: IncusRecord): Promise<void>;
373
+ update(name: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
374
+ rename(name: string, request: IncusRecord): Promise<void>;
375
+ remove(name: string): Promise<void>;
376
+ }
377
+ export interface NetworkAddressSetsApi {
378
+ names(): Promise<string[]>;
379
+ list(options?: IncusScopeOptions): Promise<IncusRecord[]>;
380
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
381
+ create(request: IncusRecord): Promise<void>;
382
+ update(name: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
383
+ rename(name: string, request: IncusRecord): Promise<void>;
384
+ remove(name: string): Promise<void>;
385
+ }
386
+ export interface NetworkZoneRecordsApi {
387
+ names(zone: string): Promise<string[]>;
388
+ list(zone: string): Promise<IncusRecord[]>;
389
+ get(zone: string, name: string): Promise<IncusEntity<IncusRecord>>;
390
+ create(zone: string, request: IncusRecord): Promise<void>;
391
+ update(zone: string, name: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
392
+ remove(zone: string, name: string): Promise<void>;
393
+ }
394
+ export interface NetworkZonesApi {
395
+ names(): Promise<string[]>;
396
+ list(options?: IncusScopeOptions): Promise<IncusRecord[]>;
397
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
398
+ create(request: IncusRecord): Promise<void>;
399
+ update(name: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
400
+ remove(name: string): Promise<void>;
401
+ records: NetworkZoneRecordsApi;
402
+ }
403
+ export interface NetworkIntegrationsApi {
404
+ names(): Promise<string[]>;
405
+ list(): Promise<IncusRecord[]>;
406
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
407
+ create(request: IncusRecord): Promise<void>;
408
+ update(name: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
409
+ rename(name: string, request: IncusRecord): Promise<void>;
410
+ remove(name: string): Promise<void>;
411
+ }
412
+ export interface NetworksApi {
413
+ names(): Promise<string[]>;
414
+ list(options?: IncusListOptions): Promise<IncusRecord[]>;
415
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
416
+ leases(name: string): Promise<IncusRecord[]>;
417
+ state(name: string): Promise<IncusRecord>;
418
+ create(request: IncusRecord): Promise<void>;
419
+ update(name: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
420
+ rename(name: string, request: IncusRecord): Promise<void>;
421
+ remove(name: string): Promise<void>;
422
+ allocations(options?: IncusScopeOptions): Promise<IncusRecord[]>;
423
+ forwards: NetworkForwardsApi;
424
+ loadBalancers: NetworkLoadBalancersApi;
425
+ peers: NetworkPeersApi;
426
+ acls: NetworkAclsApi;
427
+ addressSets: NetworkAddressSetsApi;
428
+ zones: NetworkZonesApi;
429
+ integrations: NetworkIntegrationsApi;
430
+ }
431
+ export interface OperationsApi {
432
+ uuids(): Promise<string[]>;
433
+ list(options?: IncusScopeOptions): Promise<IncusRecord[]>;
434
+ get(uuid: string): Promise<IncusEntity<IncusRecord>>;
435
+ wait(uuid: string, timeoutSeconds?: number): Promise<IncusEntity<IncusRecord>>;
436
+ waitWithSecret(uuid: string, secret: string, timeoutSeconds?: number): Promise<IncusEntity<IncusRecord>>;
437
+ websocket(uuid: string, secret: string): Promise<WebSocket>;
438
+ remove(uuid: string): Promise<void>;
439
+ }
440
+ export interface ProfilesApi {
441
+ names(): Promise<string[]>;
442
+ list(options?: IncusListOptions): Promise<IncusRecord[]>;
443
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
444
+ create(profile: IncusRecord): Promise<void>;
445
+ update(name: string, profile: IncusRecord, options?: IncusMutationOptions): Promise<void>;
446
+ rename(name: string, profile: IncusRecord): Promise<void>;
447
+ remove(name: string): Promise<void>;
448
+ }
449
+ export interface ProjectsApi {
450
+ names(): Promise<string[]>;
451
+ list(options?: IncusListOptions): Promise<IncusRecord[]>;
452
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
453
+ state(name: string): Promise<IncusRecord>;
454
+ access(name: string): Promise<IncusRecord>;
455
+ create(project: IncusRecord): Promise<void>;
456
+ update(name: string, project: IncusRecord, options?: IncusMutationOptions): Promise<void>;
457
+ rename(name: string, project: IncusRecord): IncusAwaitableOperation;
458
+ remove(name: string): Promise<void>;
459
+ removeForce(name: string): Promise<void>;
460
+ }
461
+ export interface StoragePoolsApi {
462
+ names(): Promise<string[]>;
463
+ list(options?: IncusListOptions): Promise<IncusRecord[]>;
464
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
465
+ resources(name: string): Promise<IncusRecord>;
466
+ create(pool: IncusRecord): Promise<void>;
467
+ update(name: string, pool: IncusRecord, options?: IncusMutationOptions): Promise<void>;
468
+ remove(name: string): Promise<void>;
469
+ }
470
+ export interface StorageBucketKeysApi {
471
+ names(poolName: string, bucketName: string): Promise<string[]>;
472
+ list(poolName: string, bucketName: string): Promise<IncusRecord[]>;
473
+ get(poolName: string, bucketName: string, keyName: string): Promise<IncusEntity<IncusRecord>>;
474
+ create(poolName: string, bucketName: string, key: IncusRecord): Promise<IncusRecord>;
475
+ update(poolName: string, bucketName: string, keyName: string, key: IncusRecord, options?: IncusMutationOptions): Promise<void>;
476
+ remove(poolName: string, bucketName: string, keyName: string): Promise<void>;
477
+ }
478
+ export interface StorageBucketBackupsApi {
479
+ create(poolName: string, bucketName: string, backup: IncusRecord): IncusAwaitableOperation;
480
+ remove(poolName: string, bucketName: string, name: string): IncusAwaitableOperation;
481
+ download(poolName: string, bucketName: string, name: string): Promise<ReadableStream<Uint8Array>>;
482
+ upload(poolName: string, bucketName: string, backup: IncusRecord, body: IncusBinaryInput): Promise<void>;
483
+ createFromBackup(poolName: string, args: IncusRecord): IncusAwaitableOperation;
484
+ }
485
+ export interface StorageBucketsApi {
486
+ names(poolName: string): Promise<string[]>;
487
+ list(poolName: string, options?: IncusListOptions & {
488
+ full?: boolean;
489
+ }): Promise<IncusRecord[]>;
490
+ get(poolName: string, bucketName: string, options?: {
491
+ full?: boolean;
492
+ }): Promise<IncusEntity<IncusRecord>>;
493
+ create(poolName: string, bucket: IncusRecord): Promise<IncusRecord>;
494
+ update(poolName: string, bucketName: string, bucket: IncusRecord, options?: IncusMutationOptions): Promise<void>;
495
+ remove(poolName: string, bucketName: string): Promise<void>;
496
+ keys: StorageBucketKeysApi;
497
+ backups: StorageBucketBackupsApi;
498
+ }
499
+ export interface StorageVolumeFilesApi {
500
+ get(poolName: string, volumeType: string, volumeName: string, filePath: string): Promise<InstanceFileResult>;
501
+ put(poolName: string, volumeType: string, volumeName: string, filePath: string, options: InstanceFilePutOptions): Promise<void>;
502
+ remove(poolName: string, volumeType: string, volumeName: string, filePath: string): Promise<void>;
503
+ }
504
+ export interface StorageVolumeSnapshotsApi {
505
+ names(poolName: string, volumeType: string, volumeName: string): Promise<string[]>;
506
+ list(poolName: string, volumeType: string, volumeName: string): Promise<IncusRecord[]>;
507
+ get(poolName: string, volumeType: string, volumeName: string, snapshotName: string): Promise<IncusEntity<IncusRecord>>;
508
+ create(poolName: string, volumeType: string, volumeName: string, request: IncusRecord): IncusAwaitableOperation;
509
+ rename(poolName: string, volumeType: string, volumeName: string, snapshotName: string, request: IncusRecord): IncusAwaitableOperation;
510
+ update(poolName: string, volumeType: string, volumeName: string, snapshotName: string, request: IncusRecord, options?: IncusMutationOptions): Promise<void>;
511
+ remove(poolName: string, volumeType: string, volumeName: string, snapshotName: string): IncusAwaitableOperation;
512
+ }
513
+ export interface StorageVolumeBackupsApi {
514
+ names(poolName: string, volumeName: string): Promise<string[]>;
515
+ list(poolName: string, volumeName: string): Promise<IncusRecord[]>;
516
+ get(poolName: string, volumeName: string, backupName: string): Promise<IncusEntity<IncusRecord>>;
517
+ create(poolName: string, volumeName: string, backup: IncusRecord): IncusAwaitableOperation;
518
+ rename(poolName: string, volumeName: string, backupName: string, request: IncusRecord): IncusAwaitableOperation;
519
+ remove(poolName: string, volumeName: string, backupName: string): IncusAwaitableOperation;
520
+ download(poolName: string, volumeName: string, backupName: string): Promise<ReadableStream<Uint8Array>>;
521
+ upload(poolName: string, volumeName: string, backup: IncusRecord, body: IncusBinaryInput): Promise<void>;
522
+ createFromBackup(poolName: string, args: IncusRecord): IncusAwaitableOperation;
523
+ createFromIso(poolName: string, args: IncusRecord): IncusAwaitableOperation;
524
+ }
525
+ export interface StorageVolumesApi {
526
+ names(poolName: string, options?: IncusScopeOptions): Promise<string[] | Record<string, string[]>>;
527
+ list(poolName: string, options?: IncusListOptions & {
528
+ full?: boolean;
529
+ }): Promise<IncusRecord[]>;
530
+ get(poolName: string, volumeType: string, name: string, options?: {
531
+ full?: boolean;
532
+ }): Promise<IncusEntity<IncusRecord>>;
533
+ state(poolName: string, volumeType: string, name: string): Promise<IncusRecord>;
534
+ create(poolName: string, volume: IncusRecord): Promise<void>;
535
+ update(poolName: string, volumeType: string, name: string, volume: IncusRecord, options?: IncusMutationOptions): Promise<void>;
536
+ remove(poolName: string, volumeType: string, name: string): Promise<void>;
537
+ rename(poolName: string, volumeType: string, name: string, request: IncusRecord): Promise<void>;
538
+ copyFrom(poolName: string, source: IncusClient, sourcePool: string, volume: IncusRecord, options?: IncusRecord): Promise<IncusRemoteOperation>;
539
+ moveFrom(poolName: string, source: IncusClient, sourcePool: string, volume: IncusRecord, options?: IncusRecord): Promise<IncusRemoteOperation>;
540
+ migrate(poolName: string, volume: IncusRecord): IncusAwaitableOperation;
541
+ createFromMigration(poolName: string, volume: IncusRecord): IncusAwaitableOperation;
542
+ snapshots: StorageVolumeSnapshotsApi;
543
+ backups: StorageVolumeBackupsApi;
544
+ files: StorageVolumeFilesApi;
545
+ sftp(poolName: string, volumeType: string, volumeName: string): Promise<unknown>;
546
+ }
547
+ export interface StorageApi {
548
+ pools: StoragePoolsApi;
549
+ buckets: StorageBucketsApi;
550
+ volumes: StorageVolumesApi;
551
+ }
552
+ export interface ClusterMembersApi {
553
+ names(): Promise<string[]>;
554
+ list(options?: IncusListOptions): Promise<IncusRecord[]>;
555
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
556
+ state(name: string): Promise<IncusEntity<IncusRecord>>;
557
+ create(member: IncusRecord): IncusAwaitableOperation;
558
+ update(name: string, member: IncusRecord, options?: IncusMutationOptions): Promise<void>;
559
+ rename(name: string, request: IncusRecord): Promise<void>;
560
+ remove(name: string, options?: {
561
+ force?: boolean;
562
+ pending?: boolean;
563
+ }): Promise<void>;
564
+ updateState(name: string, state: IncusRecord): IncusAwaitableOperation;
565
+ }
566
+ export interface ClusterGroupsApi {
567
+ names(): Promise<string[]>;
568
+ list(): Promise<IncusRecord[]>;
569
+ get(name: string): Promise<IncusEntity<IncusRecord>>;
570
+ create(group: IncusRecord): Promise<void>;
571
+ update(name: string, group: IncusRecord, options?: IncusMutationOptions): Promise<void>;
572
+ rename(name: string, request: IncusRecord): Promise<void>;
573
+ remove(name: string): Promise<void>;
574
+ }
575
+ export interface ClusterApi {
576
+ get(): Promise<IncusEntity<IncusRecord>>;
577
+ update(cluster: IncusRecord, options?: IncusMutationOptions): IncusAwaitableOperation;
578
+ updateCertificate(certificate: IncusRecord, options?: IncusMutationOptions): Promise<void>;
579
+ members: ClusterMembersApi;
580
+ groups: ClusterGroupsApi;
581
+ }
582
+ export interface WarningsApi {
583
+ uuids(): Promise<string[]>;
584
+ list(): Promise<IncusRecord[]>;
585
+ get(uuid: string): Promise<IncusEntity<IncusRecord>>;
586
+ update(uuid: string, warning: IncusRecord, options?: IncusMutationOptions): Promise<void>;
587
+ remove(uuid: string): Promise<void>;
588
+ }
589
+ export interface OidcApi {
590
+ tokens(): Promise<IncusRecord | null>;
591
+ }
592
+ export interface RawApi {
593
+ query<T = IncusRecord>(method: string, path: string, body?: unknown, options?: IncusMutationOptions): Promise<IncusEntity<T>>;
594
+ websocket(path: string): Promise<WebSocket>;
595
+ operation(method: string, path: string, body?: unknown, options?: IncusMutationOptions): IncusAwaitableOperation;
596
+ }
597
+ type InternalRequestOptions = Omit<IncusTransportRequestOptions, "context"> & {
598
+ applyContext?: boolean;
599
+ };
600
+ type IncusEnvelopeResult<T = unknown> = {
601
+ value: T;
602
+ etag?: string;
603
+ operation?: string;
604
+ status: number;
605
+ headers?: Headers;
606
+ };
607
+ export declare class IncusApiError extends Error {
608
+ readonly status: number;
609
+ readonly statusCode?: number;
610
+ readonly errorCode?: number;
611
+ readonly details?: unknown;
612
+ constructor(message: string, status: number, options?: {
613
+ statusCode?: number;
614
+ errorCode?: number;
615
+ details?: unknown;
616
+ });
617
+ }
618
+ export declare class IncusImageClient {
619
+ protected readonly transport: IncusTransport;
620
+ readonly endpoint: string;
621
+ readonly options: Readonly<IncusConnectionOptions>;
622
+ readonly connection: ConnectionApi;
623
+ readonly images: ImagesApi;
624
+ readonly raw: RawApi;
625
+ protected readonly contextState: Readonly<IncusRequestContext>;
626
+ protected readonly kind: IncusConnectKind;
627
+ private serverSnapshot?;
628
+ constructor(transport: IncusTransport, endpoint: string, options?: Readonly<IncusConnectionOptions>, context?: Readonly<IncusRequestContext>, kind?: IncusConnectKind);
629
+ get context(): Readonly<IncusRequestContext>;
630
+ disconnect(): void;
631
+ protected requestTransport(method: string, path: string, options?: InternalRequestOptions): Promise<IncusTransportResponse<unknown>>;
632
+ protected requestEnvelope<T = unknown>(method: string, path: string, options?: InternalRequestOptions): Promise<IncusEnvelopeResult<T>>;
633
+ protected requestBinary(method: string, path: string, options?: InternalRequestOptions): Promise<IncusEnvelopeResult<Uint8Array>>;
634
+ protected createOperationFromRequest(method: string, path: string, options?: InternalRequestOptions): IncusAwaitableOperation;
635
+ protected createOperationFromEnvelopeResult(method: string, path: string, result: IncusEnvelopeResult<unknown>): IncusOperation;
636
+ protected createOperation(id: string): IncusOperation;
637
+ protected openWebsocket(path: string, options?: {
638
+ applyContext?: boolean;
639
+ }): Promise<WebSocket>;
640
+ private getServerSnapshot;
641
+ private createConnectionApi;
642
+ private createRawApi;
643
+ private createImageAliasesApi;
644
+ private createImagesApi;
645
+ }
646
+ export declare class IncusClient extends IncusImageClient {
647
+ readonly server: ServerApi;
648
+ readonly certificates: CertificatesApi;
649
+ readonly instances: InstancesApi;
650
+ readonly events: EventsApi;
651
+ readonly metadata: MetadataApi;
652
+ readonly networks: NetworksApi;
653
+ readonly operations: OperationsApi;
654
+ readonly profiles: ProfilesApi;
655
+ readonly projects: ProjectsApi;
656
+ readonly storage: StorageApi;
657
+ readonly cluster: ClusterApi;
658
+ readonly warnings: WarningsApi;
659
+ readonly oidc: OidcApi;
660
+ constructor(transport: IncusTransport, endpoint: string, options?: Readonly<IncusConnectionOptions>, context?: Readonly<IncusRequestContext>, kind?: IncusConnectKind);
661
+ withContext(contextPatch: Partial<IncusRequestContext>): IncusClient;
662
+ project(name: string): IncusClient;
663
+ target(name: string): IncusClient;
664
+ requireAuthenticated(authenticated?: boolean): IncusClient;
665
+ private createServerApi;
666
+ private createOperationsApi;
667
+ private isPipeTarget;
668
+ private toWritableTarget;
669
+ private shouldAttachExecIO;
670
+ private shouldPipeExecIO;
671
+ private getExecFds;
672
+ private attachExecWebsockets;
673
+ private createInstancesApi;
674
+ }
675
+ export declare class Incus {
676
+ static connect(endpoint: string, options?: IncusConnectionOptions): Promise<IncusClient>;
677
+ static connectHttp(options?: IncusHttpConnectOptions): Promise<IncusClient>;
678
+ static connectUnix(options?: IncusUnixConnectOptions): Promise<IncusClient>;
679
+ static connectPublic(endpoint: string, options?: IncusConnectionOptions): Promise<IncusImageClient>;
680
+ static connectSimpleStreams(endpoint: string, options?: IncusSimpleStreamsOptions): Promise<IncusImageClient>;
681
+ static fromTransport(endpoint: string, transport: IncusTransport, options?: IncusConnectionOptions): IncusClient;
682
+ static fromImageTransport(endpoint: string, transport: IncusTransport, options?: IncusConnectionOptions): IncusImageClient;
683
+ }
684
+ export {};
685
+ //# sourceMappingURL=incus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incus.d.ts","sourceRoot":"","sources":["../src/incus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./incus";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incus-ts",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Lightweight TypeScript API for Incus",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,8 +13,10 @@
13
13
  "type": "module",
14
14
  "main": "./dist/index.js",
15
15
  "module": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
16
17
  "exports": {
17
18
  ".": {
19
+ "types": "./dist/index.d.ts",
18
20
  "import": "./dist/index.js"
19
21
  }
20
22
  },
@@ -22,7 +24,7 @@
22
24
  "dist"
23
25
  ],
24
26
  "scripts": {
25
- "build": "bun build src/index.ts --outdir dist --target=node --format=esm --sourcemap --emit-dce-annotations",
27
+ "build": "bun build src/index.ts --outdir dist --target=node --format=esm --sourcemap --emit-dce-annotations && ./node_modules/.bin/tsc --project tsconfig.build.json",
26
28
  "typecheck": "./node_modules/.bin/tsc --noEmit",
27
29
  "test": "bun test ./test",
28
30
  "test:e2e": "INCUS_E2E=1 bun test ./test/incus.integration.test.ts",