@archildata/api-types 0.0.3 → 0.0.4
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.
- package/index.d.ts +821 -4
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -4,6 +4,26 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
export interface paths {
|
|
7
|
+
"/api/activity": {
|
|
8
|
+
parameters: {
|
|
9
|
+
query?: never;
|
|
10
|
+
header?: never;
|
|
11
|
+
path?: never;
|
|
12
|
+
cookie?: never;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* List activity events
|
|
16
|
+
* @description Returns the authenticated account's activity events (disk lifecycle and exec events), newest first. Omitting `limit` returns up to 50 events; pass the response's `nextCursor` back as `cursor` to fetch the next page.
|
|
17
|
+
*/
|
|
18
|
+
get: operations["listActivity"];
|
|
19
|
+
put?: never;
|
|
20
|
+
post?: never;
|
|
21
|
+
delete?: never;
|
|
22
|
+
options?: never;
|
|
23
|
+
head?: never;
|
|
24
|
+
patch?: never;
|
|
25
|
+
trace?: never;
|
|
26
|
+
};
|
|
7
27
|
"/api/disks": {
|
|
8
28
|
parameters: {
|
|
9
29
|
query?: never;
|
|
@@ -124,6 +144,46 @@ export interface paths {
|
|
|
124
144
|
patch?: never;
|
|
125
145
|
trace?: never;
|
|
126
146
|
};
|
|
147
|
+
"/api/disks/{id}/delegations": {
|
|
148
|
+
parameters: {
|
|
149
|
+
query?: never;
|
|
150
|
+
header?: never;
|
|
151
|
+
path?: never;
|
|
152
|
+
cookie?: never;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* List delegations
|
|
156
|
+
* @description Lists all delegations currently held on a disk. A delegation grants a client exclusive write access to an inode and is identified by the (clientId, inodeId) pair. Orphaned entries are held by clients that disconnected without checking their delegations in. Paths are resolved best-effort and may be omitted.
|
|
157
|
+
*/
|
|
158
|
+
get: operations["listDelegations"];
|
|
159
|
+
put?: never;
|
|
160
|
+
post?: never;
|
|
161
|
+
delete?: never;
|
|
162
|
+
options?: never;
|
|
163
|
+
head?: never;
|
|
164
|
+
patch?: never;
|
|
165
|
+
trace?: never;
|
|
166
|
+
};
|
|
167
|
+
"/api/disks/{id}/revoke-delegation": {
|
|
168
|
+
parameters: {
|
|
169
|
+
query?: never;
|
|
170
|
+
header?: never;
|
|
171
|
+
path?: never;
|
|
172
|
+
cookie?: never;
|
|
173
|
+
};
|
|
174
|
+
get?: never;
|
|
175
|
+
put?: never;
|
|
176
|
+
/**
|
|
177
|
+
* Revoke a delegation
|
|
178
|
+
* @description Forcibly revokes the delegation a client holds on an inode. Use this to reclaim write access from a client that is unreachable or crashed without checking its delegations in.
|
|
179
|
+
*/
|
|
180
|
+
post: operations["revokeDelegation"];
|
|
181
|
+
delete?: never;
|
|
182
|
+
options?: never;
|
|
183
|
+
head?: never;
|
|
184
|
+
patch?: never;
|
|
185
|
+
trace?: never;
|
|
186
|
+
};
|
|
127
187
|
"/api/disks/{id}/exec": {
|
|
128
188
|
parameters: {
|
|
129
189
|
query?: never;
|
|
@@ -260,6 +320,159 @@ export interface paths {
|
|
|
260
320
|
patch?: never;
|
|
261
321
|
trace?: never;
|
|
262
322
|
};
|
|
323
|
+
"/api/sandboxes": {
|
|
324
|
+
parameters: {
|
|
325
|
+
query?: never;
|
|
326
|
+
header?: never;
|
|
327
|
+
path?: never;
|
|
328
|
+
cookie?: never;
|
|
329
|
+
};
|
|
330
|
+
/**
|
|
331
|
+
* List sandboxes
|
|
332
|
+
* @description All the account's sandboxes, oldest first.
|
|
333
|
+
*/
|
|
334
|
+
get: operations["listSandboxes"];
|
|
335
|
+
put?: never;
|
|
336
|
+
/**
|
|
337
|
+
* Create a sandbox
|
|
338
|
+
* @description Provisions a sandbox VM with the requested shape and Archil disks
|
|
339
|
+
* mounted. By default the response reports `pending` after the runtime
|
|
340
|
+
* accepts the start. Set `wait=true` to hold for `running`; if the wait
|
|
341
|
+
* budget expires, the response remains `pending` and startup continues.
|
|
342
|
+
*/
|
|
343
|
+
post: operations["createSandbox"];
|
|
344
|
+
delete?: never;
|
|
345
|
+
options?: never;
|
|
346
|
+
head?: never;
|
|
347
|
+
patch?: never;
|
|
348
|
+
trace?: never;
|
|
349
|
+
};
|
|
350
|
+
"/api/sandboxes/{sid}": {
|
|
351
|
+
parameters: {
|
|
352
|
+
query?: never;
|
|
353
|
+
header?: never;
|
|
354
|
+
path?: never;
|
|
355
|
+
cookie?: never;
|
|
356
|
+
};
|
|
357
|
+
/** Get a sandbox */
|
|
358
|
+
get: operations["getSandbox"];
|
|
359
|
+
put?: never;
|
|
360
|
+
post?: never;
|
|
361
|
+
delete?: never;
|
|
362
|
+
options?: never;
|
|
363
|
+
head?: never;
|
|
364
|
+
patch?: never;
|
|
365
|
+
trace?: never;
|
|
366
|
+
};
|
|
367
|
+
"/api/sandboxes/{sid}/execs": {
|
|
368
|
+
parameters: {
|
|
369
|
+
query?: never;
|
|
370
|
+
header?: never;
|
|
371
|
+
path?: never;
|
|
372
|
+
cookie?: never;
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* List recent execs
|
|
376
|
+
* @description The sandbox's most recent execs, newest first.
|
|
377
|
+
*/
|
|
378
|
+
get: operations["listSandboxExecs"];
|
|
379
|
+
put?: never;
|
|
380
|
+
/**
|
|
381
|
+
* Run a command in a sandbox
|
|
382
|
+
* @description Submits a shell command to a running sandbox. By default the response
|
|
383
|
+
* reports `running` after the runtime accepts it. Set `wait=true` to hold
|
|
384
|
+
* for a terminal result; if the wait budget expires, the response remains
|
|
385
|
+
* `running` and the result is available from getSandboxExec. Only
|
|
386
|
+
* `running` sandboxes accept execs (409 otherwise).
|
|
387
|
+
*/
|
|
388
|
+
post: operations["execInSandbox"];
|
|
389
|
+
delete?: never;
|
|
390
|
+
options?: never;
|
|
391
|
+
head?: never;
|
|
392
|
+
patch?: never;
|
|
393
|
+
trace?: never;
|
|
394
|
+
};
|
|
395
|
+
"/api/sandboxes/{sid}/execs/{eid}": {
|
|
396
|
+
parameters: {
|
|
397
|
+
query?: never;
|
|
398
|
+
header?: never;
|
|
399
|
+
path?: never;
|
|
400
|
+
cookie?: never;
|
|
401
|
+
};
|
|
402
|
+
/** Get an exec's status and result */
|
|
403
|
+
get: operations["getSandboxExec"];
|
|
404
|
+
put?: never;
|
|
405
|
+
post?: never;
|
|
406
|
+
delete?: never;
|
|
407
|
+
options?: never;
|
|
408
|
+
head?: never;
|
|
409
|
+
patch?: never;
|
|
410
|
+
trace?: never;
|
|
411
|
+
};
|
|
412
|
+
"/api/sandboxes/{sid}/execs/{eid}/cancel": {
|
|
413
|
+
parameters: {
|
|
414
|
+
query?: never;
|
|
415
|
+
header?: never;
|
|
416
|
+
path?: never;
|
|
417
|
+
cookie?: never;
|
|
418
|
+
};
|
|
419
|
+
get?: never;
|
|
420
|
+
put?: never;
|
|
421
|
+
/**
|
|
422
|
+
* Cancel a running exec
|
|
423
|
+
* @description Aborts a running exec. Idempotent; cancelling an exec that already
|
|
424
|
+
* finished returns its terminal result unchanged.
|
|
425
|
+
*/
|
|
426
|
+
post: operations["cancelSandboxExec"];
|
|
427
|
+
delete?: never;
|
|
428
|
+
options?: never;
|
|
429
|
+
head?: never;
|
|
430
|
+
patch?: never;
|
|
431
|
+
trace?: never;
|
|
432
|
+
};
|
|
433
|
+
"/api/sandboxes/{sid}/start": {
|
|
434
|
+
parameters: {
|
|
435
|
+
query?: never;
|
|
436
|
+
header?: never;
|
|
437
|
+
path?: never;
|
|
438
|
+
cookie?: never;
|
|
439
|
+
};
|
|
440
|
+
get?: never;
|
|
441
|
+
put?: never;
|
|
442
|
+
/**
|
|
443
|
+
* Start or restart a sandbox
|
|
444
|
+
* @description Cold-boots the sandbox from its persisted configuration and disks. RAM
|
|
445
|
+
* and process state are not restored. Starting a pending or running
|
|
446
|
+
* sandbox is idempotent; a sandbox that is still stopping returns 409.
|
|
447
|
+
*/
|
|
448
|
+
post: operations["startSandbox"];
|
|
449
|
+
delete?: never;
|
|
450
|
+
options?: never;
|
|
451
|
+
head?: never;
|
|
452
|
+
patch?: never;
|
|
453
|
+
trace?: never;
|
|
454
|
+
};
|
|
455
|
+
"/api/sandboxes/{sid}/stop": {
|
|
456
|
+
parameters: {
|
|
457
|
+
query?: never;
|
|
458
|
+
header?: never;
|
|
459
|
+
path?: never;
|
|
460
|
+
cookie?: never;
|
|
461
|
+
};
|
|
462
|
+
get?: never;
|
|
463
|
+
put?: never;
|
|
464
|
+
/**
|
|
465
|
+
* Stop a sandbox
|
|
466
|
+
* @description Shuts down the sandbox VM without taking a memory snapshot. The sandbox
|
|
467
|
+
* identity, configuration, and disks remain available for a later start.
|
|
468
|
+
*/
|
|
469
|
+
post: operations["stopSandbox"];
|
|
470
|
+
delete?: never;
|
|
471
|
+
options?: never;
|
|
472
|
+
head?: never;
|
|
473
|
+
patch?: never;
|
|
474
|
+
trace?: never;
|
|
475
|
+
};
|
|
263
476
|
}
|
|
264
477
|
export type webhooks = Record<string, never>;
|
|
265
478
|
export interface components {
|
|
@@ -270,6 +483,37 @@ export interface components {
|
|
|
270
483
|
/** @example Invalid request parameters */
|
|
271
484
|
error: string;
|
|
272
485
|
};
|
|
486
|
+
ActivityEvent: {
|
|
487
|
+
accountId: string;
|
|
488
|
+
/**
|
|
489
|
+
* Format: uuid
|
|
490
|
+
* @description Unique, time-ordered event id.
|
|
491
|
+
*/
|
|
492
|
+
eventId: string;
|
|
493
|
+
/** @example dsk-0123456789abcdef */
|
|
494
|
+
diskId: string;
|
|
495
|
+
/** @example disk.created */
|
|
496
|
+
eventType: string;
|
|
497
|
+
/**
|
|
498
|
+
* @description Event severity.
|
|
499
|
+
* @example error
|
|
500
|
+
* @enum {string}
|
|
501
|
+
*/
|
|
502
|
+
level: "info" | "warning" | "error";
|
|
503
|
+
/** Format: date-time */
|
|
504
|
+
createdAt: string;
|
|
505
|
+
/** @description Event-specific attributes (e.g. diskName on disk.created; containerId, outcome, exitCode, failureClass on disk.exec). */
|
|
506
|
+
details: {
|
|
507
|
+
[key: string]: string;
|
|
508
|
+
};
|
|
509
|
+
};
|
|
510
|
+
ApiResponse_ActivityList: {
|
|
511
|
+
/** @example true */
|
|
512
|
+
success: boolean;
|
|
513
|
+
data: components["schemas"]["ActivityEvent"][];
|
|
514
|
+
/** @description Set when more events remain beyond this page. Pass it back as the `cursor` query parameter to fetch the next page. Absent on the last page. */
|
|
515
|
+
nextCursor?: string;
|
|
516
|
+
};
|
|
273
517
|
ApiResponse_Empty: {
|
|
274
518
|
/** @example true */
|
|
275
519
|
success: boolean;
|
|
@@ -281,6 +525,124 @@ export interface components {
|
|
|
281
525
|
message?: string;
|
|
282
526
|
};
|
|
283
527
|
};
|
|
528
|
+
/** @enum {string} */
|
|
529
|
+
SandboxState: "pending" | "running" | "stopping" | "stopped" | "exited" | "failed";
|
|
530
|
+
Sandbox: {
|
|
531
|
+
/** Format: uuid */
|
|
532
|
+
sandbox_id: string;
|
|
533
|
+
status: components["schemas"]["SandboxState"];
|
|
534
|
+
vcpu_count: number;
|
|
535
|
+
mem_size_mib: number;
|
|
536
|
+
/** @description Full lifetime budget applied independently to each powered-on session. */
|
|
537
|
+
max_ttl_seconds: number;
|
|
538
|
+
max_concurrent_execs: number;
|
|
539
|
+
port_mappings?: components["schemas"]["SandboxPortMapping"][];
|
|
540
|
+
/** Format: date-time */
|
|
541
|
+
created_at: string;
|
|
542
|
+
/** Format: date-time */
|
|
543
|
+
running_at?: string;
|
|
544
|
+
/** Format: date-time */
|
|
545
|
+
finished_at?: string;
|
|
546
|
+
/** Format: date-time */
|
|
547
|
+
last_active_at: string;
|
|
548
|
+
/**
|
|
549
|
+
* Format: date-time
|
|
550
|
+
* @description Current powered-on session deadline; absent while inactive.
|
|
551
|
+
*/
|
|
552
|
+
expires_at?: string;
|
|
553
|
+
exit_reason?: string;
|
|
554
|
+
};
|
|
555
|
+
SandboxPortMapping: {
|
|
556
|
+
container_port: number;
|
|
557
|
+
/** @enum {string} */
|
|
558
|
+
protocol: "tcp" | "udp";
|
|
559
|
+
};
|
|
560
|
+
ApiResponse_Sandbox: {
|
|
561
|
+
/** @example true */
|
|
562
|
+
success: boolean;
|
|
563
|
+
data: components["schemas"]["Sandbox"];
|
|
564
|
+
};
|
|
565
|
+
/** @enum {string} */
|
|
566
|
+
SandboxExecState: "running" | "completed" | "failed" | "cancelled" | "timed_out";
|
|
567
|
+
SandboxExec: {
|
|
568
|
+
/** Format: uuid */
|
|
569
|
+
sandbox_id: string;
|
|
570
|
+
/** Format: uuid */
|
|
571
|
+
exec_id: string;
|
|
572
|
+
command: string;
|
|
573
|
+
status: components["schemas"]["SandboxExecState"];
|
|
574
|
+
exit_code?: number;
|
|
575
|
+
stdout?: string;
|
|
576
|
+
stderr?: string;
|
|
577
|
+
exit_reason?: string;
|
|
578
|
+
/** Format: int64 */
|
|
579
|
+
execute_time_ms?: number;
|
|
580
|
+
/** Format: date-time */
|
|
581
|
+
started_at: string;
|
|
582
|
+
/** Format: date-time */
|
|
583
|
+
finished_at?: string;
|
|
584
|
+
};
|
|
585
|
+
SandboxMount: {
|
|
586
|
+
disk_id: string;
|
|
587
|
+
/** @description Mount point relative to the sandbox's archil root. May be omitted when the sandbox mounts a single disk. */
|
|
588
|
+
relative_path?: string;
|
|
589
|
+
/** @description Expose this subdirectory of the disk instead of its root */
|
|
590
|
+
subdirectory?: string;
|
|
591
|
+
/** @description Writes against the mountpoint fail with EROFS */
|
|
592
|
+
read_only?: boolean;
|
|
593
|
+
/** @description Mount in shared mode, allowing concurrent writers on other clients. Defaults to true. */
|
|
594
|
+
shared?: boolean;
|
|
595
|
+
region?: string;
|
|
596
|
+
};
|
|
597
|
+
CreateSandboxRequest: {
|
|
598
|
+
vcpu_count?: number;
|
|
599
|
+
mem_size_mib?: number;
|
|
600
|
+
kernel?: string;
|
|
601
|
+
base_image?: string;
|
|
602
|
+
archil_mounts?: components["schemas"]["SandboxMount"][];
|
|
603
|
+
port_mappings?: components["schemas"]["SandboxPortMapping"][];
|
|
604
|
+
/** @description Environment variables applied to every exec */
|
|
605
|
+
env?: {
|
|
606
|
+
[key: string]: string;
|
|
607
|
+
};
|
|
608
|
+
/** @description Lifetime budget applied independently to each powered-on session */
|
|
609
|
+
max_ttl_seconds?: number;
|
|
610
|
+
max_concurrent_execs?: number;
|
|
611
|
+
};
|
|
612
|
+
SandboxExecRequest: {
|
|
613
|
+
/** @description Shell command, run via `/bin/sh -c` */
|
|
614
|
+
command: string;
|
|
615
|
+
/** @description Allocate a TTY for the command */
|
|
616
|
+
command_tty?: boolean;
|
|
617
|
+
/** @description Extra environment variables for this command */
|
|
618
|
+
env?: {
|
|
619
|
+
[key: string]: string;
|
|
620
|
+
};
|
|
621
|
+
/**
|
|
622
|
+
* Format: int64
|
|
623
|
+
* @description Server-side execution deadline; the exec reports timed_out past it
|
|
624
|
+
*/
|
|
625
|
+
timeout_seconds?: number;
|
|
626
|
+
};
|
|
627
|
+
ApiResponse_SandboxList: {
|
|
628
|
+
/** @example true */
|
|
629
|
+
success: boolean;
|
|
630
|
+
data: {
|
|
631
|
+
sandboxes?: components["schemas"]["Sandbox"][];
|
|
632
|
+
};
|
|
633
|
+
};
|
|
634
|
+
ApiResponse_SandboxExec: {
|
|
635
|
+
/** @example true */
|
|
636
|
+
success: boolean;
|
|
637
|
+
data: components["schemas"]["SandboxExec"];
|
|
638
|
+
};
|
|
639
|
+
ApiResponse_SandboxExecList: {
|
|
640
|
+
/** @example true */
|
|
641
|
+
success: boolean;
|
|
642
|
+
data: {
|
|
643
|
+
execs?: components["schemas"]["SandboxExec"][];
|
|
644
|
+
};
|
|
645
|
+
};
|
|
284
646
|
CreateDiskRequest: {
|
|
285
647
|
/**
|
|
286
648
|
* @description Disk name (alphanumeric, dashes, underscores)
|
|
@@ -514,6 +876,8 @@ export interface components {
|
|
|
514
876
|
expiresAt?: string;
|
|
515
877
|
/** @description When true, the token can only be used for a single mount authentication. After the first successful mount, subsequent attempts are rejected. Consumed tokens remain visible in the disk's authorized users list. */
|
|
516
878
|
oneUse?: boolean;
|
|
879
|
+
/** @description When true, the token grants read-only access. Mounts authenticated with this token reject writes with EROFS. */
|
|
880
|
+
readOnly?: boolean;
|
|
517
881
|
};
|
|
518
882
|
AwsStsUser: {
|
|
519
883
|
/**
|
|
@@ -532,6 +896,8 @@ export interface components {
|
|
|
532
896
|
expiresAt?: string;
|
|
533
897
|
/** @description When true, the credential can only be used for a single mount authentication. */
|
|
534
898
|
oneUse?: boolean;
|
|
899
|
+
/** @description When true, the credential grants read-only access. Mounts authenticated with this credential reject writes with EROFS. */
|
|
900
|
+
readOnly?: boolean;
|
|
535
901
|
};
|
|
536
902
|
DiskUser: components["schemas"]["TokenUser"] | components["schemas"]["AwsStsUser"];
|
|
537
903
|
DiskResponse: {
|
|
@@ -682,6 +1048,8 @@ export interface components {
|
|
|
682
1048
|
* @description When the one-use token was consumed (first successful mount auth). Absent if the token has not been consumed or is not one-use.
|
|
683
1049
|
*/
|
|
684
1050
|
consumedAt?: string;
|
|
1051
|
+
/** @description Whether this token grants read-only access. */
|
|
1052
|
+
readOnly?: boolean;
|
|
685
1053
|
/**
|
|
686
1054
|
* @description Current lifecycle status of the token.
|
|
687
1055
|
* @enum {string}
|
|
@@ -693,6 +1061,8 @@ export interface components {
|
|
|
693
1061
|
/** @example true */
|
|
694
1062
|
success: boolean;
|
|
695
1063
|
data: components["schemas"]["DiskResponse"][];
|
|
1064
|
+
/** @description Set when more disks remain beyond this page. Pass it back as the `cursor` query parameter to fetch the next page. Absent on the last page. */
|
|
1065
|
+
nextCursor?: string;
|
|
696
1066
|
};
|
|
697
1067
|
ApiResponse_Disk: {
|
|
698
1068
|
/** @example true */
|
|
@@ -726,6 +1096,46 @@ export interface components {
|
|
|
726
1096
|
allowedIps: string[];
|
|
727
1097
|
};
|
|
728
1098
|
};
|
|
1099
|
+
DelegationEntry: {
|
|
1100
|
+
/**
|
|
1101
|
+
* @description ID of the client holding the delegation.
|
|
1102
|
+
* @example 12345
|
|
1103
|
+
*/
|
|
1104
|
+
clientId: string;
|
|
1105
|
+
/**
|
|
1106
|
+
* Format: int64
|
|
1107
|
+
* @description Inode the delegation covers.
|
|
1108
|
+
*/
|
|
1109
|
+
inodeId: number;
|
|
1110
|
+
/**
|
|
1111
|
+
* @description Absolute path of the inode, resolved best-effort. Omitted when the server could not resolve it.
|
|
1112
|
+
* @example workspace/data.db
|
|
1113
|
+
*/
|
|
1114
|
+
path?: string;
|
|
1115
|
+
/** @description True while the delegation checkout is still in flight. */
|
|
1116
|
+
isPending: boolean;
|
|
1117
|
+
/** @description True when the holding client is no longer connected to the disk. */
|
|
1118
|
+
isOrphaned: boolean;
|
|
1119
|
+
};
|
|
1120
|
+
ApiResponse_Delegations: {
|
|
1121
|
+
/** @example true */
|
|
1122
|
+
success: boolean;
|
|
1123
|
+
data: {
|
|
1124
|
+
delegations: components["schemas"]["DelegationEntry"][];
|
|
1125
|
+
};
|
|
1126
|
+
};
|
|
1127
|
+
RevokeDelegationRequest: {
|
|
1128
|
+
/**
|
|
1129
|
+
* Format: int64
|
|
1130
|
+
* @description Inode the delegation covers.
|
|
1131
|
+
*/
|
|
1132
|
+
inodeId: number;
|
|
1133
|
+
/**
|
|
1134
|
+
* @description ID of the client holding the delegation.
|
|
1135
|
+
* @example 12345
|
|
1136
|
+
*/
|
|
1137
|
+
clientId: string;
|
|
1138
|
+
};
|
|
729
1139
|
CreateApiTokenRequest: {
|
|
730
1140
|
/** @description Token name */
|
|
731
1141
|
name: string;
|
|
@@ -1034,7 +1444,13 @@ export interface components {
|
|
|
1034
1444
|
parameters: {
|
|
1035
1445
|
/** @description Disk ID (format `dsk-{16 hex chars}`) */
|
|
1036
1446
|
DiskId: string;
|
|
1037
|
-
/** @description
|
|
1447
|
+
/** @description Sandbox UUID */
|
|
1448
|
+
SandboxId: string;
|
|
1449
|
+
/** @description Exec UUID */
|
|
1450
|
+
ExecId: string;
|
|
1451
|
+
/** @description Hold the request for a completed start or exec result */
|
|
1452
|
+
Wait: boolean;
|
|
1453
|
+
/** @description Maximum number of items to return. Omit to return all items in a single unpaginated response; when set, the response may include a nextCursor to fetch the next page. */
|
|
1038
1454
|
Limit: number;
|
|
1039
1455
|
/** @description Pagination cursor from a previous response */
|
|
1040
1456
|
Cursor: string;
|
|
@@ -1045,10 +1461,45 @@ export interface components {
|
|
|
1045
1461
|
}
|
|
1046
1462
|
export type $defs = Record<string, never>;
|
|
1047
1463
|
export interface operations {
|
|
1464
|
+
listActivity: {
|
|
1465
|
+
parameters: {
|
|
1466
|
+
query?: {
|
|
1467
|
+
/** @description Maximum events to return per page (default 50). */
|
|
1468
|
+
limit?: number;
|
|
1469
|
+
/** @description Pagination cursor from a previous response */
|
|
1470
|
+
cursor?: components["parameters"]["Cursor"];
|
|
1471
|
+
/** @description Restrict to a single disk owned by the account. */
|
|
1472
|
+
diskId?: string;
|
|
1473
|
+
/** @description Restrict to the given event types (`disk.created`, `disk.deleted`, `disk.user_added`, `disk.user_removed`, `disk.exec`). Repeat the parameter to select multiple types. */
|
|
1474
|
+
eventType?: string[];
|
|
1475
|
+
/** @description Restrict to the given severity levels. Repeat the parameter to select multiple levels. */
|
|
1476
|
+
level?: ("info" | "warning" | "error")[];
|
|
1477
|
+
};
|
|
1478
|
+
header?: never;
|
|
1479
|
+
path?: never;
|
|
1480
|
+
cookie?: never;
|
|
1481
|
+
};
|
|
1482
|
+
requestBody?: never;
|
|
1483
|
+
responses: {
|
|
1484
|
+
/** @description Page of activity events */
|
|
1485
|
+
200: {
|
|
1486
|
+
headers: {
|
|
1487
|
+
[name: string]: unknown;
|
|
1488
|
+
};
|
|
1489
|
+
content: {
|
|
1490
|
+
"application/json": components["schemas"]["ApiResponse_ActivityList"];
|
|
1491
|
+
};
|
|
1492
|
+
};
|
|
1493
|
+
400: components["responses"]["ValidationError"];
|
|
1494
|
+
401: components["responses"]["Unauthorized"];
|
|
1495
|
+
404: components["responses"]["NotFound"];
|
|
1496
|
+
500: components["responses"]["InternalError"];
|
|
1497
|
+
};
|
|
1498
|
+
};
|
|
1048
1499
|
listDisks: {
|
|
1049
1500
|
parameters: {
|
|
1050
1501
|
query?: {
|
|
1051
|
-
/** @description Maximum number of items to return */
|
|
1502
|
+
/** @description Maximum number of items to return. Omit to return all items in a single unpaginated response; when set, the response may include a nextCursor to fetch the next page. */
|
|
1052
1503
|
limit?: components["parameters"]["Limit"];
|
|
1053
1504
|
/** @description Pagination cursor from a previous response */
|
|
1054
1505
|
cursor?: components["parameters"]["Cursor"];
|
|
@@ -1314,7 +1765,64 @@ export interface operations {
|
|
|
1314
1765
|
500: components["responses"]["InternalError"];
|
|
1315
1766
|
};
|
|
1316
1767
|
};
|
|
1317
|
-
|
|
1768
|
+
listDelegations: {
|
|
1769
|
+
parameters: {
|
|
1770
|
+
query?: never;
|
|
1771
|
+
header?: never;
|
|
1772
|
+
path: {
|
|
1773
|
+
/** @description Disk ID (format `dsk-{16 hex chars}`) */
|
|
1774
|
+
id: components["parameters"]["DiskId"];
|
|
1775
|
+
};
|
|
1776
|
+
cookie?: never;
|
|
1777
|
+
};
|
|
1778
|
+
requestBody?: never;
|
|
1779
|
+
responses: {
|
|
1780
|
+
/** @description Delegations currently held on the disk */
|
|
1781
|
+
200: {
|
|
1782
|
+
headers: {
|
|
1783
|
+
[name: string]: unknown;
|
|
1784
|
+
};
|
|
1785
|
+
content: {
|
|
1786
|
+
"application/json": components["schemas"]["ApiResponse_Delegations"];
|
|
1787
|
+
};
|
|
1788
|
+
};
|
|
1789
|
+
401: components["responses"]["Unauthorized"];
|
|
1790
|
+
404: components["responses"]["NotFound"];
|
|
1791
|
+
500: components["responses"]["InternalError"];
|
|
1792
|
+
};
|
|
1793
|
+
};
|
|
1794
|
+
revokeDelegation: {
|
|
1795
|
+
parameters: {
|
|
1796
|
+
query?: never;
|
|
1797
|
+
header?: never;
|
|
1798
|
+
path: {
|
|
1799
|
+
/** @description Disk ID (format `dsk-{16 hex chars}`) */
|
|
1800
|
+
id: components["parameters"]["DiskId"];
|
|
1801
|
+
};
|
|
1802
|
+
cookie?: never;
|
|
1803
|
+
};
|
|
1804
|
+
requestBody: {
|
|
1805
|
+
content: {
|
|
1806
|
+
"application/json": components["schemas"]["RevokeDelegationRequest"];
|
|
1807
|
+
};
|
|
1808
|
+
};
|
|
1809
|
+
responses: {
|
|
1810
|
+
/** @description Delegation revoked */
|
|
1811
|
+
200: {
|
|
1812
|
+
headers: {
|
|
1813
|
+
[name: string]: unknown;
|
|
1814
|
+
};
|
|
1815
|
+
content: {
|
|
1816
|
+
"application/json": components["schemas"]["ApiResponse_Message"];
|
|
1817
|
+
};
|
|
1818
|
+
};
|
|
1819
|
+
400: components["responses"]["ValidationError"];
|
|
1820
|
+
401: components["responses"]["Unauthorized"];
|
|
1821
|
+
404: components["responses"]["NotFound"];
|
|
1822
|
+
500: components["responses"]["InternalError"];
|
|
1823
|
+
};
|
|
1824
|
+
};
|
|
1825
|
+
execDisk: {
|
|
1318
1826
|
parameters: {
|
|
1319
1827
|
query?: never;
|
|
1320
1828
|
header?: never;
|
|
@@ -1425,7 +1933,7 @@ export interface operations {
|
|
|
1425
1933
|
listApiTokens: {
|
|
1426
1934
|
parameters: {
|
|
1427
1935
|
query?: {
|
|
1428
|
-
/** @description Maximum number of items to return */
|
|
1936
|
+
/** @description Maximum number of items to return. Omit to return all items in a single unpaginated response; when set, the response may include a nextCursor to fetch the next page. */
|
|
1429
1937
|
limit?: components["parameters"]["Limit"];
|
|
1430
1938
|
/** @description Pagination cursor from a previous response */
|
|
1431
1939
|
cursor?: components["parameters"]["Cursor"];
|
|
@@ -1502,4 +2010,313 @@ export interface operations {
|
|
|
1502
2010
|
500: components["responses"]["InternalError"];
|
|
1503
2011
|
};
|
|
1504
2012
|
};
|
|
2013
|
+
listSandboxes: {
|
|
2014
|
+
parameters: {
|
|
2015
|
+
query?: {
|
|
2016
|
+
/** @description Only sandboxes that mount this disk */
|
|
2017
|
+
filesystem?: string;
|
|
2018
|
+
};
|
|
2019
|
+
header?: never;
|
|
2020
|
+
path?: never;
|
|
2021
|
+
cookie?: never;
|
|
2022
|
+
};
|
|
2023
|
+
requestBody?: never;
|
|
2024
|
+
responses: {
|
|
2025
|
+
/** @description Sandboxes for the account */
|
|
2026
|
+
200: {
|
|
2027
|
+
headers: {
|
|
2028
|
+
[name: string]: unknown;
|
|
2029
|
+
};
|
|
2030
|
+
content: {
|
|
2031
|
+
"application/json": components["schemas"]["ApiResponse_SandboxList"];
|
|
2032
|
+
};
|
|
2033
|
+
};
|
|
2034
|
+
400: components["responses"]["ValidationError"];
|
|
2035
|
+
401: components["responses"]["Unauthorized"];
|
|
2036
|
+
500: components["responses"]["InternalError"];
|
|
2037
|
+
};
|
|
2038
|
+
};
|
|
2039
|
+
createSandbox: {
|
|
2040
|
+
parameters: {
|
|
2041
|
+
query?: {
|
|
2042
|
+
/** @description Hold the request for a completed start or exec result */
|
|
2043
|
+
wait?: components["parameters"]["Wait"];
|
|
2044
|
+
};
|
|
2045
|
+
header?: never;
|
|
2046
|
+
path?: never;
|
|
2047
|
+
cookie?: never;
|
|
2048
|
+
};
|
|
2049
|
+
requestBody: {
|
|
2050
|
+
content: {
|
|
2051
|
+
"application/json": components["schemas"]["CreateSandboxRequest"];
|
|
2052
|
+
};
|
|
2053
|
+
};
|
|
2054
|
+
responses: {
|
|
2055
|
+
/** @description The sandbox was created */
|
|
2056
|
+
202: {
|
|
2057
|
+
headers: {
|
|
2058
|
+
[name: string]: unknown;
|
|
2059
|
+
};
|
|
2060
|
+
content: {
|
|
2061
|
+
"application/json": components["schemas"]["ApiResponse_Sandbox"];
|
|
2062
|
+
};
|
|
2063
|
+
};
|
|
2064
|
+
400: components["responses"]["ValidationError"];
|
|
2065
|
+
401: components["responses"]["Unauthorized"];
|
|
2066
|
+
/** @description Sandbox capacity reached */
|
|
2067
|
+
429: {
|
|
2068
|
+
headers: {
|
|
2069
|
+
[name: string]: unknown;
|
|
2070
|
+
};
|
|
2071
|
+
content: {
|
|
2072
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2073
|
+
};
|
|
2074
|
+
};
|
|
2075
|
+
500: components["responses"]["InternalError"];
|
|
2076
|
+
};
|
|
2077
|
+
};
|
|
2078
|
+
getSandbox: {
|
|
2079
|
+
parameters: {
|
|
2080
|
+
query?: never;
|
|
2081
|
+
header?: never;
|
|
2082
|
+
path: {
|
|
2083
|
+
/** @description Sandbox UUID */
|
|
2084
|
+
sid: components["parameters"]["SandboxId"];
|
|
2085
|
+
};
|
|
2086
|
+
cookie?: never;
|
|
2087
|
+
};
|
|
2088
|
+
requestBody?: never;
|
|
2089
|
+
responses: {
|
|
2090
|
+
/** @description The sandbox */
|
|
2091
|
+
200: {
|
|
2092
|
+
headers: {
|
|
2093
|
+
[name: string]: unknown;
|
|
2094
|
+
};
|
|
2095
|
+
content: {
|
|
2096
|
+
"application/json": components["schemas"]["ApiResponse_Sandbox"];
|
|
2097
|
+
};
|
|
2098
|
+
};
|
|
2099
|
+
401: components["responses"]["Unauthorized"];
|
|
2100
|
+
404: components["responses"]["NotFound"];
|
|
2101
|
+
500: components["responses"]["InternalError"];
|
|
2102
|
+
};
|
|
2103
|
+
};
|
|
2104
|
+
listSandboxExecs: {
|
|
2105
|
+
parameters: {
|
|
2106
|
+
query?: never;
|
|
2107
|
+
header?: never;
|
|
2108
|
+
path: {
|
|
2109
|
+
/** @description Sandbox UUID */
|
|
2110
|
+
sid: components["parameters"]["SandboxId"];
|
|
2111
|
+
};
|
|
2112
|
+
cookie?: never;
|
|
2113
|
+
};
|
|
2114
|
+
requestBody?: never;
|
|
2115
|
+
responses: {
|
|
2116
|
+
/** @description Recent execs */
|
|
2117
|
+
200: {
|
|
2118
|
+
headers: {
|
|
2119
|
+
[name: string]: unknown;
|
|
2120
|
+
};
|
|
2121
|
+
content: {
|
|
2122
|
+
"application/json": components["schemas"]["ApiResponse_SandboxExecList"];
|
|
2123
|
+
};
|
|
2124
|
+
};
|
|
2125
|
+
401: components["responses"]["Unauthorized"];
|
|
2126
|
+
404: components["responses"]["NotFound"];
|
|
2127
|
+
500: components["responses"]["InternalError"];
|
|
2128
|
+
};
|
|
2129
|
+
};
|
|
2130
|
+
execInSandbox: {
|
|
2131
|
+
parameters: {
|
|
2132
|
+
query?: {
|
|
2133
|
+
/** @description Hold the request for a completed start or exec result */
|
|
2134
|
+
wait?: components["parameters"]["Wait"];
|
|
2135
|
+
};
|
|
2136
|
+
header?: never;
|
|
2137
|
+
path: {
|
|
2138
|
+
/** @description Sandbox UUID */
|
|
2139
|
+
sid: components["parameters"]["SandboxId"];
|
|
2140
|
+
};
|
|
2141
|
+
cookie?: never;
|
|
2142
|
+
};
|
|
2143
|
+
requestBody: {
|
|
2144
|
+
content: {
|
|
2145
|
+
"application/json": components["schemas"]["SandboxExecRequest"];
|
|
2146
|
+
};
|
|
2147
|
+
};
|
|
2148
|
+
responses: {
|
|
2149
|
+
/** @description The exec, terminal (result fields set) or still running */
|
|
2150
|
+
202: {
|
|
2151
|
+
headers: {
|
|
2152
|
+
[name: string]: unknown;
|
|
2153
|
+
};
|
|
2154
|
+
content: {
|
|
2155
|
+
"application/json": components["schemas"]["ApiResponse_SandboxExec"];
|
|
2156
|
+
};
|
|
2157
|
+
};
|
|
2158
|
+
400: components["responses"]["ValidationError"];
|
|
2159
|
+
401: components["responses"]["Unauthorized"];
|
|
2160
|
+
404: components["responses"]["NotFound"];
|
|
2161
|
+
/** @description The sandbox is not running */
|
|
2162
|
+
409: {
|
|
2163
|
+
headers: {
|
|
2164
|
+
[name: string]: unknown;
|
|
2165
|
+
};
|
|
2166
|
+
content: {
|
|
2167
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2168
|
+
};
|
|
2169
|
+
};
|
|
2170
|
+
/** @description The sandbox's max_concurrent_execs cap is reached */
|
|
2171
|
+
429: {
|
|
2172
|
+
headers: {
|
|
2173
|
+
[name: string]: unknown;
|
|
2174
|
+
};
|
|
2175
|
+
content: {
|
|
2176
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2177
|
+
};
|
|
2178
|
+
};
|
|
2179
|
+
500: components["responses"]["InternalError"];
|
|
2180
|
+
};
|
|
2181
|
+
};
|
|
2182
|
+
getSandboxExec: {
|
|
2183
|
+
parameters: {
|
|
2184
|
+
query?: never;
|
|
2185
|
+
header?: never;
|
|
2186
|
+
path: {
|
|
2187
|
+
/** @description Sandbox UUID */
|
|
2188
|
+
sid: components["parameters"]["SandboxId"];
|
|
2189
|
+
/** @description Exec UUID */
|
|
2190
|
+
eid: components["parameters"]["ExecId"];
|
|
2191
|
+
};
|
|
2192
|
+
cookie?: never;
|
|
2193
|
+
};
|
|
2194
|
+
requestBody?: never;
|
|
2195
|
+
responses: {
|
|
2196
|
+
/** @description The exec; result fields are set once terminal */
|
|
2197
|
+
200: {
|
|
2198
|
+
headers: {
|
|
2199
|
+
[name: string]: unknown;
|
|
2200
|
+
};
|
|
2201
|
+
content: {
|
|
2202
|
+
"application/json": components["schemas"]["ApiResponse_SandboxExec"];
|
|
2203
|
+
};
|
|
2204
|
+
};
|
|
2205
|
+
401: components["responses"]["Unauthorized"];
|
|
2206
|
+
404: components["responses"]["NotFound"];
|
|
2207
|
+
500: components["responses"]["InternalError"];
|
|
2208
|
+
};
|
|
2209
|
+
};
|
|
2210
|
+
cancelSandboxExec: {
|
|
2211
|
+
parameters: {
|
|
2212
|
+
query?: never;
|
|
2213
|
+
header?: never;
|
|
2214
|
+
path: {
|
|
2215
|
+
/** @description Sandbox UUID */
|
|
2216
|
+
sid: components["parameters"]["SandboxId"];
|
|
2217
|
+
/** @description Exec UUID */
|
|
2218
|
+
eid: components["parameters"]["ExecId"];
|
|
2219
|
+
};
|
|
2220
|
+
cookie?: never;
|
|
2221
|
+
};
|
|
2222
|
+
requestBody?: never;
|
|
2223
|
+
responses: {
|
|
2224
|
+
/** @description The exec after the cancel */
|
|
2225
|
+
200: {
|
|
2226
|
+
headers: {
|
|
2227
|
+
[name: string]: unknown;
|
|
2228
|
+
};
|
|
2229
|
+
content: {
|
|
2230
|
+
"application/json": components["schemas"]["ApiResponse_SandboxExec"];
|
|
2231
|
+
};
|
|
2232
|
+
};
|
|
2233
|
+
401: components["responses"]["Unauthorized"];
|
|
2234
|
+
404: components["responses"]["NotFound"];
|
|
2235
|
+
500: components["responses"]["InternalError"];
|
|
2236
|
+
};
|
|
2237
|
+
};
|
|
2238
|
+
startSandbox: {
|
|
2239
|
+
parameters: {
|
|
2240
|
+
query?: {
|
|
2241
|
+
/** @description Hold the request for a completed start or exec result */
|
|
2242
|
+
wait?: components["parameters"]["Wait"];
|
|
2243
|
+
};
|
|
2244
|
+
header?: never;
|
|
2245
|
+
path: {
|
|
2246
|
+
/** @description Sandbox UUID */
|
|
2247
|
+
sid: components["parameters"]["SandboxId"];
|
|
2248
|
+
};
|
|
2249
|
+
cookie?: never;
|
|
2250
|
+
};
|
|
2251
|
+
requestBody?: never;
|
|
2252
|
+
responses: {
|
|
2253
|
+
/** @description The sandbox was already running */
|
|
2254
|
+
200: {
|
|
2255
|
+
headers: {
|
|
2256
|
+
[name: string]: unknown;
|
|
2257
|
+
};
|
|
2258
|
+
content: {
|
|
2259
|
+
"application/json": components["schemas"]["ApiResponse_Sandbox"];
|
|
2260
|
+
};
|
|
2261
|
+
};
|
|
2262
|
+
/** @description The sandbox start is pending */
|
|
2263
|
+
202: {
|
|
2264
|
+
headers: {
|
|
2265
|
+
[name: string]: unknown;
|
|
2266
|
+
};
|
|
2267
|
+
content: {
|
|
2268
|
+
"application/json": components["schemas"]["ApiResponse_Sandbox"];
|
|
2269
|
+
};
|
|
2270
|
+
};
|
|
2271
|
+
400: components["responses"]["ValidationError"];
|
|
2272
|
+
401: components["responses"]["Unauthorized"];
|
|
2273
|
+
404: components["responses"]["NotFound"];
|
|
2274
|
+
/** @description The previous VM is still stopping */
|
|
2275
|
+
409: {
|
|
2276
|
+
headers: {
|
|
2277
|
+
[name: string]: unknown;
|
|
2278
|
+
};
|
|
2279
|
+
content: {
|
|
2280
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
2281
|
+
};
|
|
2282
|
+
};
|
|
2283
|
+
500: components["responses"]["InternalError"];
|
|
2284
|
+
};
|
|
2285
|
+
};
|
|
2286
|
+
stopSandbox: {
|
|
2287
|
+
parameters: {
|
|
2288
|
+
query?: never;
|
|
2289
|
+
header?: never;
|
|
2290
|
+
path: {
|
|
2291
|
+
/** @description Sandbox UUID */
|
|
2292
|
+
sid: components["parameters"]["SandboxId"];
|
|
2293
|
+
};
|
|
2294
|
+
cookie?: never;
|
|
2295
|
+
};
|
|
2296
|
+
requestBody?: never;
|
|
2297
|
+
responses: {
|
|
2298
|
+
/** @description The sandbox was already inactive */
|
|
2299
|
+
200: {
|
|
2300
|
+
headers: {
|
|
2301
|
+
[name: string]: unknown;
|
|
2302
|
+
};
|
|
2303
|
+
content: {
|
|
2304
|
+
"application/json": components["schemas"]["ApiResponse_Sandbox"];
|
|
2305
|
+
};
|
|
2306
|
+
};
|
|
2307
|
+
/** @description The sandbox stop is in progress */
|
|
2308
|
+
202: {
|
|
2309
|
+
headers: {
|
|
2310
|
+
[name: string]: unknown;
|
|
2311
|
+
};
|
|
2312
|
+
content: {
|
|
2313
|
+
"application/json": components["schemas"]["ApiResponse_Sandbox"];
|
|
2314
|
+
};
|
|
2315
|
+
};
|
|
2316
|
+
400: components["responses"]["ValidationError"];
|
|
2317
|
+
401: components["responses"]["Unauthorized"];
|
|
2318
|
+
404: components["responses"]["NotFound"];
|
|
2319
|
+
500: components["responses"]["InternalError"];
|
|
2320
|
+
};
|
|
2321
|
+
};
|
|
1505
2322
|
}
|