@nosana/types 2.12.0 → 2.14.1

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,1826 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ import type { JobDefinition, FlowState } from "../Jobs/index.js";
6
+ export interface paths {
7
+ "/": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /**
15
+ * The node's address
16
+ * @description Answers with the node's own address, as a liveness check.
17
+ */
18
+ get: operations["getNodeAddress"];
19
+ put?: never;
20
+ post?: never;
21
+ delete?: never;
22
+ options?: never;
23
+ head?: never;
24
+ patch?: never;
25
+ trace?: never;
26
+ };
27
+ "/node/info": {
28
+ parameters: {
29
+ query?: never;
30
+ header?: never;
31
+ path?: never;
32
+ cookie?: never;
33
+ };
34
+ /**
35
+ * Node info
36
+ * @description What the node is, what it runs on and which images and volumes it holds. Public.
37
+ */
38
+ get: operations["getNodeInfo"];
39
+ put?: never;
40
+ post?: never;
41
+ delete?: never;
42
+ options?: never;
43
+ head?: never;
44
+ patch?: never;
45
+ trace?: never;
46
+ };
47
+ "/job/{job}/info": {
48
+ parameters: {
49
+ query?: never;
50
+ header?: never;
51
+ path?: never;
52
+ cookie?: never;
53
+ };
54
+ /**
55
+ * Stream job info
56
+ * @description Server-sent events: the job's flow without logs plus its task status, sent on open and whenever it changes, until the job ends.
57
+ */
58
+ get: operations["streamJobInfo"];
59
+ put?: never;
60
+ post?: never;
61
+ delete?: never;
62
+ options?: never;
63
+ head?: never;
64
+ patch?: never;
65
+ trace?: never;
66
+ };
67
+ "/job/{job}/job-definition": {
68
+ parameters: {
69
+ query?: never;
70
+ header?: never;
71
+ path?: never;
72
+ cookie?: never;
73
+ };
74
+ /**
75
+ * Get the job definition
76
+ * @description The job definition. Fails while the job still waits for one. The node labels the body as text, but it is JSON.
77
+ */
78
+ get: operations["getJobDefinition"];
79
+ put?: never;
80
+ /**
81
+ * Send the job definition
82
+ * @description Accepted only while the job waits for its definition.
83
+ */
84
+ post: operations["setJobDefinition"];
85
+ delete?: never;
86
+ options?: never;
87
+ head?: never;
88
+ patch?: never;
89
+ trace?: never;
90
+ };
91
+ "/job/{job}/results": {
92
+ parameters: {
93
+ query?: never;
94
+ header?: never;
95
+ path?: never;
96
+ cookie?: never;
97
+ };
98
+ /**
99
+ * Collect the job results
100
+ * @description The finished flow state. Available once the job waits for its result to be collected; collecting it lets the node finish the job. The node labels the body as text, but it is JSON.
101
+ */
102
+ get: operations["getJobResults"];
103
+ put?: never;
104
+ post?: never;
105
+ delete?: never;
106
+ options?: never;
107
+ head?: never;
108
+ patch?: never;
109
+ trace?: never;
110
+ };
111
+ "/job/{job}/ops": {
112
+ parameters: {
113
+ query?: never;
114
+ header?: never;
115
+ path?: never;
116
+ cookie?: never;
117
+ };
118
+ /**
119
+ * Operation statuses
120
+ * @description Status of every operation of the job.
121
+ */
122
+ get: operations["getJobOperations"];
123
+ put?: never;
124
+ post?: never;
125
+ delete?: never;
126
+ options?: never;
127
+ head?: never;
128
+ patch?: never;
129
+ trace?: never;
130
+ };
131
+ "/job/{job}/ops/{op}": {
132
+ parameters: {
133
+ query?: never;
134
+ header?: never;
135
+ path?: never;
136
+ cookie?: never;
137
+ };
138
+ /**
139
+ * Operation status
140
+ * @description Status of one operation.
141
+ */
142
+ get: operations["getJobOperation"];
143
+ put?: never;
144
+ post?: never;
145
+ delete?: never;
146
+ options?: never;
147
+ head?: never;
148
+ patch?: never;
149
+ trace?: never;
150
+ };
151
+ "/job/{job}/group/current": {
152
+ parameters: {
153
+ query?: never;
154
+ header?: never;
155
+ path?: never;
156
+ cookie?: never;
157
+ };
158
+ /**
159
+ * Current group statuses
160
+ * @description Status of the operations in the group currently running.
161
+ */
162
+ get: operations["getJobCurrentGroup"];
163
+ put?: never;
164
+ post?: never;
165
+ delete?: never;
166
+ options?: never;
167
+ head?: never;
168
+ patch?: never;
169
+ trace?: never;
170
+ };
171
+ "/job/{job}/group/{group}": {
172
+ parameters: {
173
+ query?: never;
174
+ header?: never;
175
+ path?: never;
176
+ cookie?: never;
177
+ };
178
+ /**
179
+ * Group statuses
180
+ * @description Status of the operations in one group.
181
+ */
182
+ get: operations["getJobGroup"];
183
+ put?: never;
184
+ post?: never;
185
+ delete?: never;
186
+ options?: never;
187
+ head?: never;
188
+ patch?: never;
189
+ trace?: never;
190
+ };
191
+ "/job/{job}/group/{group}/restart": {
192
+ parameters: {
193
+ query?: never;
194
+ header?: never;
195
+ path?: never;
196
+ cookie?: never;
197
+ };
198
+ get?: never;
199
+ put?: never;
200
+ /**
201
+ * Restart a group
202
+ * @description Restarts every operation of the group.
203
+ */
204
+ post: operations["restartJobGroup"];
205
+ delete?: never;
206
+ options?: never;
207
+ head?: never;
208
+ patch?: never;
209
+ trace?: never;
210
+ };
211
+ "/job/{job}/group/{group}/stop": {
212
+ parameters: {
213
+ query?: never;
214
+ header?: never;
215
+ path?: never;
216
+ cookie?: never;
217
+ };
218
+ get?: never;
219
+ put?: never;
220
+ /**
221
+ * Stop a group
222
+ * @description Stops every operation of the group.
223
+ */
224
+ post: operations["stopJobGroup"];
225
+ delete?: never;
226
+ options?: never;
227
+ head?: never;
228
+ patch?: never;
229
+ trace?: never;
230
+ };
231
+ "/job/{job}/group/{group}/operation/{op}/restart": {
232
+ parameters: {
233
+ query?: never;
234
+ header?: never;
235
+ path?: never;
236
+ cookie?: never;
237
+ };
238
+ get?: never;
239
+ put?: never;
240
+ /**
241
+ * Restart an operation
242
+ * @description Restarts one operation of a group.
243
+ */
244
+ post: operations["restartJobOperation"];
245
+ delete?: never;
246
+ options?: never;
247
+ head?: never;
248
+ patch?: never;
249
+ trace?: never;
250
+ };
251
+ "/job/{job}/group/{group}/operation/{op}/stop": {
252
+ parameters: {
253
+ query?: never;
254
+ header?: never;
255
+ path?: never;
256
+ cookie?: never;
257
+ };
258
+ get?: never;
259
+ put?: never;
260
+ /**
261
+ * Stop an operation
262
+ * @description Stops one operation of a group.
263
+ */
264
+ post: operations["stopJobOperation"];
265
+ delete?: never;
266
+ options?: never;
267
+ head?: never;
268
+ patch?: never;
269
+ trace?: never;
270
+ };
271
+ "/job/{job}/endpoints": {
272
+ parameters: {
273
+ query?: never;
274
+ header?: never;
275
+ path?: never;
276
+ cookie?: never;
277
+ };
278
+ /**
279
+ * Exposed endpoints
280
+ * @description The URLs the job exposes and whether they answer yet.
281
+ */
282
+ get: operations["getJobEndpoints"];
283
+ put?: never;
284
+ post?: never;
285
+ delete?: never;
286
+ options?: never;
287
+ head?: never;
288
+ patch?: never;
289
+ trace?: never;
290
+ };
291
+ "/job/{job}/stats": {
292
+ parameters: {
293
+ query?: never;
294
+ header?: never;
295
+ path?: never;
296
+ cookie?: never;
297
+ };
298
+ /**
299
+ * Resource stats
300
+ * @description CPU, memory, disk and network samples per operation within a time window.
301
+ */
302
+ get: operations["getJobStats"];
303
+ put?: never;
304
+ post?: never;
305
+ delete?: never;
306
+ options?: never;
307
+ head?: never;
308
+ patch?: never;
309
+ trace?: never;
310
+ };
311
+ "/job/{job}/stats/stream": {
312
+ parameters: {
313
+ query?: never;
314
+ header?: never;
315
+ path?: never;
316
+ cookie?: never;
317
+ };
318
+ /**
319
+ * Stream resource stats
320
+ * @description Server-sent events: the latest sample per operation, every `interval` seconds, until the job ends.
321
+ */
322
+ get: operations["streamJobStats"];
323
+ put?: never;
324
+ post?: never;
325
+ delete?: never;
326
+ options?: never;
327
+ head?: never;
328
+ patch?: never;
329
+ trace?: never;
330
+ };
331
+ "/job/{job}/stop": {
332
+ parameters: {
333
+ query?: never;
334
+ header?: never;
335
+ path?: never;
336
+ cookie?: never;
337
+ };
338
+ get?: never;
339
+ put?: never;
340
+ /**
341
+ * Stop the job
342
+ * @description Asks the node to stop the job.
343
+ */
344
+ post: operations["stopJob"];
345
+ delete?: never;
346
+ options?: never;
347
+ head?: never;
348
+ patch?: never;
349
+ trace?: never;
350
+ };
351
+ "/job/{job}/ssh/authorize": {
352
+ parameters: {
353
+ query?: never;
354
+ header?: never;
355
+ path?: never;
356
+ cookie?: never;
357
+ };
358
+ get?: never;
359
+ put?: never;
360
+ /**
361
+ * Grant an SSH key
362
+ * @description Lets the key reach the job, permanently or until `expiresAt`. The signature must be the job owner's.
363
+ */
364
+ post: operations["authorizeJobSshKey"];
365
+ delete?: never;
366
+ options?: never;
367
+ head?: never;
368
+ patch?: never;
369
+ trace?: never;
370
+ };
371
+ "/job/{job}/ssh/keys": {
372
+ parameters: {
373
+ query?: never;
374
+ header?: never;
375
+ path?: never;
376
+ cookie?: never;
377
+ };
378
+ /**
379
+ * List SSH keys
380
+ * @description The keys currently allowed to reach the job, with their expiry when temporary.
381
+ */
382
+ get: operations["getJobSshKeys"];
383
+ put?: never;
384
+ post?: never;
385
+ /**
386
+ * Revoke an SSH key
387
+ * @description Removes the key whatever its expiry. Open sessions stay until they disconnect.
388
+ */
389
+ delete: operations["revokeJobSshKey"];
390
+ options?: never;
391
+ head?: never;
392
+ patch?: never;
393
+ trace?: never;
394
+ };
395
+ }
396
+ export type webhooks = Record<string, never>;
397
+ export interface components {
398
+ schemas: {
399
+ JobDefinition: JobDefinition;
400
+ Logistics: {
401
+ send: components["schemas"]["Logistic"];
402
+ receive: components["schemas"]["Logistic"];
403
+ };
404
+ Logistic: {
405
+ type: components["schemas"]["LogisticType"];
406
+ args: components["schemas"]["Partial__type"];
407
+ };
408
+ /**
409
+ * @description api - we receive and send via an endpoint endpoint
410
+ * api-listen - we create an endpoint to listen for incoming requests
411
+ */
412
+ LogisticType: "api" | "api-listen";
413
+ /** @description Make all properties in T optional */
414
+ Partial__type: {
415
+ endpoint?: string;
416
+ };
417
+ SSH: {
418
+ public_keys?: string[];
419
+ };
420
+ Meta: {
421
+ trigger?: string;
422
+ system_resources?: components["schemas"]["Recordstringstringnumber"];
423
+ } & {
424
+ [key: string]: string | number | (string | number)[] | components["schemas"]["Recordstringstringnumber_stringnumber_"];
425
+ };
426
+ /** @description Construct a type with a set of properties K of type T */
427
+ Recordstringstringnumber: {
428
+ [key: string]: string | number;
429
+ };
430
+ /** @description Construct a type with a set of properties K of type T */
431
+ Recordstringstringnumber_stringnumber_: {
432
+ [key: string]: string | number | (string | number)[];
433
+ };
434
+ Global: {
435
+ image?: string;
436
+ gpu?: boolean;
437
+ entrypoint?: string | components["schemas"]["CMDArray"];
438
+ env?: components["schemas"]["Env"];
439
+ work_dir?: string;
440
+ variables?: components["schemas"]["Variables"];
441
+ };
442
+ CMDArray: string[];
443
+ Env: {
444
+ [key: string]: string;
445
+ };
446
+ Variables: {
447
+ [key: string]: string;
448
+ };
449
+ Ops: components["schemas"]["OperationkeyofOperationArgsMap"][];
450
+ OperationkeyofOperationArgsMap: {
451
+ type: "container/run" | "container/create-volume";
452
+ id: components["schemas"]["OperationId"];
453
+ args: components["schemas"]["ContainerRun"] | components["schemas"]["ContainerCreateVolume"];
454
+ results?: components["schemas"]["OperationResults"];
455
+ execution?: components["schemas"]["Execution"];
456
+ };
457
+ OperationId: string;
458
+ ContainerRun: {
459
+ image: string;
460
+ aliases?: string | components["schemas"]["Aliases"];
461
+ cmd?: string | components["schemas"]["CMDArray"];
462
+ volumes?: components["schemas"]["Volume"][];
463
+ expose?: number | components["schemas"]["ExposedPort"] | components["schemas"]["LiteralString"] | {
464
+ __spread__: components["schemas"]["LiteralString"];
465
+ chunked?: boolean;
466
+ } | components["schemas"]["UniqueExposedPorts"];
467
+ gpu?: boolean;
468
+ work_dir?: string;
469
+ entrypoint?: string | components["schemas"]["CMDArray"];
470
+ env?: components["schemas"]["Env"];
471
+ restart_policy?: "no" | "always" | "unless-stopped" | "on-failure" | {
472
+ /** @constant */
473
+ policy: "on-failure";
474
+ restart_tries?: number;
475
+ };
476
+ private?: boolean;
477
+ resources?: components["schemas"]["Resources"];
478
+ authentication?: components["schemas"]["Authentication"];
479
+ };
480
+ Aliases: string[];
481
+ Volume: {
482
+ name: string;
483
+ dest: string;
484
+ };
485
+ ExposedPort: {
486
+ port: number;
487
+ type?: "api" | "web" | "webapi" | "websocket" | "none";
488
+ health_checks?: components["schemas"]["HealthCheck"][];
489
+ };
490
+ HealthCheck: components["schemas"]["HttpHealthCheck"] | components["schemas"]["WebSocketHealthCheck"];
491
+ HttpHealthCheck: {
492
+ /** @constant */
493
+ type: "http";
494
+ path: string;
495
+ method: "GET" | "POST" | "PUT" | "DELETE";
496
+ expected_status: number;
497
+ headers?: components["schemas"]["Recordstringstring"];
498
+ body?: unknown;
499
+ continuous: boolean;
500
+ };
501
+ /** @description Construct a type with a set of properties K of type T */
502
+ Recordstringstring: {
503
+ [key: string]: string;
504
+ };
505
+ WebSocketHealthCheck: {
506
+ /** @constant */
507
+ type: "websocket";
508
+ expected_response: string;
509
+ continuous: boolean;
510
+ };
511
+ LiteralString: string;
512
+ UniqueExposedPorts: components["schemas"]["ExposeBase"][];
513
+ ExposeBase: number | components["schemas"]["ExposedPort"] | components["schemas"]["LiteralString"] | {
514
+ __spread__: components["schemas"]["LiteralString"];
515
+ chunked?: boolean;
516
+ };
517
+ Resources: ("__remove-if-empty__" | {
518
+ __spread__: components["schemas"]["LiteralString"];
519
+ chunked?: boolean;
520
+ } | components["schemas"]["S3Base"] | components["schemas"]["S3WithBucket"] | components["schemas"]["S3WithBuckets"] | components["schemas"]["HFResource"] | components["schemas"]["OllamaResource"])[];
521
+ S3Base: {
522
+ /** @constant */
523
+ type: "S3";
524
+ target: string;
525
+ url?: string;
526
+ allowWrite?: boolean;
527
+ files?: string[];
528
+ IAM?: components["schemas"]["S3Auth"];
529
+ };
530
+ S3Auth: {
531
+ REGION: string;
532
+ ACCESS_KEY_ID: string;
533
+ SECRET_ACCESS_KEY: string;
534
+ };
535
+ S3WithBucket: {
536
+ /** @constant */
537
+ type: "S3";
538
+ target: string;
539
+ bucket: string;
540
+ url?: string;
541
+ allowWrite?: boolean;
542
+ IAM?: components["schemas"]["S3Auth"];
543
+ };
544
+ S3WithBuckets: {
545
+ /** @constant */
546
+ type: "S3";
547
+ target: string;
548
+ buckets: {
549
+ url: string;
550
+ files?: string[];
551
+ }[];
552
+ url?: string;
553
+ allowWrite?: boolean;
554
+ IAM?: components["schemas"]["S3Auth"];
555
+ };
556
+ HFResource: {
557
+ /** @constant */
558
+ type: "HF";
559
+ target: string;
560
+ repo: string;
561
+ revision?: string;
562
+ files?: string[];
563
+ accessToken?: string;
564
+ };
565
+ OllamaResource: {
566
+ /** @constant */
567
+ type: "Ollama";
568
+ model: string;
569
+ target?: string;
570
+ };
571
+ Authentication: {
572
+ docker?: components["schemas"]["DockerAuth"];
573
+ };
574
+ DockerAuth: {
575
+ username?: string;
576
+ password?: string;
577
+ email?: string;
578
+ server?: string;
579
+ };
580
+ ContainerCreateVolume: {
581
+ name: string;
582
+ };
583
+ OperationResults: {
584
+ [key: string]: string | components["schemas"]["OperationResult"];
585
+ };
586
+ OperationResult: {
587
+ regex: string;
588
+ logType: components["schemas"]["LogTypeTuple"];
589
+ };
590
+ LogTypeTuple: components["schemas"]["StdOption"][];
591
+ StdOption: "stdin" | "stdout" | "stderr" | "nodeerr";
592
+ Execution: {
593
+ group?: string;
594
+ timeout?: number;
595
+ depends_on?: string[];
596
+ stop_if_dependent_stops?: boolean;
597
+ };
598
+ FlowState: FlowState;
599
+ OpState: {
600
+ providerId: null | string;
601
+ operationId: null | string;
602
+ group: null | string;
603
+ status: null | string;
604
+ startTime: null | number;
605
+ endTime: null | number;
606
+ exitCode: null | number;
607
+ logs: components["schemas"]["Log"][];
608
+ results?: {
609
+ [key: string]: string | string[];
610
+ };
611
+ error?: {
612
+ event: string;
613
+ message: string;
614
+ code?: number;
615
+ };
616
+ diagnostics: {
617
+ reason: components["schemas"]["DiagnosticsReason"];
618
+ state?: components["schemas"]["DiagnosticsState"];
619
+ };
620
+ };
621
+ Log: {
622
+ type: components["schemas"]["StdOption"];
623
+ log?: string;
624
+ timestamp: string;
625
+ };
626
+ DiagnosticsReason: {
627
+ hostShutDown: boolean;
628
+ jobStopped: boolean;
629
+ jobExpired: boolean;
630
+ reason?: string;
631
+ };
632
+ DiagnosticsState: {
633
+ Status: string;
634
+ Running: boolean;
635
+ Paused: boolean;
636
+ Restarting: boolean;
637
+ OOMKilled: boolean;
638
+ Dead: boolean;
639
+ Pid: number;
640
+ ExitCode: number;
641
+ Error: string;
642
+ StartedAt: string;
643
+ FinishedAt: string;
644
+ Health?: {
645
+ Status: string;
646
+ FailingStreak: number;
647
+ Log: null | {
648
+ Start: string;
649
+ End: string;
650
+ ExitCode: number;
651
+ Output: string;
652
+ }[];
653
+ };
654
+ RestartCount: number;
655
+ };
656
+ FlowSecrets: {
657
+ urlmode?: "public" | "private";
658
+ } & {
659
+ [key: string]: "public" | "private" | components["schemas"]["JobExposeSecrets"];
660
+ };
661
+ JobExposeSecrets: {
662
+ [key: string]: components["schemas"]["EndpointSecret"];
663
+ };
664
+ EndpointSecret: {
665
+ opID: string;
666
+ port: string | number;
667
+ url: string;
668
+ status: components["schemas"]["EndpointStatus"];
669
+ };
670
+ EndpointStatus: "ONLINE" | "OFFLINE" | "UNKNOWN";
671
+ /** @description A Solana address in base58. */
672
+ Address: string;
673
+ /** @description The node answers failures with a sentence or with `{ error }`. */
674
+ NodeError: string | {
675
+ error: string;
676
+ };
677
+ NodeInfo: {
678
+ /** @description What the node is doing right now, as classified by its monitor. */
679
+ state: string;
680
+ info: {
681
+ gpus?: {
682
+ devices?: ({
683
+ index?: number;
684
+ name?: string;
685
+ uuid?: string;
686
+ memory?: unknown;
687
+ network_architecture?: unknown;
688
+ } & {
689
+ [key: string]: unknown;
690
+ })[];
691
+ } & {
692
+ [key: string]: unknown;
693
+ };
694
+ /** @description Network details with the IP address redacted. */
695
+ network?: {
696
+ [key: string]: unknown;
697
+ };
698
+ } & {
699
+ [key: string]: unknown;
700
+ };
701
+ resources: {
702
+ images: string[];
703
+ volumes: string[];
704
+ };
705
+ } & {
706
+ [key: string]: unknown;
707
+ };
708
+ /** @description An operation's state as the info stream sends it: `OpState` without its logs and provider handle. */
709
+ OpStateSummary: {
710
+ operationId?: string | null;
711
+ group?: string | null;
712
+ status?: string | null;
713
+ startTime?: number | null;
714
+ endTime?: number | null;
715
+ exitCode?: number | null;
716
+ results?: {
717
+ [key: string]: string | string[];
718
+ };
719
+ error?: {
720
+ event: string;
721
+ message: string;
722
+ code?: number;
723
+ };
724
+ diagnostics?: {
725
+ reason: components["schemas"]["DiagnosticsReason"];
726
+ state?: components["schemas"]["DiagnosticsState"];
727
+ };
728
+ };
729
+ /** @description Status per operation, keyed by operation id. */
730
+ OperationStatuses: {
731
+ [key: string]: string | null;
732
+ };
733
+ /** @description One frame of the job info stream: the flow without logs, plus task status. */
734
+ JobInfo: {
735
+ status: string;
736
+ startTime: number;
737
+ endTime: number | null;
738
+ errors: unknown[];
739
+ opStates: components["schemas"]["OpStateSummary"][];
740
+ secrets?: components["schemas"]["FlowSecrets"];
741
+ operations: {
742
+ all: components["schemas"]["OperationStatuses"] | null;
743
+ currentGroup?: string;
744
+ currentGroupStatus: components["schemas"]["OperationStatuses"] | null;
745
+ } | null;
746
+ };
747
+ JobEndpoints: {
748
+ urls: components["schemas"]["JobExposeSecrets"];
749
+ /** @enum {string} */
750
+ status: "ONLINE" | "OFFLINE";
751
+ };
752
+ TaskStat: {
753
+ opId: string;
754
+ /** @description Unix milliseconds. */
755
+ timestamp: number;
756
+ cpu: {
757
+ cpu_percent: number;
758
+ };
759
+ memory: {
760
+ memory_usage: number;
761
+ memory_limit: number;
762
+ memory_percent: number;
763
+ };
764
+ disk: {
765
+ read: number;
766
+ write: number;
767
+ };
768
+ network: {
769
+ received: number;
770
+ sent: number;
771
+ };
772
+ };
773
+ TaskLog: {
774
+ opId: string;
775
+ group: string;
776
+ type: string;
777
+ timestamp: number;
778
+ message: unknown;
779
+ };
780
+ ActionResult: {
781
+ message: string;
782
+ };
783
+ /** @description One OpenSSH `authorized_keys` line: algorithm, base64 key material and an optional comment. */
784
+ SshPublicKey: string;
785
+ SshAuthorizationRequest: {
786
+ sshPublicKey: components["schemas"]["SshPublicKey"];
787
+ /**
788
+ * Format: date-time
789
+ * @description Omit for access until the key is revoked or the job ends.
790
+ */
791
+ expiresAt?: string;
792
+ };
793
+ SshAuthorization: {
794
+ job: components["schemas"]["Address"];
795
+ /** @description Always `nosana`; the hostname identifies the job and operation. */
796
+ sshUser: string;
797
+ /** @constant */
798
+ authorized: true;
799
+ /** Format: date-time */
800
+ expiresAt?: string;
801
+ };
802
+ SshAuthorizedKey: {
803
+ sshPublicKey: components["schemas"]["SshPublicKey"];
804
+ /**
805
+ * Format: date-time
806
+ * @description Absent for permanent keys.
807
+ */
808
+ expiresAt?: string;
809
+ };
810
+ SshKeys: {
811
+ job: components["schemas"]["Address"];
812
+ sshUser: string;
813
+ keys: components["schemas"]["SshAuthorizedKey"][];
814
+ };
815
+ SshRevocationRequest: {
816
+ sshPublicKey: components["schemas"]["SshPublicKey"];
817
+ };
818
+ SshRevocation: {
819
+ job: components["schemas"]["Address"];
820
+ sshUser: string;
821
+ /** @constant */
822
+ revoked: true;
823
+ };
824
+ };
825
+ responses: never;
826
+ parameters: never;
827
+ requestBodies: never;
828
+ headers: never;
829
+ pathItems: never;
830
+ }
831
+ export type $defs = Record<string, never>;
832
+ export interface operations {
833
+ getNodeAddress: {
834
+ parameters: {
835
+ query?: never;
836
+ header?: never;
837
+ path?: never;
838
+ cookie?: never;
839
+ };
840
+ requestBody?: never;
841
+ responses: {
842
+ /** @description The node's address. */
843
+ 200: {
844
+ headers: {
845
+ [name: string]: unknown;
846
+ };
847
+ content: {
848
+ "text/plain": string;
849
+ };
850
+ };
851
+ };
852
+ };
853
+ getNodeInfo: {
854
+ parameters: {
855
+ query?: never;
856
+ header?: never;
857
+ path?: never;
858
+ cookie?: never;
859
+ };
860
+ requestBody?: never;
861
+ responses: {
862
+ /** @description The node's info. */
863
+ 200: {
864
+ headers: {
865
+ [name: string]: unknown;
866
+ };
867
+ content: {
868
+ "application/json": components["schemas"]["NodeInfo"];
869
+ };
870
+ };
871
+ };
872
+ };
873
+ streamJobInfo: {
874
+ parameters: {
875
+ query?: never;
876
+ header?: never;
877
+ path: {
878
+ /** @description The job's address. */
879
+ job: components["schemas"]["Address"];
880
+ };
881
+ cookie?: never;
882
+ };
883
+ requestBody?: never;
884
+ responses: {
885
+ /** @description A stream of `JobInfo` frames as unnamed `message` events. */
886
+ 200: {
887
+ headers: {
888
+ [name: string]: unknown;
889
+ };
890
+ content: {
891
+ "text/event-stream": string;
892
+ };
893
+ };
894
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
895
+ 401: {
896
+ headers: {
897
+ [name: string]: unknown;
898
+ };
899
+ content: {
900
+ "application/json": components["schemas"]["NodeError"];
901
+ };
902
+ };
903
+ /** @description No running job with that address, or the id is not part of it. */
904
+ 404: {
905
+ headers: {
906
+ [name: string]: unknown;
907
+ };
908
+ content: {
909
+ "application/json": components["schemas"]["NodeError"];
910
+ };
911
+ };
912
+ };
913
+ };
914
+ getJobDefinition: {
915
+ parameters: {
916
+ query?: never;
917
+ header?: never;
918
+ path: {
919
+ /** @description The job's address. */
920
+ job: components["schemas"]["Address"];
921
+ };
922
+ cookie?: never;
923
+ };
924
+ requestBody?: never;
925
+ responses: {
926
+ /** @description The job definition. */
927
+ 200: {
928
+ headers: {
929
+ [name: string]: unknown;
930
+ };
931
+ content: {
932
+ "application/json": components["schemas"]["JobDefinition"];
933
+ };
934
+ };
935
+ /** @description No running job with that address, or the id is not part of it. */
936
+ 400: {
937
+ headers: {
938
+ [name: string]: unknown;
939
+ };
940
+ content: {
941
+ "application/json": components["schemas"]["NodeError"];
942
+ };
943
+ };
944
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
945
+ 401: {
946
+ headers: {
947
+ [name: string]: unknown;
948
+ };
949
+ content: {
950
+ "application/json": components["schemas"]["NodeError"];
951
+ };
952
+ };
953
+ };
954
+ };
955
+ setJobDefinition: {
956
+ parameters: {
957
+ query?: never;
958
+ header?: never;
959
+ path: {
960
+ /** @description The job's address. */
961
+ job: components["schemas"]["Address"];
962
+ };
963
+ cookie?: never;
964
+ };
965
+ requestBody: {
966
+ content: {
967
+ "application/json": components["schemas"]["JobDefinition"];
968
+ };
969
+ };
970
+ responses: {
971
+ /** @description Acknowledged. */
972
+ 200: {
973
+ headers: {
974
+ [name: string]: unknown;
975
+ };
976
+ content: {
977
+ "text/plain": string;
978
+ };
979
+ };
980
+ /** @description No running job with that address, or the id is not part of it. */
981
+ 400: {
982
+ headers: {
983
+ [name: string]: unknown;
984
+ };
985
+ content: {
986
+ "application/json": components["schemas"]["NodeError"];
987
+ };
988
+ };
989
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
990
+ 401: {
991
+ headers: {
992
+ [name: string]: unknown;
993
+ };
994
+ content: {
995
+ "application/json": components["schemas"]["NodeError"];
996
+ };
997
+ };
998
+ };
999
+ };
1000
+ getJobResults: {
1001
+ parameters: {
1002
+ query?: never;
1003
+ header?: never;
1004
+ path: {
1005
+ /** @description The job's address. */
1006
+ job: components["schemas"]["Address"];
1007
+ };
1008
+ cookie?: never;
1009
+ };
1010
+ requestBody?: never;
1011
+ responses: {
1012
+ /** @description The flow state. */
1013
+ 200: {
1014
+ headers: {
1015
+ [name: string]: unknown;
1016
+ };
1017
+ content: {
1018
+ "application/json": components["schemas"]["FlowState"];
1019
+ };
1020
+ };
1021
+ /** @description No running job with that address, or the id is not part of it. */
1022
+ 400: {
1023
+ headers: {
1024
+ [name: string]: unknown;
1025
+ };
1026
+ content: {
1027
+ "application/json": components["schemas"]["NodeError"];
1028
+ };
1029
+ };
1030
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1031
+ 401: {
1032
+ headers: {
1033
+ [name: string]: unknown;
1034
+ };
1035
+ content: {
1036
+ "application/json": components["schemas"]["NodeError"];
1037
+ };
1038
+ };
1039
+ };
1040
+ };
1041
+ getJobOperations: {
1042
+ parameters: {
1043
+ query?: never;
1044
+ header?: never;
1045
+ path: {
1046
+ /** @description The job's address. */
1047
+ job: components["schemas"]["Address"];
1048
+ };
1049
+ cookie?: never;
1050
+ };
1051
+ requestBody?: never;
1052
+ responses: {
1053
+ /** @description Statuses by operation id. */
1054
+ 200: {
1055
+ headers: {
1056
+ [name: string]: unknown;
1057
+ };
1058
+ content: {
1059
+ "application/json": components["schemas"]["OperationStatuses"];
1060
+ };
1061
+ };
1062
+ /** @description No running job with that address, or the id is not part of it. */
1063
+ 400: {
1064
+ headers: {
1065
+ [name: string]: unknown;
1066
+ };
1067
+ content: {
1068
+ "application/json": components["schemas"]["NodeError"];
1069
+ };
1070
+ };
1071
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1072
+ 401: {
1073
+ headers: {
1074
+ [name: string]: unknown;
1075
+ };
1076
+ content: {
1077
+ "application/json": components["schemas"]["NodeError"];
1078
+ };
1079
+ };
1080
+ };
1081
+ };
1082
+ getJobOperation: {
1083
+ parameters: {
1084
+ query?: never;
1085
+ header?: never;
1086
+ path: {
1087
+ /** @description The job's address. */
1088
+ job: components["schemas"]["Address"];
1089
+ /** @description An operation id within the job definition. */
1090
+ op: string;
1091
+ };
1092
+ cookie?: never;
1093
+ };
1094
+ requestBody?: never;
1095
+ responses: {
1096
+ /** @description The operation's status. */
1097
+ 200: {
1098
+ headers: {
1099
+ [name: string]: unknown;
1100
+ };
1101
+ content: {
1102
+ "application/json": string;
1103
+ };
1104
+ };
1105
+ /** @description No running job with that address, or the id is not part of it. */
1106
+ 400: {
1107
+ headers: {
1108
+ [name: string]: unknown;
1109
+ };
1110
+ content: {
1111
+ "application/json": components["schemas"]["NodeError"];
1112
+ };
1113
+ };
1114
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1115
+ 401: {
1116
+ headers: {
1117
+ [name: string]: unknown;
1118
+ };
1119
+ content: {
1120
+ "application/json": components["schemas"]["NodeError"];
1121
+ };
1122
+ };
1123
+ /** @description No running job with that address, or the id is not part of it. */
1124
+ 404: {
1125
+ headers: {
1126
+ [name: string]: unknown;
1127
+ };
1128
+ content: {
1129
+ "application/json": components["schemas"]["NodeError"];
1130
+ };
1131
+ };
1132
+ };
1133
+ };
1134
+ getJobCurrentGroup: {
1135
+ parameters: {
1136
+ query?: never;
1137
+ header?: never;
1138
+ path: {
1139
+ /** @description The job's address. */
1140
+ job: components["schemas"]["Address"];
1141
+ };
1142
+ cookie?: never;
1143
+ };
1144
+ requestBody?: never;
1145
+ responses: {
1146
+ /** @description Statuses by operation id. */
1147
+ 200: {
1148
+ headers: {
1149
+ [name: string]: unknown;
1150
+ };
1151
+ content: {
1152
+ "application/json": components["schemas"]["OperationStatuses"];
1153
+ };
1154
+ };
1155
+ /** @description No running job with that address, or the id is not part of it. */
1156
+ 400: {
1157
+ headers: {
1158
+ [name: string]: unknown;
1159
+ };
1160
+ content: {
1161
+ "application/json": components["schemas"]["NodeError"];
1162
+ };
1163
+ };
1164
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1165
+ 401: {
1166
+ headers: {
1167
+ [name: string]: unknown;
1168
+ };
1169
+ content: {
1170
+ "application/json": components["schemas"]["NodeError"];
1171
+ };
1172
+ };
1173
+ };
1174
+ };
1175
+ getJobGroup: {
1176
+ parameters: {
1177
+ query?: never;
1178
+ header?: never;
1179
+ path: {
1180
+ /** @description The job's address. */
1181
+ job: components["schemas"]["Address"];
1182
+ /** @description A group of the job definition. */
1183
+ group: string;
1184
+ };
1185
+ cookie?: never;
1186
+ };
1187
+ requestBody?: never;
1188
+ responses: {
1189
+ /** @description Statuses by operation id. */
1190
+ 200: {
1191
+ headers: {
1192
+ [name: string]: unknown;
1193
+ };
1194
+ content: {
1195
+ "application/json": components["schemas"]["OperationStatuses"];
1196
+ };
1197
+ };
1198
+ /** @description No running job with that address, or the id is not part of it. */
1199
+ 400: {
1200
+ headers: {
1201
+ [name: string]: unknown;
1202
+ };
1203
+ content: {
1204
+ "application/json": components["schemas"]["NodeError"];
1205
+ };
1206
+ };
1207
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1208
+ 401: {
1209
+ headers: {
1210
+ [name: string]: unknown;
1211
+ };
1212
+ content: {
1213
+ "application/json": components["schemas"]["NodeError"];
1214
+ };
1215
+ };
1216
+ /** @description No running job with that address, or the id is not part of it. */
1217
+ 404: {
1218
+ headers: {
1219
+ [name: string]: unknown;
1220
+ };
1221
+ content: {
1222
+ "application/json": components["schemas"]["NodeError"];
1223
+ };
1224
+ };
1225
+ };
1226
+ };
1227
+ restartJobGroup: {
1228
+ parameters: {
1229
+ query?: never;
1230
+ header?: never;
1231
+ path: {
1232
+ /** @description The job's address. */
1233
+ job: components["schemas"]["Address"];
1234
+ /** @description A group of the job definition. */
1235
+ group: string;
1236
+ };
1237
+ cookie?: never;
1238
+ };
1239
+ requestBody?: never;
1240
+ responses: {
1241
+ /** @description Restart initiated. */
1242
+ 202: {
1243
+ headers: {
1244
+ [name: string]: unknown;
1245
+ };
1246
+ content: {
1247
+ "application/json": components["schemas"]["ActionResult"];
1248
+ };
1249
+ };
1250
+ /** @description No running job with that address, or the id is not part of it. */
1251
+ 400: {
1252
+ headers: {
1253
+ [name: string]: unknown;
1254
+ };
1255
+ content: {
1256
+ "application/json": components["schemas"]["NodeError"];
1257
+ };
1258
+ };
1259
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1260
+ 401: {
1261
+ headers: {
1262
+ [name: string]: unknown;
1263
+ };
1264
+ content: {
1265
+ "application/json": components["schemas"]["NodeError"];
1266
+ };
1267
+ };
1268
+ /** @description The restart failed. */
1269
+ 500: {
1270
+ headers: {
1271
+ [name: string]: unknown;
1272
+ };
1273
+ content: {
1274
+ "application/json": components["schemas"]["NodeError"];
1275
+ };
1276
+ };
1277
+ };
1278
+ };
1279
+ stopJobGroup: {
1280
+ parameters: {
1281
+ query?: never;
1282
+ header?: never;
1283
+ path: {
1284
+ /** @description The job's address. */
1285
+ job: components["schemas"]["Address"];
1286
+ /** @description A group of the job definition. */
1287
+ group: string;
1288
+ };
1289
+ cookie?: never;
1290
+ };
1291
+ requestBody?: never;
1292
+ responses: {
1293
+ /** @description Stopped. */
1294
+ 200: {
1295
+ headers: {
1296
+ [name: string]: unknown;
1297
+ };
1298
+ content: {
1299
+ "application/json": components["schemas"]["ActionResult"];
1300
+ };
1301
+ };
1302
+ /** @description No running job with that address, or the id is not part of it. */
1303
+ 400: {
1304
+ headers: {
1305
+ [name: string]: unknown;
1306
+ };
1307
+ content: {
1308
+ "application/json": components["schemas"]["NodeError"];
1309
+ };
1310
+ };
1311
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1312
+ 401: {
1313
+ headers: {
1314
+ [name: string]: unknown;
1315
+ };
1316
+ content: {
1317
+ "application/json": components["schemas"]["NodeError"];
1318
+ };
1319
+ };
1320
+ /** @description The stop failed. */
1321
+ 500: {
1322
+ headers: {
1323
+ [name: string]: unknown;
1324
+ };
1325
+ content: {
1326
+ "application/json": components["schemas"]["NodeError"];
1327
+ };
1328
+ };
1329
+ };
1330
+ };
1331
+ restartJobOperation: {
1332
+ parameters: {
1333
+ query?: never;
1334
+ header?: never;
1335
+ path: {
1336
+ /** @description The job's address. */
1337
+ job: components["schemas"]["Address"];
1338
+ /** @description A group of the job definition. */
1339
+ group: string;
1340
+ /** @description An operation id within the job definition. */
1341
+ op: string;
1342
+ };
1343
+ cookie?: never;
1344
+ };
1345
+ requestBody?: never;
1346
+ responses: {
1347
+ /** @description Restart initiated. */
1348
+ 202: {
1349
+ headers: {
1350
+ [name: string]: unknown;
1351
+ };
1352
+ content: {
1353
+ "application/json": components["schemas"]["ActionResult"];
1354
+ };
1355
+ };
1356
+ /** @description No running job with that address, or the id is not part of it. */
1357
+ 400: {
1358
+ headers: {
1359
+ [name: string]: unknown;
1360
+ };
1361
+ content: {
1362
+ "application/json": components["schemas"]["NodeError"];
1363
+ };
1364
+ };
1365
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1366
+ 401: {
1367
+ headers: {
1368
+ [name: string]: unknown;
1369
+ };
1370
+ content: {
1371
+ "application/json": components["schemas"]["NodeError"];
1372
+ };
1373
+ };
1374
+ /** @description The restart failed. */
1375
+ 500: {
1376
+ headers: {
1377
+ [name: string]: unknown;
1378
+ };
1379
+ content: {
1380
+ "application/json": components["schemas"]["NodeError"];
1381
+ };
1382
+ };
1383
+ };
1384
+ };
1385
+ stopJobOperation: {
1386
+ parameters: {
1387
+ query?: never;
1388
+ header?: never;
1389
+ path: {
1390
+ /** @description The job's address. */
1391
+ job: components["schemas"]["Address"];
1392
+ /** @description A group of the job definition. */
1393
+ group: string;
1394
+ /** @description An operation id within the job definition. */
1395
+ op: string;
1396
+ };
1397
+ cookie?: never;
1398
+ };
1399
+ requestBody?: never;
1400
+ responses: {
1401
+ /** @description Stopped. */
1402
+ 200: {
1403
+ headers: {
1404
+ [name: string]: unknown;
1405
+ };
1406
+ content: {
1407
+ "application/json": components["schemas"]["ActionResult"];
1408
+ };
1409
+ };
1410
+ /** @description No running job with that address, or the id is not part of it. */
1411
+ 400: {
1412
+ headers: {
1413
+ [name: string]: unknown;
1414
+ };
1415
+ content: {
1416
+ "application/json": components["schemas"]["NodeError"];
1417
+ };
1418
+ };
1419
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1420
+ 401: {
1421
+ headers: {
1422
+ [name: string]: unknown;
1423
+ };
1424
+ content: {
1425
+ "application/json": components["schemas"]["NodeError"];
1426
+ };
1427
+ };
1428
+ /** @description The stop failed. */
1429
+ 500: {
1430
+ headers: {
1431
+ [name: string]: unknown;
1432
+ };
1433
+ content: {
1434
+ "application/json": components["schemas"]["NodeError"];
1435
+ };
1436
+ };
1437
+ };
1438
+ };
1439
+ getJobEndpoints: {
1440
+ parameters: {
1441
+ query?: never;
1442
+ header?: never;
1443
+ path: {
1444
+ /** @description The job's address. */
1445
+ job: components["schemas"]["Address"];
1446
+ };
1447
+ cookie?: never;
1448
+ };
1449
+ requestBody?: never;
1450
+ responses: {
1451
+ /** @description Endpoints and their status. */
1452
+ 200: {
1453
+ headers: {
1454
+ [name: string]: unknown;
1455
+ };
1456
+ content: {
1457
+ "application/json": components["schemas"]["JobEndpoints"];
1458
+ };
1459
+ };
1460
+ /** @description The job exposes no endpoint. */
1461
+ 400: {
1462
+ headers: {
1463
+ [name: string]: unknown;
1464
+ };
1465
+ content: {
1466
+ "application/json": components["schemas"]["NodeError"];
1467
+ };
1468
+ };
1469
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1470
+ 401: {
1471
+ headers: {
1472
+ [name: string]: unknown;
1473
+ };
1474
+ content: {
1475
+ "application/json": components["schemas"]["NodeError"];
1476
+ };
1477
+ };
1478
+ /** @description The node could not read the endpoints. */
1479
+ 500: {
1480
+ headers: {
1481
+ [name: string]: unknown;
1482
+ };
1483
+ content: {
1484
+ "application/json": components["schemas"]["NodeError"];
1485
+ };
1486
+ };
1487
+ };
1488
+ };
1489
+ getJobStats: {
1490
+ parameters: {
1491
+ query?: {
1492
+ /** @description Seconds between samples. */
1493
+ interval?: number;
1494
+ /** @description Start of the window, Unix milliseconds. */
1495
+ start?: number;
1496
+ /** @description End of the window, Unix milliseconds. */
1497
+ end?: number;
1498
+ };
1499
+ header?: never;
1500
+ path: {
1501
+ /** @description The job's address. */
1502
+ job: components["schemas"]["Address"];
1503
+ };
1504
+ cookie?: never;
1505
+ };
1506
+ requestBody?: never;
1507
+ responses: {
1508
+ /** @description Samples, oldest first. */
1509
+ 200: {
1510
+ headers: {
1511
+ [name: string]: unknown;
1512
+ };
1513
+ content: {
1514
+ "application/json": components["schemas"]["TaskStat"][];
1515
+ };
1516
+ };
1517
+ /** @description `start` and `end` must be timestamps in milliseconds. */
1518
+ 400: {
1519
+ headers: {
1520
+ [name: string]: unknown;
1521
+ };
1522
+ content: {
1523
+ "application/json": components["schemas"]["NodeError"];
1524
+ };
1525
+ };
1526
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1527
+ 401: {
1528
+ headers: {
1529
+ [name: string]: unknown;
1530
+ };
1531
+ content: {
1532
+ "application/json": components["schemas"]["NodeError"];
1533
+ };
1534
+ };
1535
+ /** @description No running job with that address, or the id is not part of it. */
1536
+ 404: {
1537
+ headers: {
1538
+ [name: string]: unknown;
1539
+ };
1540
+ content: {
1541
+ "application/json": components["schemas"]["NodeError"];
1542
+ };
1543
+ };
1544
+ };
1545
+ };
1546
+ streamJobStats: {
1547
+ parameters: {
1548
+ query?: {
1549
+ /** @description Seconds between samples. */
1550
+ interval?: number;
1551
+ };
1552
+ header?: never;
1553
+ path: {
1554
+ /** @description The job's address. */
1555
+ job: components["schemas"]["Address"];
1556
+ };
1557
+ cookie?: never;
1558
+ };
1559
+ requestBody?: never;
1560
+ responses: {
1561
+ /** @description A stream of `TaskStat[]` frames as unnamed `message` events. */
1562
+ 200: {
1563
+ headers: {
1564
+ [name: string]: unknown;
1565
+ };
1566
+ content: {
1567
+ "text/event-stream": string;
1568
+ };
1569
+ };
1570
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1571
+ 401: {
1572
+ headers: {
1573
+ [name: string]: unknown;
1574
+ };
1575
+ content: {
1576
+ "application/json": components["schemas"]["NodeError"];
1577
+ };
1578
+ };
1579
+ /** @description No running job with that address, or the id is not part of it. */
1580
+ 404: {
1581
+ headers: {
1582
+ [name: string]: unknown;
1583
+ };
1584
+ content: {
1585
+ "application/json": components["schemas"]["NodeError"];
1586
+ };
1587
+ };
1588
+ };
1589
+ };
1590
+ stopJob: {
1591
+ parameters: {
1592
+ query?: never;
1593
+ header?: never;
1594
+ path: {
1595
+ /** @description The job's address. */
1596
+ job: components["schemas"]["Address"];
1597
+ };
1598
+ cookie?: never;
1599
+ };
1600
+ requestBody?: never;
1601
+ responses: {
1602
+ /** @description Stopped. */
1603
+ 200: {
1604
+ headers: {
1605
+ [name: string]: unknown;
1606
+ };
1607
+ content: {
1608
+ "text/plain": string;
1609
+ };
1610
+ };
1611
+ /** @description No running job with that address, or the id is not part of it. */
1612
+ 400: {
1613
+ headers: {
1614
+ [name: string]: unknown;
1615
+ };
1616
+ content: {
1617
+ "application/json": components["schemas"]["NodeError"];
1618
+ };
1619
+ };
1620
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1621
+ 401: {
1622
+ headers: {
1623
+ [name: string]: unknown;
1624
+ };
1625
+ content: {
1626
+ "application/json": components["schemas"]["NodeError"];
1627
+ };
1628
+ };
1629
+ /** @description The stop failed. */
1630
+ 500: {
1631
+ headers: {
1632
+ [name: string]: unknown;
1633
+ };
1634
+ content: {
1635
+ "application/json": components["schemas"]["NodeError"];
1636
+ };
1637
+ };
1638
+ };
1639
+ };
1640
+ authorizeJobSshKey: {
1641
+ parameters: {
1642
+ query?: never;
1643
+ header?: never;
1644
+ path: {
1645
+ /** @description The job's address. */
1646
+ job: components["schemas"]["Address"];
1647
+ };
1648
+ cookie?: never;
1649
+ };
1650
+ requestBody: {
1651
+ content: {
1652
+ "application/json": components["schemas"]["SshAuthorizationRequest"];
1653
+ };
1654
+ };
1655
+ responses: {
1656
+ /** @description The key is authorized. */
1657
+ 201: {
1658
+ headers: {
1659
+ [name: string]: unknown;
1660
+ };
1661
+ content: {
1662
+ "application/json": components["schemas"]["SshAuthorization"];
1663
+ };
1664
+ };
1665
+ /** @description The key is not a valid OpenSSH public key, or the expiry is invalid. */
1666
+ 400: {
1667
+ headers: {
1668
+ [name: string]: unknown;
1669
+ };
1670
+ content: {
1671
+ "application/json": components["schemas"]["NodeError"];
1672
+ };
1673
+ };
1674
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1675
+ 401: {
1676
+ headers: {
1677
+ [name: string]: unknown;
1678
+ };
1679
+ content: {
1680
+ "application/json": components["schemas"]["NodeError"];
1681
+ };
1682
+ };
1683
+ /** @description No active job with SSH access. */
1684
+ 404: {
1685
+ headers: {
1686
+ [name: string]: unknown;
1687
+ };
1688
+ content: {
1689
+ "application/json": components["schemas"]["NodeError"];
1690
+ };
1691
+ };
1692
+ /** @description The node could not apply the change. */
1693
+ 502: {
1694
+ headers: {
1695
+ [name: string]: unknown;
1696
+ };
1697
+ content: {
1698
+ "application/json": components["schemas"]["NodeError"];
1699
+ };
1700
+ };
1701
+ /** @description The SSH provider is not available. */
1702
+ 503: {
1703
+ headers: {
1704
+ [name: string]: unknown;
1705
+ };
1706
+ content: {
1707
+ "application/json": components["schemas"]["NodeError"];
1708
+ };
1709
+ };
1710
+ };
1711
+ };
1712
+ getJobSshKeys: {
1713
+ parameters: {
1714
+ query?: never;
1715
+ header?: never;
1716
+ path: {
1717
+ /** @description The job's address. */
1718
+ job: components["schemas"]["Address"];
1719
+ };
1720
+ cookie?: never;
1721
+ };
1722
+ requestBody?: never;
1723
+ responses: {
1724
+ /** @description The job's keys. */
1725
+ 200: {
1726
+ headers: {
1727
+ [name: string]: unknown;
1728
+ };
1729
+ content: {
1730
+ "application/json": components["schemas"]["SshKeys"];
1731
+ };
1732
+ };
1733
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1734
+ 401: {
1735
+ headers: {
1736
+ [name: string]: unknown;
1737
+ };
1738
+ content: {
1739
+ "application/json": components["schemas"]["NodeError"];
1740
+ };
1741
+ };
1742
+ /** @description No active job with SSH access. */
1743
+ 404: {
1744
+ headers: {
1745
+ [name: string]: unknown;
1746
+ };
1747
+ content: {
1748
+ "application/json": components["schemas"]["NodeError"];
1749
+ };
1750
+ };
1751
+ /** @description The node could not read its keys. */
1752
+ 502: {
1753
+ headers: {
1754
+ [name: string]: unknown;
1755
+ };
1756
+ content: {
1757
+ "application/json": components["schemas"]["NodeError"];
1758
+ };
1759
+ };
1760
+ };
1761
+ };
1762
+ revokeJobSshKey: {
1763
+ parameters: {
1764
+ query?: never;
1765
+ header?: never;
1766
+ path: {
1767
+ /** @description The job's address. */
1768
+ job: components["schemas"]["Address"];
1769
+ };
1770
+ cookie?: never;
1771
+ };
1772
+ requestBody: {
1773
+ content: {
1774
+ "application/json": components["schemas"]["SshRevocationRequest"];
1775
+ };
1776
+ };
1777
+ responses: {
1778
+ /** @description The key is revoked. */
1779
+ 200: {
1780
+ headers: {
1781
+ [name: string]: unknown;
1782
+ };
1783
+ content: {
1784
+ "application/json": components["schemas"]["SshRevocation"];
1785
+ };
1786
+ };
1787
+ /** @description The key is not a valid OpenSSH public key. */
1788
+ 400: {
1789
+ headers: {
1790
+ [name: string]: unknown;
1791
+ };
1792
+ content: {
1793
+ "application/json": components["schemas"]["NodeError"];
1794
+ };
1795
+ };
1796
+ /** @description The authorization header is missing, invalid, or not signed by the job's owner. */
1797
+ 401: {
1798
+ headers: {
1799
+ [name: string]: unknown;
1800
+ };
1801
+ content: {
1802
+ "application/json": components["schemas"]["NodeError"];
1803
+ };
1804
+ };
1805
+ /** @description No active job with SSH access. */
1806
+ 404: {
1807
+ headers: {
1808
+ [name: string]: unknown;
1809
+ };
1810
+ content: {
1811
+ "application/json": components["schemas"]["NodeError"];
1812
+ };
1813
+ };
1814
+ /** @description The node could not apply the change. */
1815
+ 502: {
1816
+ headers: {
1817
+ [name: string]: unknown;
1818
+ };
1819
+ content: {
1820
+ "application/json": components["schemas"]["NodeError"];
1821
+ };
1822
+ };
1823
+ };
1824
+ };
1825
+ }
1826
+ //# sourceMappingURL=node.d.ts.map